我正在尝试使用awk从FASTA文件中提取序列。
e.g。该文件看起来像这样,它包含703个序列。我想将每个文件提取为单独的文件。
>sequence_1
AACTTGGCCTT
>sequence_2
AACTTGGCCTT
.
.
.
我正在使用这个awk脚本:
awk '/>/ {OUT=substr($0,2) ".fasta"}; OUT {print >OUT}'file.fasta
...虽然有效,但仅限于16,然后我收到错误说
.fasta makes too many open files
input record number 35, file file.fasta
source line number 1
答案 0 :(得分:3)
完成后您需要关闭文件。尝试:
awk '/>/ {close(OUT); OUT=substr($0,2) ".fasta"}; OUT {print > OUT}' file.fasta