Python 2.7 如何将特定于职位的得分矩阵biopython对象写入文件?
我使用biopython根据核苷酸比对计算位置特异性得分矩阵(PSSM)。 因此,我的script.py是:Python 2.7 如何将特定于职位的得分矩阵biopython对象写入文件?,python-2.7,biopython,Python 2.7,Biopython,我使用biopython根据核苷酸比对计算位置特异性得分矩阵(PSSM)。 因此,我的script.py是: from Bio import AlignIO from Bio.Align import AlignInfo alignment = AlignIO.read("alignment_1.fasta", "fasta") summary_align = AlignInfo.SummaryInfo(alignment) consensus = summary_align.dumb_con
from Bio import AlignIO
from Bio.Align import AlignInfo
alignment = AlignIO.read("alignment_1.fasta", "fasta")
summary_align = AlignInfo.SummaryInfo(alignment)
consensus = summary_align.dumb_consensus()
my_pssm = summary_align.pos_specific_score_matrix(consensus, chars_to_ignore = ['N', '-'])
我想知道是否可以将我的_pssm对象写入脚本中的文件?我在文档中没有找到任何解决方案。现在我只能做:
python script.py > text.txt
但是它不适合我(我想将其用作批处理脚本)。您可以在脚本末尾添加
打印我的pssm
,然后按照您的意愿执行python script.py>text.txt
对于不同的序列,可以执行以下操作:
for fasta in files:
alignment = AlignIO.read(fasta, "fasta")
summary_align = AlignInfo.SummaryInfo(alignment)
consensus = summary_align.dumb_consensus()
my_pssm = summary_align.pos_specific_score_matrix(consensus, chars_to_ignore = ['N', '-'])
file_pssm = fasta+"pssm"
with open(file_pssm) as f:
f.write(my_pssm)
谢谢,我忘了在我的代码中添加这个字符串。但我的问题是关于另一件事。让我们想象一下,我有1000个不同的fasta文件,对于每个文件,我会计算PSSM并将其放在单独的文件中。因此,我的问题是如何在每次循环迭代时将我的\u pssm对象保存到一个单独的文件中(我将使用
for
操作符查看我的fasta文件列表)。您将在循环中计算pssm,不是吗?然后每次使用不同的时间将PSSM保存在文件中。我对答案进行了更新,使其包含很多有用的更新。当然可以。但不幸的是,方法write
不适用于此对象。我收到错误消息“需要一个字符缓冲区对象”。