Fine Tranching with RDKit using Heavy Atom Count and LogP

Revision as of 12:00, 15 April 2020 by Frodo (Talk | contribs)

Jump to: navigation, search

Written by Jennifer Young on April 14, 2020


These scripts perform fine tranching with RDKit to compute the heavy atom count and logP for each molecule and put it in a bucket of the form HxxPyyy for positive valued logp (i.e. 0 < logp) and HxxMyyy for negative valued logp (i.e. logp < 0). The scripts are located in


How to run

(If you are using our cluster) Source conda environment for RDKit

If you are using our cluster, there is already a conda environment with RDKit available and you just need to source it using the following command. You need to use bash.

   source /mnt/nfs/home/devtest/anaconda3/bin/activate my-rdkit-env

If you need to create a conda environment, follow the instructions at

Read the section : How to install RDKit with Conda. Once you do

   conda activate my-rdkit-env

You are ready to run the Python script.

Run Python script with the desired arguments

The smiles file and batch size are command line arguments. If you choose a batch size of 10,000, the output file will be written to after each batch of 10,000 molecules is processed. The input smiles file should have the following 2 columns

  • smiles
  • ID

See python script for reference

   python /nfs/home/jyoung/code/fine_tranche_hlogp_scripts/ <smiles_file> <batch_size>

The output file will be a file with the name <smiles_file>_hlogp and will have the following 3 columns

  • original smiles
  • original ID
  • HxxPyyy HxxMyyy

Sample Bash script for running on many smiles files

If your smiles file is large, split into chunks of 1 million (or whatever your desired size).

   split -l 1000000 <your_smiles>

Then run the following script which is reproduced below.


Change the x?? to the desired pattern and change the batch size to the desired value.

   #!/usr/bin/env bash
   for i in x??;
      source /mnt/nfs/home/devtest/anaconda3/bin/activate my-rdkit-env
      python /nfs/home/jyoung/code/fine_tranche_hlogp_scripts/ $i 10000