我想从任何蛋白质数据库中提取蛋白质序列及其相应的二级结构,比如RCSB。我只需要短序列及其二级结构。像,
ATRWGUVT Helix
即使序列很长也很好,但我想在末尾标记一个表示其二级结构的标签。是否有任何编程工具或任何可用的东西。
正如我上面所示,我只想要这么少的信息。我怎样才能做到这一点?
答案 0 :(得分:2)
您可以使用DSSP。
DSSP的输出在“explanation”下广泛解释。输出的简短摘要是:
H = α-helix
B = residue in isolated β-bridge
E = extended strand, participates in β ladder
G = 3-helix (310 helix)
I = 5 helix (π-helix)
T = hydrogen bonded turn
S = bend
答案 1 :(得分:2)
from Bio.PDB import *
from distutils import spawn
提取序列:
def get_seq(pdbfile):
p = PDBParser(PERMISSIVE=0)
structure = p.get_structure('test', pdbfile)
ppb = PPBuilder()
seq = ''
for pp in ppb.build_peptides(structure):
seq += pp.get_sequence()
return seq
使用DSSP提取二级结构,如前所述:
def get_secondary_struc(pdbfile):
# get secondary structure info for whole pdb.
if not spawn.find_executable("dssp"):
sys.stderr.write('dssp executable needs to be in folder')
sys.exit(1)
p = PDBParser(PERMISSIVE=0)
ppb = PPBuilder()
structure = p.get_structure('test', pdbfile)
model = structure[0]
dssp = DSSP(model, pdbfile)
count = 0
sec = ''
for residue in model.get_residues():
count = count + 1
# print residue,count
a_key = list(dssp.keys())[count - 1]
sec += dssp[a_key][2]
print sec
return sec
这应该打印序列和二级结构。