沒有深入研究,只想對多序列做個比對,然後分組,具體命令如下:
1、多序列比對(數據量不大,曾經用了一個挺大的,直接吐核,放棄了,網上有說多線程操作,沒有用,照例吐)
muscle -in seqs.fa -out seqs.afa
對於大數據集可以使用(我用了,直接報錯,不知道咋回事,希望能有成功的寶寶)
muscle -in seqs.fa -out seqs.afa -maxiters 2
2、序列轉變爲clustalw格式
muscle -in seq.afa -clw -out seq.clw
因爲clw文件是分段顯示的,我用python做了合併,輸出整體序列比對結果(很不幸,這次比對不太好,我大概要棄了muscle,試下cd-hit,實在不行還得後續想辦法,哭泣。。。)
import json
dict={}
with open('seq.clw','r')as js:
for line in js.readlines():
print(line)
if line.isspace():
continue
else:
s=line.split( )
print(s)
if s[0] in dict.keys():
dict[s[0]]=dict[s[0]]+s[1]
else:
dic={s[0]:s[1]}
dict.update(dic)
js.close()
filew=open('catclw.clw','w')
for key in dict.keys():
filew.write(key+" "+dict[key]+"\n")
filew.close()
3、根據多重比對結果構建UPGMA樹
muscle -maketree -in seqs.afa -out seqs.phy