使用 awk 将原始序列转换为 fasta

convert raw sequence to fasta using awk

我有一个短核苷酸序列列表,每行一个,我需要将其转换为 fasta 格式。我正在尝试使用 awk,但到目前为止我的代码只是挂起,使用的是 10 行测试文件。我的输入文件如下所示:

ACGTACGTACGT
CGTACGTACGTA
GTACGTACGTAC
TACGTACGTACG

我的输出应该有每个序列的编号 header 行 - 数字可以只是从 1 开始计数或从输入文件中获取行号(应该相同),序列打开一个新行,像这样:

> seq 1
ACGTACGTACGT
> seq 2
CGTACGTACGTA
> seq 3
GTACGTACGTAC
> seq 4
TACGTACGTACG

我尝试使用 NR 变量进行计数:

awk -F '{echo "> seq ",NR;"\n"; print [=12=]}' in.txt > out.fasta   

欢迎提出任何建议 - 我是新手!

能否请您尝试关注。

awk '{print "> seq " ++count ORS [=10=]}'  Input_file

如果您想对 awk 使用 FNR 行计数变量,那么您也可以尝试以下操作。

awk '{print "> seq " FNR ORS [=11=]}'  Input_file

您也可以通过将 > output_file 附加到上述命令来将上述命令的输出重定向到 output_file。