def test_filter_by_name( elastic_repository_molecule: ElasticRepository, indigo_fixture: Indigo, loaded_sdf: IndigoRecordMolecule, resource_loader, ): mol = indigo_fixture.loadMoleculeFromFile( resource_loader("molecules/composition1.mol")) elastic_repository_molecule.index_record( IndigoRecordMolecule(indigo_object=mol)) time.sleep(1) result = elastic_repository_molecule.filter(name="Composition1") for item in result: assert item.name == "Composition1" result = elastic_repository_molecule.filter( similarity=TanimotoSimilarityMatch( IndigoRecordMolecule(indigo_object=mol), 0.1)) i = 0 for _ in result: i += 1 assert i == 10 result = elastic_repository_molecule.filter( similarity=TanimotoSimilarityMatch( IndigoRecordMolecule(indigo_object=mol), 0.1), name="Composition1", ) for item in result: assert item.name == "Composition1"
def depict_smile(genecluster, structuresfolder): indigo = Indigo() renderer = IndigoRenderer(indigo) query = indigo.loadMoleculeFromFile("genecluster" + str(genecluster) + ".smi") indigo.setOption("render-coloring", True) renderer.renderToFile(query, "genecluster" + str(genecluster) + ".png") indigo.setOption("render-image-size", 200, 150) renderer.renderToFile(query, "genecluster" + str(genecluster) + "_icon.png") dircontents = os.listdir(os.getcwd()) geneclusterstring = "genecluster" + str(genecluster) + ".png" if geneclusterstring in dircontents: shutil.copy("genecluster" + str(genecluster) + ".png", structuresfolder) shutil.copy("genecluster" + str(genecluster) + "_icon.png", structuresfolder) shutil.copy("genecluster" + str(genecluster) + ".smi", structuresfolder) os.remove("genecluster" + str(genecluster) + ".png") os.remove("genecluster" + str(genecluster) + "_icon.png") os.remove("genecluster" + str(genecluster) + ".smi") smiles_input = path.join('SMILES', 'input') if path.exists(smiles_input): os.remove(smiles_input) return "success" else: return "failed"
def load_molecule( file_: Union[str, Path], session: Indigo ) -> IndigoRecordMolecule: """ Helper for loading molecules from file into IndigoRecordMolecule object """ molecule = session.loadMoleculeFromFile(file_) return IndigoRecordMolecule(indigo_object=molecule)
def test_wildcard_search( elastic_repository: ElasticRepository, indigo_fixture: Indigo, loaded_sdf: IndigoRecord, resource_loader: Callable[[str], str], ): mol = indigo_fixture.loadMoleculeFromFile( resource_loader("resources/composition1.mol")) elastic_repository.index_record(IndigoRecord(indigo_object=mol)) time.sleep(1) result = elastic_repository.filter(name=WildcardQuery("Comp*")) for item in result: assert item.name == "Composition1"
def test_custom_fields( elastic_repository: ElasticRepository, indigo_fixture: Indigo, loaded_sdf: IndigoRecord, resource_loader: Callable[[str], str], ): mol = indigo_fixture.loadMoleculeFromFile( resource_loader("resources/composition1.mol")) rec = IndigoRecord(indigo_object=mol, PUBCHEM_IUPAC_INCHIKEY="RDHQFKQIGNGIED-UHFFFAOYSA-N") elastic_repository.index_record(rec) time.sleep(1) result = elastic_repository.filter( PUBCHEM_IUPAC_INCHIKEY="RDHQFKQIGNGIED-UHFFFAOYSA-N") for item in result: assert item.PUBCHEM_IUPAC_INCHIKEY == "RDHQFKQIGNGIED-UHFFFAOYSA-N"