Skip to content

Commit 32e14a1

Browse files
committed
use chebi_utils SMILES / InChI parsing
1 parent 4ea20f6 commit 32e14a1

1 file changed

Lines changed: 2 additions & 19 deletions

File tree

chebifier/cli.py

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import click
66
import pandas as pd
77
import yaml
8-
from rdkit import Chem
8+
from chebi_utils.read_molecule import smiles_or_inchi_to_mol
99

1010
from chebifier.build_ensemble import EnsembleBuilder
1111
from chebifier.check_env import check_package_installed
@@ -22,24 +22,7 @@ def read_molecules(molecules, molecule_file):
2222
with open(molecule_file, "r", encoding="utf-8") as f:
2323
raw_inputs.extend([line.strip() for line in f if line.strip()])
2424

25-
mol_list = []
26-
for raw_input in raw_inputs:
27-
try:
28-
if raw_input.startswith("InChI="):
29-
mol = Chem.MolFromInchi(raw_input, sanitize=False)
30-
if mol is None:
31-
click.echo(f"Failed to parse InChI: {raw_input}")
32-
mol_list.append(None)
33-
mol_list.append(mol)
34-
elif Chem.MolFromSmiles(raw_input, sanitize=False) is None:
35-
click.echo(f"Failed to parse SMILES: {raw_input}")
36-
mol_list.append(None)
37-
else:
38-
mol_list.append(Chem.MolFromSmiles(raw_input, sanitize=False))
39-
except Exception as e:
40-
click.echo(f"Error parsing molecule '{raw_input}': {e}.")
41-
mol_list.append(None)
42-
return mol_list
25+
return [smiles_or_inchi_to_mol(raw_input) for raw_input in raw_inputs]
4326

4427

4528
def build_base_learners(ensemble_config):

0 commit comments

Comments
 (0)