def hierarchy(self, hierarchy): """Define the ConKit :obj:`~conkit.core.sequencefile.SequenceFile` """ if hierarchy and _isinstance(hierarchy, "SequenceFile") and hierarchy.is_alignment: self._hierarchy = hierarchy elif hierarchy and _isinstance(hierarchy, "SequenceFile"): raise TypeError("Provided hierarchy does not show characteristics of an alignment") else: raise TypeError("Invalid hierarchy type: %s" % hierarchy.__class__.__name__)
def _parse_dssp(self, dssp): """Parse :obj:`Bio.PDB.DSSP.DSSP` into a :obj:`pandas.DataFrame` with secondary structure information about the model""" if not tools._isinstance(dssp, DSSP): raise TypeError("Invalid hierarchy type for dssp: %s" % dssp.__class__.__name__) _dssp_list = [] for residue in sorted(dssp.keys(), key=lambda x: x[1][1]): resnum = residue[1][1] if resnum in self.absent_residues: _dssp_list.append((resnum, np.nan, np.nan, np.nan, np.nan)) continue acc = dssp[residue][3] if dssp[residue][2] in ('-', 'T', 'S'): ss2 = (1, 0, 0) elif dssp[residue][2] in ('H', 'G', 'I'): ss2 = (0, 1, 0) else: ss2 = (0, 0, 1) _dssp_list.append((resnum, *ss2, acc)) dssp = pd.DataFrame(_dssp_list) dssp.columns = ['RESNUM', 'COIL', 'HELIX', 'SHEET', 'ACC'] return dssp
def hierarchy(self, hierarchy): """Define the default contact map hierarchy""" if hierarchy and _isinstance(hierarchy, "ContactMap"): self._hierarchy = hierarchy else: raise TypeError("Invalid hierarchy type: %s" % hierarchy.__class__.__name__)
def hierarchy(self, hierarchy): """Define the ConKit :obj:`ContactMap <conkit.core.contactmap.ContactMap>` Raises ------ TypeError The hierarchy is not an contact map """ if hierarchy and _isinstance(hierarchy, "ContactMap"): self._hierarchy = hierarchy else: raise TypeError("The hierarchy is not an contact map")
def hierarchy(self, hierarchy): """Define the ConKit :obj:`~conkit.core.contactmap.ContactMap` Raises ------ :exc:`RuntimeError` The hierarchy is not an alignment """ if hierarchy and _isinstance(hierarchy, "ContactMap"): self._hierarchy = hierarchy else: raise TypeError("Invalid hierarchy type: %s" % hierarchy.__class__.__name__)
def hierarchy(self, hierarchy): if hierarchy and _isinstance(hierarchy, "Distogram"): self._hierarchy = hierarchy else: raise TypeError("Invalid hierarchy type: %s" % hierarchy.__class__.__name__)
def test__isinstance_4(self): h = Sequence("test", "AAAA") self.assertTrue(tools._isinstance(h, "Sequence"))
def test__isinstance_5(self): h = SequenceFile("test") self.assertTrue(tools._isinstance(h, "SequenceFile"))
def test__isinstance_2(self): h = ContactMap("test") self.assertTrue(tools._isinstance(h, "ContactMap"))
def test__isinstance_3(self): h = ContactFile("test") self.assertTrue(tools._isinstance(h, "ContactFile"))
def other(self, hierarchy): if hierarchy and _isinstance(hierarchy, "ContactMap"): self._other = hierarchy else: raise TypeError("Invalid hierarchy type: %s" % hierarchy.__class__.__name__)
def test__isinstance_1(self): h = Contact(1, 2, 2) self.assertTrue(tools._isinstance(h, "Contact"))
def test__isinstance_7(self): self.assertFalse(tools._isinstance(5, str))
def test__isinstance_6(self): self.assertTrue(tools._isinstance(5, int))
def sequence(self, sequence): if sequence and tools._isinstance(sequence, "Sequence"): self._sequence = sequence else: raise TypeError("Invalid hierarchy type for sequence: %s" % sequence.__class__.__name__)
def prediction(self, prediction): if prediction and tools._isinstance(prediction, "Distogram"): self._prediction = prediction else: raise TypeError("Invalid hierarchy type for prediction: %s" % prediction.__class__.__name__)
def model(self, model): if model and tools._isinstance(model, "Distogram"): self._model = model else: raise TypeError("Invalid hierarchy type for model: %s" % model.__class__.__name__)