Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何将特定于职位的得分矩阵biopython对象写入文件?_Python 2.7_Biopython - Fatal编程技术网

Python 2.7 如何将特定于职位的得分矩阵biopython对象写入文件?

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

我使用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_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
不适用于此对象。我收到错误消息“需要一个字符缓冲区对象”。