-1

我正在尝试使用 awk 从 FASTA 文件中提取序列。

例如,文件看起来像这样,它包含 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
4

1 回答 1

3

完成后您需要关闭文件。尝试:

awk '/>/ {close(OUT); OUT=substr($0,2) ".fasta"}; OUT {print > OUT}' file.fasta
于 2013-03-21T18:09:01.713 回答