All Products
Document Center

Elastic High Performance Computing:Use AutoDock Vina to screen potential drugs

Last Updated:Jun 09, 2023

This topic takes AutoDock Vina as an example to describe how to screen potential drugs by using an Elastic High Performance Computing (E-HPC) cluster.

Background information

Molecular docking is an essential approach for virtual drug screening. AutoDock Vina is one of the fastest and most widely used open-source docking engines. It is especially effective for molecular docking. AutoDock Vina is used together with MGLTools. MGLTools includes AutoDockTools (ADT) and Python Molecular Viewer (PMV). ADT is used to generate input files for Vina. PMV is used to view the results. For more information, see AutoDock Vina and MGLTools.

This topic simulates the actual docking process in which the ligand-receptor pairwise interaction energies are calculated and predicts the strength of association or binding affinity between a ligand and a receptor. The compound libraries that are widely used, such as Specs, Enamine and ChemDiv, provide a large number of ligands to simulate the interactions between ligands and receptors. Ligands can be simulated in parallel on a large scale because they do not depend on each other. This topic is also applicable to other biological and pharmaceutical scenarios that require large-scale and high-concurrency computing.


  1. Create an E-HPC cluster.

    For more information, see Create a cluster by using the wizard. Configure the following settings.



    Hardware settings

    Deploy a standard cluster, which consists of two management nodes, one compute node, and one logon node.

    All nodes must be ecs.c7.large Elastic Compute Service (ECS) instances. Each instance must have 2 vCPUs, 4 GiB of memory, and one 2.7 GHz third-generation Intel Xeon Scalable (Ice Lake) processor.

    Software settings

    Deploy a CentOS 7.6 public image and the PBS scheduler. Turn on VNC.

  2. Create a cluster user. For more information, see Create a user.

    The user is used to log on to the cluster, compile LAMMPS, and submit jobs. In this example, the following information is used to create the user:

    • Username: vinatest

    • User group: sudo permission group

  3. Install software. For more information, see Install software.

    Install the following software:

    • Vina V1.1.2

    • AutoDockTools V1.5.7

    • Intel MPI 2018

Step 1: Connect to the cluster

Connect to the cluster by using one of the following methods: This example uses vinatest as the username. After you connect to the cluster, you are automatically logged on to the /home/vinatest.

  • Use an E-HPC client to log on to a cluster

    The scheduler of the cluster must be PBS. Make sure that you have downloaded and installed an E-HPC client and deployed the environment required for the client. For more information, see Deploy an environment for an E-HPC client.

    1. Start and log on to your E-HPC client.

    2. In the left-side navigation pane, click Session Management.

    3. In the upper-right corner of the Session Management page, click terminal to open the Terminal window.

  • Use the E-HPC console to log on to a cluster

    1. Log on to the E-HPC console.

    2. In the upper-left corner of the top navigation bar, select a region.

    3. In the left-side navigation pane, click Cluster.

    4. On the Cluster page, find the cluster and click Connect.

    5. In the Connect panel, enter a username and a password, and click Connect via SSH.

Step 2: Submit a job

  1. Download and decompress the job file.

    1. Download the job file.


      If git is not installed in the cluster, run the sudo yum install -y git to install git.

      git clone
    2. Decompress the job file.

      cd 022
      tar xzvf vina-ehpcarrayjob.tar.gz
  2. Modify the configuration file.

    cd vina-ehpcarrayjob
    vim conf.txt

    Delete the following two lines from the conf.txt file:

    receptor = 1fkn_rgd.pdbqt
    ligand = $file
  3. Create a job script named

    cd /home/vinatest

    Sample script:

    #PBS -N vina_job
    #PBS -l nodes=1:ppn=2
    #PBS -l walltime=00:10:00
    #PBS -j oe
    #PBS -v receptor="022/vina-ehpcarrayjob/1fkn_rgd.pdbqt",ligand="022/vina-ehpcarrayjob/test/ligand_1.pdbqt",config="022/vina-ehpcarrayjob/conf.txt"
    vina --receptor $receptor --config $config  --ligand $ligand --out out.pdbqt --cpu $ppn
  4. Submit the job.


    The following command output is returned, which indicates that the generated job ID is 0.scheduler:


Step 3: View the result

  1. View the running state of the job.

    qstat -x 0.scheduler

    The following code provides an example of the returned output, in which an Rin the S column indicates that the job is running, an F in the S column indicates that the job is completed.

    Job id            Name             User              Time Use S Queue
    ----------------  ---------------- ----------------  -------- - -----
    0.scheduler       vina_job         vinatest          00:01:56 F workq 

    After the job is completed, the result file out.pdbqt is generated and stored in the path where the job is submitted. In this example, the file out.pdbqt is stored in /home/vinatest/out.pdbqt.

  2. Use VNC to view the result of the job.

    1. Enable VNC.


      Make sure that the ports required by VNC are enabled for the security group to which the cluster belongs. When you use the console, the system automatically enables the port 12016. When you use the client, you need to enable the ports manually. Port 12017 allows only one user to open the VNC Viewer window. If multiple users need to open the VNC Viewer window, you need to enable the corresponding number of ports, starting from port 12017.

      • Use the client

        1. In the left-side navigation pane, click Session Management.

        2. In the upper-right corner of the Session Management page, click VNC to open VNC Viewer.

      • Use the console

        1. In the left-side navigation pane of the E-HPC console, click Cluster.

        2. On the Cluster page, select a cluster. Choose More > VNC.

        3. Use VNC to remotely connect to a visualization service. For more information, see Use VNC to manage a visualization service.

    2. In the Virtualization Service dialog box of the cloud desktop, choose Application > System Tools > Terminal.

    3. Run the following command in Terminal to open AutoDockTools and load the job results:

      /usr/local/bin/adt /home/vinatest/022/vina-ehpcarrayjob/1fkn_rgd.pdbqt /home/vinatest/out.pdbqt

      The following result is displayed in the AutoDockTools window.