Пример #1
0
class TransformTest(ut.TestCase):
    def setUp(self):
        atoms = [
            Atom(name='N9', x=3.0, y=3.0, z=3.0),
            Atom(name='C4', x=2.0, y=2.0, z=2.0),
            Atom(name='N3', x=1.0, y=1.0, z=1.0),
        ]
        self.residue = Component(atoms, type='rna', pdb='1GID', model=1,
                                 chain='A', sequence='C', number=50,
                                 symmetry='6_555')

    def test_can_transform_atoms(self):
        trans = np.array([[1.0, 0.0, 0.0, 0.0],
                          [0.0, -1.0, 0.0, 97.240],
                          [0.0, 0.0, -1.0, 0.0],
                          [0.0, 0.0, 0.0, 1.0]])
        residue = self.residue.transform(trans)
        val = list(list(residue.atoms())[-1].coordinates())
        ans = [1.0, 96.240, -1.0]
        self.assertEquals(ans, val)

    def test_preserves_unit_id(self):
        trans = np.array([[1.0, 0.0, 0.0, 0.0],
                          [0.0, -1.0, 0.0, 97.240],
                          [0.0, 0.0, -1.0, 0.0],
                          [0.0, 0.0, 0.0, 1.0]])
        residue = self.residue.transform(trans)
        val = residue.unit_id()
        ans = "1GID|1|A|C|50||||6_555"
        self.assertEquals(ans, val)