处理contig合并后有序列名相同的问题
做混样binning的时候遇到这个问题,即不同样本中会有一样的contig命:
Exception occured when parsing file temp/contig/all_contigs.fa
Traceback (most recent call last):
File "/home/changyixiao/soft/vamb-master/src/concatenate.py", line 59, in
vamb.vambtools.concatenate_fasta(
File "/home/changyixiao/soft/vamb-master/vamb/vambtools.py", line 588, in concatenate_fasta
raise e from None
File "/home/changyixiao/soft/vamb-master/vamb/vambtools.py", line 580, in concatenate_fasta
raise ValueError(
ValueError: Multiple sequences would be given identifier "S1Ck141_461543".
把第二个修改成_2
(base) [user@loginnode01 0724]$ grep -n 'k141_461543' temp/contig/all.fa
268817:>k141_461543 flag=1 multi=3.0000 len=2086
1614507:>k141_461543 flag=1 multi=8.0000 len=22393
(base) [user@loginnode01 0724]$ cp temp/contig/all.fa temp/all.backup.fa
(base) [user@loginnode01 0724]$ sed '1614507s/k141_461543/k141_461543_2/' -i t
emp/contig/all.fa(base) [changyixiao@loginnode01 zd0724]$ grep -n 'S1Ck141_461543' temp/contig/all.fa
(base) [user@loginnode01 0724]$ grep -n 'k141_461543' temp/contig/all.fa
268817:>k141_461543 flag=1 multi=3.0000 len=2086
1614507:>k141_461543_2 flag=1 multi=8.0000 len=22393
这样一个一个改肯定是不明智的
所以用这个命令改序列名
awk '/^>/ {print ">" ++i; next} {print}' temp/contig/all.fa > temp/contig/all2.fa
改完之后这个all.fa文件就变成了这样

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
