Giter Club home page Giter Club logo

mpi-vina's Introduction

MPI-Vina: MPI based parallel implementation of Autodock Vina


MPI-Vina is an open-source parallelization of AutoDock Vina, which massively reduces the time of virtual screening by using compute clusters or network of computers. It is developed based on MPI and intended for distributed memory environment. The goal of MPI-Vina is to reduce the overall time of screening ligand data set. AutoDock Vina is the primary docking program of MPI-Vina.

In MPI-Vina, protein-ligand docking is distributed into different nodes of a computational cluster where each node performs docking of a single ligand against a target receptor. Distribution of ligand set allows docking multiple ligands in multiple nodes concurrently.

MPI-Vina reduces the overall time of doing virtual screening dramatically than the traditional virtual screening approach by using state-of-the-art parallel processing. It also reduces the magnitude and complexity of the screening problem and focuses on drug discovery and optimization efforts on the most promising leads.

Requirements

Availability of any MPI implementation (e.g., Open MPI, MPICH).

Usage

  1. Convert your target receptor (i.e., protein) and all ligands into pdbqt format format (using any traditional tools).
  2. Put all the ligand files in the Ligand directory.
  3. Put your configuration file (conf.txt) and target receptor in the Vina directory.
  4. To build and run the program type ./runMpiVINA.bash in CLI (use gridEngineJobScript.sh for Gride Engine schedular). The corresponding Makefile and Shell script will do the remaining job.
  5. All output files are placed in the Output directory.
    • MpiVina.log file contains summary of the parallel procesing.
    • SortedResult file contains binding affinity of all ligands in sorted order.
    • <ligand_name>.pdbqt.pdbqt & <ligand_name>.pdbqt.txt files contain the detailed result of individual ligand.

Reference

For more details (e.g., implementation, performance, etc.), the reader is reffered to the technical report available in docs directory.

Acknowledgement

Computational resources are provided by ACENET, the regional advanced research computing consortium for universities in Atlantic Canada. ACENET is funded by the Canada Foundation for Innovation (CFI), the Atlantic Canada Opportunities Agency (ACOA), and the provinces of Newfoundland & Labrador, Nova Scotia, and New Brunswick.

mpi-vina's People

Contributors

fabohack avatar mokarrom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mpi-vina's Issues

issue with the string related to ligands name

Dear @Fabohack and @mokarrom,

I am trying to use MPI-vina with a library of ligands that each have a relatively long name ("Z14154231-1633-Ena_SSD10_pH7.4.pdbqt" for example).
As I run the gridEngineJobScript.sh, I am faced with a bunch of errors regarding loading the ligands (Error: could not open "./Ligand/pH74.pdbqt" for reading).
As I shortened the name of the ligands the problem was resolved. However, I am dealing with a large library and can not change the name of all ligands. I was wondering if there is any way around this issue?

Thank you,
Sajjad

<< compilation error >>

Dear @Fabohack and @mokarrom,

I am trying to compile mpiVina using Intel 2020/1 in a box running Ubuntu 19.10 64bits.

I am getting the error below:

make
mpicc -c mpiVINAv2.c
mpiVINAv2.c: In function ‘mpiVinaWorker’:
mpiVINAv2.c:142:25: error: ‘ligandName’ undeclared (first use in this function)
strcat(vinaCmd, ligandName);
^~~~~~~~~~
mpiVINAv2.c:142:25: note: each undeclared identifier is reported only once for each function it appears in
makefile:11: recipe for target 'mpiVINAv2.o' failed
make: *** [mpiVINAv2.o] Error 1

Could you help me?

Regards,

Camps

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.