fastq-to-fasta转换及fasta拆分、合并

时间:2022-02-26 09:43:26

格式转换:

use awk :
awk 'BEGIN{P=1}{if(P==1||P==2){gsub(/^[@]/,">");print}; if(P==4)P=0; P++}' input.fastq > output.fasta

FASTA文件拆分:
1. 从a.fasta中提取第10至第20个序列存到b.fasta中

-

awk -v RS='>' 'NR>1{i++}i>=10&&i<=20{print ">"$0}' a.fasta|sed '/^$/d'>b.fasta

上面命令行中的红色的10和20可以换为其它数字

2.将input.fasta中第每一条序列保存到一个文件中, 这个是在网上看到的,链接在这里

awk '/^>/{f=++d".fasta"} {print > f}' input.fasta

FASTA文件合并:

cat *.fasta > output.fasta

awk是Unix/Linux下的一种用于文本处理的编程语言,Sed是Unix/Linux下的一种流编辑器。功能都非常强大。

当然这些操作用Python或Perl编程也很容易实现,但不如命令行这么直截了当