stpy.utils.safe_canonicalsmi_from_smiles

stpy.utils.safe_canonicalsmi_from_smiles(smi)

Safely generate canonical SMILES from input SMILES string.

Parameters:

smi (string) – SMILES string.

Returns:

Canonical SMILES string.

Return type:

string

Examples

>>> smiles = 'C1=CC=CC=C1OCOC'
>>> canon_smi = safe_canonicalsmi_from_smiles(smiles)
>>> print(canon_smi)
COC1=CC=CC=C1O
>>> a =['COCCCN', 'c1ccccc1OCOC', None, 'C1CCCCC1O', 'C1=CC=CC=C1', 'invalid_smiles']
>>> df = pd.DataFrame({'smiles': a})
>>> df['canonical_smi'] = df['smiles'].apply(safe_canonicalsmi_from_smiles)
>>> print(df)
smiles canonical_smi
0          COCCCN        COCCCN
1    c1ccccc1OCOC  COCOc1ccccc1
2            None          None
3       C1CCCCC1O     OC1CCCCC1
4     C1=CC=CC=C1      c1ccccc1
5  invalid_smiles          None