我有一个像 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