Exemple #1
0
    def test_monomer_atoms(self):
        top = p.read_topology(self.pdb_file, name='top')

        # Make sure we have something non-trivial to test
        self.assertGreater(top.monomers[0].num_monomers, 50)

        something_checked = False

        # iterate through the monoers in the first chain.  The second chain is cynamic acid
        for monomer in top.monomers[0].monomers:
            residue_name = monomer.name[:3]
            try:
                idx = int(monomer.name[3:])
            except ValueError:
                # print monomer.name, '"', monomer.name[3:], '"'
                raise

            # skip several residues which are be modified from the natural amino acid set.
            if idx > 1 and idx < 125 and residue_name in aa.aminoacids.monomer_dict and residue_name != 'CYS':
                something_checked = True
                aa_monomer = aa.aminoacids.monomer_dict[residue_name]

                self.assertEqual(monomer.num_atoms, aa_monomer.num_atoms)
                # if not set(monomer.atoms) == set(aa_monomer.atoms):
                    # print monomer.name
                self.assertEqual(set(monomer.atoms), set(aa_monomer.atoms))

        self.assertTrue(something_checked)
Exemple #2
0
    def test_read_write_coords(self):
        top = p.read_topology(self.initial_pdb_file, name='pyp')

        p.write_coords('test.pdb', top, p.read_coords(self.initial_pdb_file))

        for idx, (read_coords, expected_coords) in enumerate(zip(p.read_coords('test.pdb'), p.read_coords(self.initial_pdb_file))):
            self.assertEqual(list(expected_coords), list(read_coords))
Exemple #3
0
    def test_get_topology(self):
        top = p.read_topology(self.pdb_file, name='two')
        
        # self.assertEqual(top.num_atoms, prmtop.get_num_atoms())

        atom_names = []
        monomer_names = []

        top = top.flatten()        

        for monomer in top.monomers:
            atom_names.extend(monomer.atoms)
            monomer_names.append(monomer.name)
        
        self.assertEqual(atom_names, self.atom_names)

        residue_names = [name + str(idx) 
                         for idx, name in zip(self.residue_idcs, 
                                              self.residue_names)]

        self.assertEqual(monomer_names, residue_names)