Skip to content

Commit 25298c1

Browse files
authored
Merge branch 'main' into extend_error_handling_physchem_rdkit
2 parents 64061a2 + 37d8a76 commit 25298c1

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

molpipeline/mol2mol/filter.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ class InorganicsFilter(_MolToMolPipelineElement):
221221
"""Filters Molecules which do not contain any organic (i.e. Carbon) atoms."""
222222

223223
CARBON_INORGANICS = ["O=C=O", "[C-]#[O+]"] # CO2 and CO are not organic
224+
CARBON_INORGANICS_MAX_ATOMS = 3
224225

225226
def __init__(
226227
self,
@@ -258,8 +259,10 @@ def pretransform_single(self, value: RDKitMol) -> OptionalMol:
258259
return InvalidInstance(
259260
self.uuid, "Molecule contains no organic atoms.", self.name
260261
)
261-
smiles = Chem.MolToSmiles(value)
262-
print(smiles)
263-
if smiles in self.CARBON_INORGANICS:
264-
return InvalidInstance(self.uuid, "Molecule is not organic.", self.name)
262+
263+
# Only check for inorganic molecules if the molecule is small enough
264+
if value.GetNumAtoms() <= self.CARBON_INORGANICS_MAX_ATOMS:
265+
smiles = Chem.MolToSmiles(value)
266+
if smiles in self.CARBON_INORGANICS:
267+
return InvalidInstance(self.uuid, "Molecule is not organic.", self.name)
265268
return value

0 commit comments

Comments
 (0)