用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格式的序列改成一行显示的主要内容,如果未能解决你的问题,请参考以下文章

fastq格式,如何快速计算fasta, fastq的reads数?

WSL 一行命令 快速合并文件 Fasta Fas合并

fasta文件拆分与合并

三. Fasta文件处理常用命令

sed与awk

sed与awk