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