def export_diversity(self, fname = 'entropy.json', indent=None):
'''
write the alignment entropy of each alignment (nucleotide and translations) to file
'''
if not hasattr(self, "entropy"):
self.diversity_statistics()
entropy_json = {}
for feat in self.entropy:
S = [max(0,round(x,4)) for x in self.entropy[feat]]
n = len(S)
if feat=='nuc':
entropy_json[feat] = {'pos':range(0,n), 'codon':[x//3 for x in range(0,n)], 'val':S}
else:
entropy_json[feat] = {'pos':[x for x in self.proteins[feat]][::3],
'codon':[(x-self.proteins[feat].start)//3 for x in self.proteins[feat]][::3], 'val':S}
write_json(entropy_json, fname, indent=indent)
评论列表
文章目录