Strain Filtering
This is Strain Filtering version 1.1 (20200211). Please copy the code to your current directory.
$ cp -r /mnt/nfs/home/sgu/code/strainfilter .
To run the code, you need RDKit. You can follow the instruction to install RDKit: https://www.rdkit.org/docs/Install.html
$ conda create -c rdkit -n my-rdkit-env rdkit $ conda activate my-rdkit-env
Please use python3 to run the code. Currently, the code can handle db2/db2.gz and mol2 inputs. For example:
$ python3 Torsion_Strain.py test1.db2.gz $ python3 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 11 (the maximum dihedral torsion energy), from which you can choose different levels to filter compounds, e.g.
$ csvcut -c 1,2,11 test2_Torsion_Strain.csv | awk -F"," '$2<6.5&&$3<1.8 {print $1" "$2" "$3}'
This example uses csvkit and awk to output all the compounds with total strain energy <6.5 and every torsion energy <1.8.