用awk和sed快速将fasta格式的序列改成一行显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用awk和sed快速将fasta格式的序列改成一行显示相关的知识,希望对你有一定的参考价值。
参考技术A `> sq1
foofoofoobar
foofoofoo
For awk:
awk \'/^>/&&NR>1print ""; printf "%s",/^>/ ? $0" ":$0 \' YourFile
For sed:
sed -n \'1x;d;x;$H;x;s/\\n/ /1;s/\\n//g;p;b;/^>/x;s/\\n/ /1;s/\\n//g;p;b;H\' YourFile
Today, I want to extract contig which is more 500bp from my aseembly result, So I do that as following:
sed -n \'1x;d;x;$H;x;s/\\n/ /1;s/\\n//g;p;b;/^>/x;s/\\n/ /1;s/\\n//g;p;b;H\' |awk \'if (length($5)>500 ) print ">contig-"FNR"\\n"$5\'
fasta文件拆分与合并
Linux中fasta文件的拆分与合并
FASTA文件的拆分:
(1)如果从一个文件a提取第11至20个序列存到另一个文件b:
awk -v RS=‘>‘ ‘NR>1{i++}i>=10&&i<=21{print ">"$0}‘ a.fasta|sed ‘/^$/d‘>b.fasta
(2)将某一文件a中每一条序列保存到一个文件中:
awk ‘/^>/{f=++d".fasta"} {print > f}‘ input.fasta
FASTA文件合并:
cat *.fasta > output.fasta
cat `ls -tr *.fasta` > output.fasta #按时间反序的顺序合并文件
- 转载自:http://www.yelinsky.com/blog/archives/380.html
以上是关于用awk和sed快速将fasta格式的序列改成一行显示的主要内容,如果未能解决你的问题,请参考以下文章