格式转换:
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编程也很容易实现,但不如命令行这么直截了当