Code Monkey home page Code Monkey logo

ligprep's Introduction

LigGrep 1.0.0

usage: liggrep.py [-h] [-m MODE] [-o BABEL_EXEC] [-f FILE] [-v] [--num_processors N] [--job_manager {serial,multiprocessing,mpi}] [-t] [-i] receptor ligands filters

LigGrep 1.0.0, a free, open-source program for identifying docked poses that participate in user-specified receptor/ligand interactions. As input, LigGrep accepts a protein receptor file (PDB, PDBQT), a directory containing many docked-compound files (PDB, PDBQT, SDF), and a list of user-specified filters (JSON). It evaluates each docked pose and outputs the names of the compounds with poses that pass all filters.

positional arguments: receptor PDBQT file containing receptor information. ligands Directory of PDBQT files containing the docked-ligand files. filters JSON file containing filters, which are formatted as a list of dictionaries.

optional arguments: -h, --help show this help message and exit -m MODE, --mode MODE Optional user-specified bond-order mode. If OPENBABEL, LigGrep will assign bond orders using the open-babel executable specified via the --babel_exec parameter. If SMILES, LigGrep will use SMILES files to assign bond orders. These files must be in the same directory as the docked-ligand files, and they must be similarly named (except with the .smi extension). If NONE, LigGrep will not attempt to assign bond orders. The docked ligands must either be in a format that itself specifies bond orders (e.g., SDF), or the user- specified filters must not depend on bond orders. Default: NONE -o BABEL_EXEC, --babel_exec BABEL_EXEC Optional path to the OpenBabel executable. -f FILE, --file FILE The name of the file were LigGrep analysis should be saved. Defaults to "output.txt". -v, --verbose Indicate why molecules and poses are rejected (standard output). --num_processors N, -p N Number of processors to use for parallel calculations. Defaults to 1. --job_manager {serial,multiprocessing,mpi} Determine what style of multiprocessing to use: serial, mpi, or multiprocessing. Serial will override the num_processors flag, forcing it to be one. MPI mode requires mpi4py 2.1.0 or higher. Defaults to serial. -t, --test Run optional tests to verify that code updates don't break functionality. -i, --internal_test (Optional parameter used for internal testing.)

EXAMPLES OF USE:

  1. Prepare a virtual library and save all 3D models to a single SDF file in the present directory:

python liggrep.py ./liggrep/examples/receptors/receptor.pdb
"./liggrep/examples/ligands/sdf/*.sdf" ./liggrep/examples/filters.json

  1. Assign bond orders to PDBQT-formatted ligands using SMI files in the same directory:

python liggrep.py ./liggrep/examples/receptors/receptor.pdbqt
"./liggrep/examples/ligands/pdb/*.pdb" ./liggrep/examples/filters.json
--mode SMILES

  1. Or use Open Babel to assign bond orders:

python liggrep.py ./liggrep/examples/receptors/receptor.pdbqt
"./liggrep/examples/ligands/pdb/*.pdb" ./liggrep/examples/filters.json
--mode OPENBABEL --babel_exec /usr/local/bin/obabel

  1. By default, LigGrep saves the names of the poses that pass all filters to "output.txt". You can optionally specify a different output file:

python liggrep.py ./liggrep/examples/receptors/receptor.pdb
"./liggrep/examples/ligands/sdf/*.sdf" ./liggrep/examples/filters.json
--file other_output.txt

  1. You can tell LigGrep to output why each ligand/pose is accepted or rejected:

python liggrep.py ./liggrep/examples/receptors/receptor.pdb
"./liggrep/examples/ligands/sdf/*.sdf" ./liggrep/examples/filters.json
--verbose

  1. By default, LigGrep runs in serial mode, meaning it runs on only one processor. You can also use multiple processors to speed the process. Requesting -1 processors means all processors will be used.

python liggrep.py ./liggrep/examples/receptors/receptor.pdb
"./liggrep/examples/ligands/sdf/*.sdf" ./liggrep/examples/filters.json
--job_manager multiprocessing --num_processors -1

ligprep's People

Contributors

jacobdurrant avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rnaimehaom

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.