【发布时间】:2015-01-08 20:18:17
【问题描述】:
我正在读取格式如下的 FASTA 文件:
>gi|31563518|ref|NP_852610.1|微管相关蛋白 1A/1B 轻链 3A 异构体 b [智人] MKMRFFSSPCGKAAVDPADRCKEVQQIRDQHPSKIPVIIERYKGEKQLPVLDKTKFLVPDHVNMSELVKIIRRRLQLNPTQAFFLLVNQHSMVSVSTPIADIYEQEKDEDGFLYMVYASQETFGF我必须读取文件,然后计算 JC 距离(对于一对序列,JC 距离为 -3/4 * ln(1 - 4/3 * p),其中 p 是这对之间的差异)
我已经建立了它的骨架,但不确定如何做剩下的。在读取和计算 JukesCantor 距离后,我必须将它写入一个新的输出文件,它应该在一个表中 非常感谢我能得到的任何帮助!谢谢,python 和 fasta 文件的新手
def readData():
filename = input("Enter the name of the FASTA file: ")
infile = open(filename, "r")
def CalculateJC(x,y):
if x == y:
return 0
else:
return 1 # temporary*
def calcDists(seqs):
output = []
for seq1 in seqs:
newrow = []
for seq2 in seqs:
dist = calculateJS(seq1,seq2)
newrow.append(dist)
output.append(newrow)
list(enumerate(seasons))
return output
def outputDists(distMat):
pass
def main():
seqs = readData()
distMat = calcDists(seqs)
outputDists(distMat)
if__name__ == "__main__":
main()
【问题讨论】:
-
看看biopython。支持fasta文件的读写。
标签: python bioinformatics fasta