Knowledge Base

Article ID: 1443 - Last Modified:

I would like to prepare a large ligand library using LigPrep. How should I proceed?

Preparing a large ligand library can take a significant amount of time. LigPrep takes approximately one second per output ligand, using 2D input with stereocenters indicated (on an average Linux workstation). If the ionization stage uses Epik (recommended), that will take another 1-2 seconds per output structure. So a rough estimate is 20 cpu days per million output structures.

For a large number of input ligands, you will have to distribute the calculation over multiple processors, to ensure that it runs efficiently. Input files with large numbers of structures are divided into subjobs so that the preparation can be performed in smaller, more manageable pieces. The default size of a subjob is 10,000 structures; we don't recommend more than 100,000 structures per subjob. The subjobs are sent by a master job to the subjob hosts. As each subjob finishes, the master job sends another subjob to the subjob host. This means that the number of subjobs should be several times larger than the number of processors used for the job, for efficient load balancing. When all subjobs are finished, output from the subjobs is collected and merged into the output file in the working directory.

If you run the preparation from Maestro, you can select one or more hosts in the Job Settings dialog box, and specify the number of processors to use on each host. You must also specify the number of subjobs to meet the criteria described above.

If you run the preparation from the command line, you should use the ligprep command. The syntax of this command can be obtained by running the command with the -h option (i.e. ligprep -h).

By default, the number of compounds per subjob is set to 10,000. The number of subjobs can be explicitly set with the -NJOBS option. The hosts and the number of processors used on each host can be specified with the -HOST option. You can provide a list of hosts and processors in the format "host1:cpus1 host2:cpus2...".

LigPrep has a restart mechanism, which requires the use of a disk that is accessible to the local host to store all the job and intermediate files. We recommend that you run the original preparation using a locally accessible disk, so you can use the restart mechanism. Change to a directory that has enough space for the job and intermediate files, and start the job with the following command:

$SCHRODINGER/ligprep -LOCAL -nc options

If the job fails, you can then restart it with the following command:

$SCHRODINGER/ligprep -RESTART -LOCAL -nc options

You must use exactly the same options as in the original command, with the addition of the -RESTART option.

If you do not use the local disk, you will have to do the restart manually.

Related Articles:

#88: Can I run a ligand preparation on multiple processors?
#1251: How do I run LigPrep from the command line?

Back to Search Results

Was this information helpful?

What can we do to improve this information?

To ask a question or get help, please submit a support ticket or email us at
Knowledge Base Search

Type the words or phrases on which you would like to search, or click here to view a list of all
Knowledge Base articles