Strain Filtering

From DISI
Jump to navigation Jump to search

This is Strain Filtering version 1.1 (20200218). Please copy the code to your current directory.

$ cp -r /mnt/nfs/home/sgu/code/strainfilter .

Furthermore, if you don't want to include the strain from hydrogens, you can try this version:

$ cp -r /mnt/nfs/home/sgu/code/noh .


To run the code, you need to install RDKit by following the instruction: https://www.rdkit.org/docs/Install.html

On our cluster, you may source my environment.

$ source /nfs/home/sgu/anaconda3/etc/profile.d/conda.csh
$ conda activate my-rdkit-env

Currently, the code can handle db2/db2.gz and mol2 inputs. For example:

$ python Torsion_Strain.py test1.db2.gz
$ python Torsion_Strain.py test2.mol2

The output is a csv file, containing the total strain energy and detailed information of each dihedral sorted by its torsion energy.

You may be interested in Column 2 (total strain energy) and Column 6 (the maximum dihedral torsion energy), from which you can choose different thresholds to filter compounds. e.g.

$ awk -F"," '$2>0 && $2<6.5 && $6<1.8' test2_Torsion_Strain.csv > filtered.csv

This example uses awk to output all the compounds with total strain energy <6.5 and every torsion energy <1.8.

Github Link

https://github.com/docking-org/ChemInfTools/tree/master/apps/strainfilter

https://github.com/docking-org/ChemInfTools/tree/master/apps/noh