首页 > 解决方案 > 如何修改我的代码以便将我从 Python 终端上的代码执行的输出提取到 fasta 文件?

问题描述

我被困在这部分。我已经生成了一个代码来使用 Biopython 制作我想要的序列。这些是我下面的代码。如何修改此代码以便将其保存为我当前工作目录中的快速文件。

for record in SeqIO.parse("4N8C.pdb", "pdb-seqres"):
    print('>'+s+'_chain_'+record.annotations['chain']+'\n'+record.seq)

    >my_protein_chain_H
    QVQLQQSGPEVVRPGVSVRISCKGSGYTFTDYAMHWVKQSHAKSLDWIGVIGTDNGNTNYNQKFKGKATMTVDKSSNTAYMELGRLTSEDSAIYYCARRDRDDVWFAYWGQGTLVTVSAAKTTAPSVYPLAPVCGDTTGSSVTLGCLVKGYFPEPVTLTWNSGSLSSGVHTFPAVLQSDLYTLSSSVTVTSSTWPSQSITCNVAHPASSTKVDKKIEPRGP
    >my_protein_chain_I
    QVQLQQSGPEVVRPGVSVRISCKGSGYTFTDYAMHWVKQSHAKSLDWIGVIGTDNGNTNYNQKFKGKATMTVDKSSNTAYMELGRLTSEDSAIYYCARRDRDDVWFAYWGQGTLVTVSAAKTTAPSVYPLAPVCGDTTGSSVTLGCLVKGYFPEPVTLTWNSGSLSSGVHTFPAVLQSDLYTLSSSVTVTSSTWPSQSITCNVAHPASSTKVDKKIEPRGP
    >my_protein_chain_L
    DIVMSQSPSSLAVSVGEKVSMSCKSSQSLFYSSYQKDLLAWYQQKPGQSPKLLIYWASTRESGVPDRFTGSGSGTDFTLTISSVKAEDLAVYFCQQYYTYPLTFGAGTKLELKRADAAPTVSIFPPSSEQLTSGGASVVCFLNNFYPKDINVKWKIDGSERQNGVLNSWTDQDSKDSTYSMSSTLTLTKDEYERHNSYTCEATHKTSTSPIVKSFNRNEC
    >my_protein_chain_M
    DIVMSQSPSSLAVSVGEKVSMSCKSSQSLFYSSYQKDLLAWYQQKPGQSPKLLIYWASTRESGVPDRFTGSGSGTDFTLTISSVKAEDLAVYFCQQYYTYPLTFGAGTKLELKRADAAPTVSIFPPSSEQLTSGGASVVCFLNNFYPKDINVKWKIDGSERQNGVLNSWTDQDSKDSTYSMSSTLTLTKDEYERHNSYTCEATHKTSTSPIVKSFNRNEC
    >my_protein_chain_X
    MSLLTEVETPIRNEWGCRCNDSS
    >my_protein_chain_Y
    MSLLTEVETPIRNEWGCRCNDSS

标签: pythoncommand-lineterminalbiopythonpdb-files

解决方案


单个fasta文件:


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 31 11:11:53 2020

@author: Pietro
"""


from Bio import SeqIO


from Bio.PDB import PDBParser


pdb_file = "4N8C.pdb"

pdb = pdb_file.split('.')[0]

parser = PDBParser()


with open(pdb_file+'_fasta', "w+") as write_fasta:
    for record in SeqIO.PdbIO.AtomIterator(pdb, parser.get_structure(pdb ,pdb_file)):
        SeqIO.write(record , write_fasta , "fasta")


推荐阅读