在标题下连接序列

在标题下连接序列

我有一个像 File1 这样的文件。例如,标题为“Contig1”,我想连接相应标题下的所有序列。

文件1:

>Contig1
ACCCCATACATCCAAA
NNNNNNNNNNCATACA
AAAAAAAACTANNNNN
ACATACAAAAA
>Contig12
CCCCACAATTTTTAAA
GGGGGNNNNNCATACA
AGGAATTAACTANNAC
GGATATA

预期输出:

>Contig1
ACCCCATACATCCAAANNNNNNNNNNCATACAAAAAAAAACTANNNNNACATACAAAAA
>Contig12
CCCCACAATTTTTAAAGGGGGNNNNNCATACAAGGAATTAACTANNACGGATATA

你能帮我一下吗?干杯!

答案1

另一个 awk:

awk '{$1=RS $1 ORS}NR>1' FS='\n' RS=\> OFS= file

答案2

 perl -pe 'chomp unless /^>/; print "\n" if /^>/ and $. > 1' < File1

您可能需要添加最后的换行符。

答案3

解决方案awk

awk '/^>/{if(FNR>1)printf "\n";print;next};{printf "%s", $0}' file

一个perl解决方案,比如@choroba 的回答,但处理最后的换行符:

perl -pe 'chomp unless /^>/ or eof;print "\n" if /^>/ and $. > 1' file

相关内容