Tools

This page serves as a quick lookup reference for the different modules within screenlamp. Please see the Toolkit Tutorial for a more detailed explanation of the different modules and how they can be combined in a typical virtual screening pipeline.

generate_conformers_omega.py

Usage:

 generate_conformers_omega.py [-h] -i INPUT -o OUTPUT --executable

EXECUTABLE [--settings SETTINGS] [--processes PROCESSES] [-v]
Wrapper running OpenEye OMEGA on one or more database partitions.

Arguments:

Example:

python generate_conformers_omega.py\
--input dbase_mol2\
--output dbase_conformers/\
--executable /.../omega2-2.5.1.4\
--processes 0

generate_conformers_obabel.py

Usage:

 generate_conformers_obabel.py [-h] -i INPUT -o OUTPUT --executable

EXECUTABLE [--settings SETTINGS] [-v] Wrapper running OpenBabel Confab on one or more database partitions. Please see http://open-babel.readthedocs.io/en/latest/3DStructureGen/multipleconformers.html if you want to learn more about OpenBabel Confab.

Arguments:

Example:

python generate_conformers_obabel.py\
--input dbase_mol2/\
--output dbase_conformers/\
--executable /.../obabel

merge_id_files.py

Usage:

 merge_id_files.py [-h] -i1 INPUT1 -i2 INPUT2 -o OUTPUT [--version]

Merges two Molecule ID files (e.g., created via datatable_to_id.py, funcgroup_presence_to_id.py or mol2_to_id.py) into a single ID file while preventing duplicate entries.

Arguments:

Example:

python merge_id_files.py\
--input1 mol2s_1.txt\
--input2 mol2s_2.txt\
--output merged.txt

overlay_molecules_shapeit.py

Usage:

 overlay_molecules_shapeit.py [-h] -i INPUT -o OUTPUT --query QUERY

--executable EXECUTABLE [--settings SETTINGS] [-v]
Wrapper running Silicos-it Shape-it on one or more database partitions. For more information about Shape-it, please see http://silicos-it.be.s3-website-eu-west-1.amazonaws.com/software/shape-it/1.0.1/shape-it.html

Arguments:

Example:

python overlay_molecules_shapeit.py\
--input database_conformers/\
--output shapeit_overlays/\
--executable 'shape-it'\
--query query.mol2\
--settings "--rankby Tanimoto

overlay_molecules_rocs.py

Usage:

 overlay_molecules_rocs.py [-h] -i INPUT -o OUTPUT --query QUERY

--executable EXECUTABLE [--settings SETTINGS] [--processes PROCESSES] [-v]
Wrapper running OpenEye ROCS on one or more database partitions.

Arguments:

Example:

python overlay_molecules_rocs.py\
--input database_conformers/\
--output rocs_overlays/\
--executable /.../rocs-3.2.1.4\
--query query.mol2\
--settings "-rankby TanimotoCombo -maxhits 0 -besthits 0 -progress percent"\
--processes 0

funcgroup_matching.py

Usage:

 funcgroup_matching.py [-h] -i INPUT -o OUTPUT [-d MAX_DISTANCE]

[--processes PROCESSES] [-v VERBOSE] [--version]
Generates tab-separated tables with containing atom type and charge information from matching atoms in pair-wise overlays.

Arguments:

Example:

python funcgroup_matching.py\
--input rocs_overlays_sorted/\
--output matching_tables/\
--max_distance 1.3\
--processes 0

sort_rocs_mol2.py

Usage:

 sort_rocs_mol2.py [-h] -i INPUT -o OUTPUT --query QUERY [-s SORTBY]

[--selection SELECTION] [--separator SEPARATOR]
[--id_suffix ID_SUFFIX] [-v VERBOSE] [--version]
Sorts ROCS results by score and creates separate .mol2 files for the database and query molecules.

Arguments:

Example:

python sort_rocs_mol2.py -i rocs_results/\
--output rocs_sorted/ --query mol.mol2\
--sortby TanimotoCombo,ColorTanimoto\
--selection "(TanimotoCombo >= 0.75) & (ColorTanimoto >= 0.1)"

count_mol2.py

Usage:

 count_mol2.py [-h] -i INPUT [-v]

A command line tool for counting the number of molecules in MOL2 files.

Arguments:

Example:

python count_mol2.py -i mol2_dir/
python count_mol2.py -i partition_1.mol2

funcgroup_matching_selection.py

Usage:

 funcgroup_matching_selection.py [-h] -i INPUT [--input_mol2 INPUT_MOL2]

-o OUTPUT [--atomtype_selection ATOMTYPE_SELECTION]
[--charge_selection CHARGE_SELECTION]
[-v VERBOSE] [--version]
Selects molecules with certain functional group matching patterns after functional group matching.

Arguments:

Example:

python funcgroup_matching_selection.py\
--input 07_fgroup_matching_tables # generated via funcgroup_matching.py\
--input_mol2 06_rocs_overlays_sorted # generated via sort_rocs_mol2.py\
--output 08_funcgroup_selection\
--atomtype_selection "((S1 == 'S.3') | (S1 == 'S.o2')) --> (O2 == 'O.2')"\
--charge_selection FGROUP_CHARGE "((S1 >= 1.0)) --> (O2 <= -0.5)"

enumerate_conformers.py

Usage:

 enumerate_conformers.py [-h] -i INPUT -o OUTPUT [-v VERBOSE]

[--version]
Numbers molecules in MOL2 files by adding a suffix as index. For example, if there are three molecules in a MOL2 file, moleculeabc_0, moleculeabc_1, and moleculedef_0, those molecules will be relabeled to moleculeabc_0, moleculeabc_1, and moleculedef_0.

Arguments:

Example:

python enumerate_conformers.py -i conformer_mol2s/\
--output numbered_conformers/

id_to_mol2.py

Usage:

 id_to_mol2.py [-h] -i INPUT --id_file ID_FILE -o OUTPUT

[-w INCLUDELIST] [-v VERBOSE] [--version]
Create filtered MOL2 files from ID and input MOL2 files.

Arguments:

Example:

python id_to_mol2.py --input mol2_dir/\
--id_file ids.txt\
--includelist True\
--output filtered_mol2_dir/

funcgroup_distance_to_id.py

Usage:

 funcgroup_distance_to_id.py [-h] -i INPUT -o OUTPUT -s SELECTION -d

DISTANCE [--processes PROCESSES] [-v VERBOSE] [--version]
A command line tool for filtering mol2 files by the distance of two atoms or functional groups.

Arguments:

Example:

python funcgroup_distance_to_id.py\
--input mol2_dir/\
--output ids.txt\
--selection "((atom_type == 'S.3') | (atom_type == 'S.o2')) --> (atom_type == 'O.2')"\
--distance 13-20\
--processes 0
\# The example above selects those molecules
\# that contain S.2 or S.o2 atom that is within
\# a 13-20 angstroms distance to an 'O.2' (sp2/keto oxygen) atom

mol2_to_id.py

Usage:

 mol2_to_id.py [-h] -i INPUT -o OUTPUT [-v VERBOSE] [--version]

Writes a file with molecule IDs from MOL2 files.

Arguments:

Example:

python mol2_to_id.py\
--input mol2_dir\
--output ids.txt

datatable_to_id.py

Usage:

 datatable_to_id.py [-h] -i INPUT -o OUTPUT --id_column ID_COLUMN

[--separator SEPARATOR] [-s SELECTION] [-v VERBOSE]
[--version]
Create a text file with molecule IDs from MOL2 files.

Arguments:

Example:

python datatable_to_id.py\
--input table.txt\
--output ids.txt\
--id_column ZINC_ID\
--selection "(NRB <= 7) & (MWT > 200)"

funcgroup_presence_to_id.py

Usage:

 funcgroup_presence_to_id.py [-h] -i INPUT -o OUTPUT -s SELECTION

[--processes PROCESSES] [-v VERBOSE]
[--version]
Checking molecules base on the presence of certain atoms or functional groups and writing the results to a text file.

Arguments:

Example:

python funcgroup_presence_to_id.py --input mol2s/\
--output mol2ids.txt\
--selection "((atom_type == 'S.3') | (atom_type == 'S.o2')) --> (atom_type == 'O.2')"\
--processes 0