python - 如何修改我的代码以便将我从 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
解决方案
单个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")
推荐阅读
- r - rollapply linear model and store fitted values
- javascript - 即使console.log在进行更改的行之前,对象也会更改
- machine-learning - 使用 SGD 使用 L2 正则化实现 Logistc 回归:不使用 sklearn
- node.js - 我们可以在 npm 脚本中实现占位符并使用 npm 命令替换它吗?
- ios - Swift:删除嵌入在导航控制器中的表格视图控制器页脚下方的空间
- python - 使用 python 断开用户(不和谐机器人)
- python - 为什么 CV2 不读取图像?
- javascript - 使用 **li data-filter** 过滤
- visual-studio-code - 为 2.0.0 编写 VSCode runner v0.1.0
- nagios - Windows 上的 Nagios NRPE - 使用 64 位 NSClient++ 运行 32 位工具