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

使用awk将原始序列转换为fasta,awk,fasta,Awk,Fasta,我有一个短核苷酸序列列表,每行一个,我需要转换成fasta格式。我正在尝试使用awk,但到目前为止,我的代码只是挂起,使用的是一个10行测试文件。我的输入文件如下所示: ACGTACGTACGT CGTACGTACGTA GTACGTACGTAC TACGTACGTACG 对于每个序列,我的输出应该有一个编号的标题行-数字可以从1开始计数,也可以从输入文件中获取行号(应该是相同的),序列位于新行上,如下所示: > seq 1 ACGTACGTACGT > seq 2 CGTACGT

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

ACGTACGTACGT
CGTACGTACGTA
GTACGTACGTAC
TACGTACGTACG
对于每个序列,我的输出应该有一个编号的标题行-数字可以从1开始计数,也可以从输入文件中获取行号(应该是相同的),序列位于新行上,如下所示:

> seq 1
ACGTACGTACGT
> seq 2
CGTACGTACGTA
> seq 3
GTACGTACGTAC
> seq 4
TACGTACGTACG
我尝试使用NR变量进行计数:

awk -F '{echo "> seq ",NR;"\n"; print $0}' in.txt > out.fasta   

欢迎提出任何建议-我对这方面还不熟悉

你能试试下面的吗

awk '{print "> seq " ++count ORS $0}'  Input_file
如果您想为
awk
使用
FNR
行计数变量,那么您也可以尝试以下操作

awk '{print "> seq " FNR ORS $0}'  Input_file

您也可以通过将
>output\u file
附加到上述命令,将上述命令的输出重新定向到输出文件。

太棒了,谢谢。所以新行是默认的记录分隔符,handy@Joanne,
ORS
awk
提供的一个,它的值将是新行,因此,由于我们在这里打印的是在当前行之前的新文本,所以我使用
ORS
打印新行,是默认记录分隔符将仅为
awk
的新行。