Ejemplo n.º 1
0
 def map(self, mol, source):
     """Import molecule into MESS.DB."""
     # setup local variables
     self.inchikey = mol.write('inchikey').rstrip()
     inchikey_dir = get_inchikey_dir(self.inchikey)
     inchikey_basename = os.path.join(inchikey_dir, self.inchikey)
     identifier = unicode(mol.title, 'utf-8', 'replace')
     # setup directory
     setup_dir(inchikey_dir)
     if not self.check():
         mol.title = b''
         mol.write('inchi',
                   (inchikey_basename + '.inchi'),
                   overwrite=True)
         if not os.path.exists(inchikey_basename + '.png'):
             mol.write('_png2',
                       (inchikey_basename + '.png'))
         touch(inchikey_basename + '.log')
         touch(inchikey_basename + '.notes')
         touch(os.path.join(inchikey_dir,
                            '%s.sources.tsv' % inchikey_basename))
         self.log_all.info('%s molecule directory initialized',
                           self.inchikey)
     source.update_source_tsv(self.inchikey, identifier)
     yield source.update_molecule_source_query(self.inchikey, identifier)
     yield self.insert_molecule_query(self.inchikey, mol)
     for query, values in self.get_insert_moldata_queries(
             self.inchikey,
             mol,
             description='molecule data from %s input' % source.dirname):
         yield query, values
     for query, values in self.get_openbabel_property_queries(self.inchikey,
                                                              mol):
         yield query, values
Ejemplo n.º 2
0
 def test_touch(self):
     test_file = os.path.join(self.tmp_dir, 'temp.txt')
     utils.touch(test_file)
     self.assertTrue(os.path.exists(test_file))