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

时间:2018-08-01 00:33:51

标签: awk fasta

我有一个简短的核苷酸序列列表,每行一个,我需要将其转换为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   

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

1 个答案:

答案 0 :(得分:0)

请您尝试以下。

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

如果要为FNR使用awk行数变量,那么也可以尝试遵循。

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

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