Datamol is an elegant, RDKit-powered Python library optimized for molecular machine learning workflows and easier to handle than RDKit.
Using Conda
In notebook, use pip
caff
'[99CH3][99N][99C][=Branch1][C][=99O][99C][=99C][Branch1][#Branch1][99N][=99CH1][99N][Ring1][Branch1][99CH3][99N][Branch1][C][99CH3][99C][Ring1][N][=99O]'
'[99#6]-[99#7]1:[99#6]:[99#7]:[99#6]2:[99#6]:1:[99#6](=[99#8]):[99#7](:[99#6](=[99#8]):[99#7]:2-[99#6])-[99#6]'
'[CH3]-[n]1:[c](=[O]):[c]2:[c](:[n]:[cH]:[n]:2-[CH3]):[n](-[CH3]):[c]:1=[O]'
'InChI=1S/C8H10N4O2/c1-10-4-9-6-5(10)7(13)12(3)8(14)11(6)2/h4H,1-3H3/i1+87,2+87,3+87,4+87,5+87,6+87,7+87,8+87,9+85,10+85,11+85,12+85,13+83,14+83'
'RYYVLZVUVIJVGH-BJTRJWDZSA-N'
Now, we will reverse what we did,
# assigning as_mol = False will return a SMILES >>>> 'CN1C(=O)C2=C(N=CN2C)N(C)C1=O'
by assigning the following parameters to ensure the right one.
'CN1C(=O)C2=C(N=CN2C)N(C)C1=O'
You can view any number of conformres using n_confs as in the code below
You can get all descriptors available at once
For more about descriptors in datamol: datamol.descriptors
{'mw': 194.08037556,
'fsp3': 0.375,
'n_lipinski_hba': 6,
'n_lipinski_hbd': 0,
'n_rings': 2,
'n_hetero_atoms': 6,
'n_heavy_atoms': 14,
'n_rotatable_bonds': 0,
'n_radical_electrons': 0,
'tpsa': 61.82,
'qed': 0.5384628262372215,
'clogp': -1.0293,
'sas': 2.29798245679401,
'n_aliphatic_carbocycles': 0,
'n_aliphatic_heterocyles': 0,
'n_aliphatic_rings': 0,
'n_aromatic_carbocycles': 0,
'n_aromatic_heterocyles': 2,
'n_aromatic_rings': 2,
'n_saturated_carbocycles': 0,
'n_saturated_heterocyles': 0,
'n_saturated_rings': 0}