/usr/share/pyshared/Bio/PDB/Model.py is in python-biopython 1.58-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | # Copyright (C) 2002, Thomas Hamelryck (thamelry@binf.ku.dk)
# This code is part of the Biopython distribution and governed by its
# license. Please see the LICENSE file that should have been included
# as part of this package.
"""Model class, used in Structure objects."""
from Bio.PDB.Entity import Entity
class Model(Entity):
"""
The object representing a model in a structure. In a structure
derived from an X-ray crystallography experiment, only a single
model will be present (with some exceptions). NMR structures
normally contain many different models.
"""
def __init__(self, id, serial_num = None):
"""
Arguments:
o id - int
o serial_num - int
"""
self.level="M"
if serial_num is None:
self.serial_num=id
else:
self.serial_num=serial_num
Entity.__init__(self, id)
# Private methods
def _sort(self, c1, c2):
"""Sort the Chains instances in the Model instance.
Chain instances are sorted alphabetically according to
their chain id. Blank chains come last, as they often consist
of waters.
Arguments:
o c1, c2 - Chain objects
"""
id1=c1.get_id()
id2= c2.get_id()
# make sure blank chains come last (often waters)
if id1==" " and not id2==" ":
return 1
elif id2==" " and not id1==" ":
return -1
return cmp(id1, id2)
# Special methods
def __repr__(self):
return "<Model id=%s>" % self.get_id()
# Public
def get_residues(self):
for c in self:
for r in c:
yield r
def get_atoms(self):
for r in self.get_residues():
for a in r:
yield a
|