muscle多序列比對簡單應用

沒有深入研究,只想對多序列做個比對,然後分組,具體命令如下:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章