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