从蛋白质数据库中提取多个蛋白质序列以及二级结构

时间:2017-04-03 14:04:19

标签: bioinformatics biopython protein-database

我想从任何蛋白质数据库中提取蛋白质序列及其相应的二级结构,比如RCSB。我只需要短序列及其二级结构。像,

ATRWGUVT     Helix

即使序列很长也很好,但我想在末尾标记一个表示其二级结构的标签。是否有任何编程工具或任何可用的东西。

正如我上面所示,我只想要这么少的信息。我怎样才能做到这一点?

2 个答案:

答案 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

这应该打印序列和二级结构。