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
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))