Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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中轻松地将字符串转换为列表_Python_Biopython - Fatal编程技术网

在python中轻松地将字符串转换为列表

在python中轻松地将字符串转换为列表,python,biopython,Python,Biopython,我有一个pdb文件,我想解析pdb。我也在用Biopython。我想要列表中每个余数的N-CA-C-CB坐标的列表。我怎样才能做到这一点 pdb = "1dly.pdb" name = pdb[:3] from Bio import PDB from ast import literal_eval p = PDB.PDBParser() s = p.get_structure(name, pdb) #print dir(s) #y = s.get_residues() z = s.get_a

我有一个pdb文件,我想解析pdb。我也在用Biopython。我想要列表中每个余数的N-CA-C-CB坐标的列表。我怎样才能做到这一点

pdb = "1dly.pdb"
name = pdb[:3]

from Bio import PDB
from ast import literal_eval

p = PDB.PDBParser()
s = p.get_structure(name, pdb)
#print dir(s)
#y = s.get_residues()
z = s.get_atoms()
for x in z:
    print x, x.get_coord()
我希望以这种格式输出:

[[(coordinates of N - residue1), (coordinates of CA - residue1), (coordinates of C - residue1), (coordinates of CB - residue1)], [(coordinates of N - residue2), (coordinates of CA - residue2), (coordinates of C - residue2), (coordinates of CB - residue2)]]
我该怎么做呢?

这应该可以工作(未测试,因为我没有要测试的pdb文件)。我在这里使用:

# first create a generator that parses your structure, one residue at time

def createDesiredList(structure, desired_atoms):
    residues = structure.get_residues()

    for residue in residues:
        return_list = []
        for atom_id in desired_atoms:
            return_list.append((residue[atom_id].get_coord(), residue))
        yield return_list


# then I copy and paste your code .... 

pdb = "1dly.pdb"
name = pdb[:3]

from Bio import PDB
from ast import literal_eval

p = PDB.PDBParser()
s = p.get_structure(name, pdb)

# then I decide which atoms I desire from every residue...

wish_list = ['N', 'CA', 'C', 'CB']

# and finally I run my generator, putting the results in a list.

your_coords_list = [x for x in createDesiredList(s, wish_list)]