Esempio n. 1
0
    def testHelium(self):
        """
        adjlist: Test that the adjlist reading and writing works with Helium.
        """
        smiles = '[He]'
        inchi = 'InChI=1S/He'
        adjlist = '1 He u0 p1 c0'
        adjlist_old = '1 He 0'
        adjlist_intermediate = '1 He 0 1'

        mol_smiles = Molecule().fromSMILES(smiles)
        mol_inchi = Molecule().fromInChI(inchi)
        mol = Molecule().fromAdjacencyList(adjlist)
        mol_old = Molecule().fromAdjacencyList(adjlist_old)
        mol_intermediate = Molecule().fromAdjacencyList(adjlist_intermediate)

        # Isomorphic check
        self.assertTrue(mol_smiles.isIsomorphic(mol))
        self.assertTrue(mol_smiles.isIsomorphic(mol_inchi))
        self.assertTrue(mol_smiles.isIsomorphic(mol_old))
        self.assertTrue(mol_smiles.isIsomorphic(mol_intermediate))

        # Adjlist check
        self.assertEqual(mol_smiles.toAdjacencyList().strip(), adjlist)
        self.assertEqual(mol_inchi.toAdjacencyList().strip(), adjlist)
        self.assertEqual(mol.toAdjacencyList().strip(), adjlist)
        self.assertEqual(mol_old.toAdjacencyList().strip(), adjlist)
        self.assertEqual(mol_intermediate.toAdjacencyList().strip(), adjlist)

        self.assertEqual(mol.toSMILES(), smiles)
        self.assertEqual(mol.toInChI(), 'InChI=1S/He')
Esempio n. 2
0
    def test_disconnected_molecule(self):
        """Test that we can generate an InChI for a disconnected molecule."""
        mol = Molecule().fromSMILES('CCCCO.C=O')

        inchi = 'InChI=1S/C4H10O.CH2O/c1-2-3-4-5;1-2/h5H,2-4H2,1H3;1H2'

        self.assertEqual(mol.toInChI(), inchi)
Esempio n. 3
0
 def testHelium(self):
     """
     adjlist: Test that the adjlist reading and writing works with Helium.
     """
     smiles = '[He]'
     inchi = 'InChI=1S/He'
     adjlist = '1 He u0 p1 c0'
     adjlist_old = '1 He 0'
     adjlist_intermediate = '1 He 0 1'
     
     mol_smiles = Molecule().fromSMILES(smiles)
     mol_inchi = Molecule().fromInChI(inchi)
     mol = Molecule().fromAdjacencyList(adjlist)
     mol_old = Molecule().fromAdjacencyList(adjlist_old)
     mol_intermediate = Molecule().fromAdjacencyList(adjlist_intermediate)
     
     # Isomorphic check
     self.assertTrue(mol_smiles.isIsomorphic(mol))
     self.assertTrue(mol_smiles.isIsomorphic(mol_inchi))
     self.assertTrue(mol_smiles.isIsomorphic(mol_old))
     self.assertTrue(mol_smiles.isIsomorphic(mol_intermediate))
     
     # Adjlist check
     self.assertEqual(mol_smiles.toAdjacencyList().strip(), adjlist)
     self.assertEqual(mol_inchi.toAdjacencyList().strip(), adjlist)
     self.assertEqual(mol.toAdjacencyList().strip(), adjlist)
     self.assertEqual(mol_old.toAdjacencyList().strip(), adjlist)
     self.assertEqual(mol_intermediate.toAdjacencyList().strip(), adjlist)
     
     self.assertEqual(mol.toSMILES(),smiles)
     self.assertEqual(mol.toInChI(),'InChI=1S/He')
Esempio n. 4
0
    def test_isotopic_molecule_2(self):
        """Test that we can generate an InChI for an isotopic molecule."""
        mol = Molecule().fromSMILES('[13CH3]C')

        inchi = 'InChI=1S/C2H6/c1-2/h1-2H3/i1+1'

        self.assertEqual(mol.toInChI(), inchi)
    def test_isotopic_molecule_2(self):
        """Test that we can generate an InChI for an isotopic molecule."""
        mol = Molecule().fromSMILES('[13CH3]C')

        inchi = 'InChI=1S/C2H6/c1-2/h1-2H3/i1+1'

        self.assertEqual(mol.toInChI(), inchi)
    def test_disconnected_molecule(self):
        """Test that we can generate an InChI for a disconnected molecule."""
        mol = Molecule().fromSMILES('CCCCO.C=O')

        inchi = 'InChI=1S/C4H10O.CH2O/c1-2-3-4-5;1-2/h5H,2-4H2,1H3;1H2'

        self.assertEqual(mol.toInChI(), inchi)
Esempio n. 7
0
    def test_empty_molecule(self):
        """Test that we can safely return a blank identifier for an empty molecule."""
        mol = Molecule()

        self.assertEqual(mol.toSMILES(), '')
        self.assertEqual(mol.toInChI(), '')
    def test_empty_molecule(self):
        """Test that we can safely return a blank identifier for an empty molecule."""
        mol = Molecule()

        self.assertEqual(mol.toSMILES(), '')
        self.assertEqual(mol.toInChI(), '')