Examples

From SMILES string

To produce restraints for a given SMILES string then run grade2 on the command-line followed by the SMILES surrounded by single quotes: grade2 'SMILES', for example:

$ grade2 'Oc1ccccc1'

Please note that the dollar symbol $ above represents the command prompt. This will produce CIF-format restraint dictionary LIG.restraints.cif with the default PDB chemical component id (aka residue name or 3-letter code) of LIG. To set the 3-letter code use the command-line option --resname, for instance if you wanted the 3-letter residue name DRG:

$ grade2 'Oc1ccccc1' --resname LIG

In this case the output files will be called LIG.restraints.cif.

In practice, it is important to look at the terminal output produced as you will be warned that there is already a wwPDB compound definition for this SMILES string: it is phenol IPH https://www.rcsb.org/ligand/IPH "phenol". So in this case it would be much better to follow the next section and produce a restraint dictionary for IPH. Please see the Grade2 outputs chapter for more details.

Producing restraints for an existing PDB ligand

To produce a restraint dictionary for a compound that already exists in the PDB it is best to use the --PDB_ligand option. For example, to produce a restraint dictionary for Sildenafil that has the PDB chemical component ID VIA run:

$ grade2 --PDB_ligand VIA

This will produce output using the wwPDB Chemical Component Dictionary (CCD) compound record for VIA (see https://www.rcsb.org/ligand/VIA for an overview). Grade2 will download the wwPDB CCD CIF file for the compound from either PDBeChem: https://www.ebi.ac.uk/pdbe-srv/pdbechem/ or from Ligand Expo: http://ligand-expo.rcsb.org/. The output restraint dictionary will be called VIA.restraints.cif and other files will be named VIA.*, see the Grade2 outputs chapter. In practice, it is important to look at the Terminal Output produced as you will be warned that there is a nitrogen atom that has been charged by adding a proton to it. If instead you wanted results for the original uncharged molecule then use the --no_charging option:

$ grade2 --PDB_ligand VIA --force_overwrite --no_charging

The --force_overwrite option allows Grade2 to overwrite any existing VIA.* grade2 files. If you prefer less typing, as each of the options used has a short single-character alternative so the above command is equivalent to:

$ grade2 -P VIA -f -N

In all cases, the output restraint dictionary will be called VIA.restraints.cif and other files will be named VIA.*, see the Grade2 outputs chapter for more details.

Producing restraints for a compound from a chemical database

Suppose you want to produce restraints for a compound from a chemical database (either public or corporate). Let us take Sildenafil as an example case. The PubChem entry for Sildenafil is https://pubchem.ncbi.nlm.nih.gov/compound/135398744. Given that PubChem provides reliable model 3D coordinates for its compounds it is most sensible to use the 3D SDF coordinates download option to download Conformer3D_CID_135398744.sdf. grade2 can be run for the downloaded SDF file, using the --in option:

$ grade2 --in Conformer3D_CID_135398744.sdf

This command will result in outputs with the default PDB chemical component id (aka residue name or 3-letter code) of LIG. It is normally best to use the command-line option --resname to set the 3-letter code, for instance here to S_L.

$ grade2 --in Conformer3D_CID_135398744.sdf --resname S_L

This will result in output files whose names starting S_L.. Suppose you wanted the output files to be named 135398744.*, this can be achieved using the --out option:

$ grade2 --in Conformer3D_CID_135398744.sdf --resname S_L \
  --out 135398744

Furthermore, as in this case we know both an appropriate name for the compound and a database ID, it is a good idea to set these, using the --resname and --database_id options:

$ grade2 --in Conformer3D_CID_135398744.sdf --resname S_L \
  --out 135398744 --name Sildenafil --database_id "CID 135398744"

If you prefer less typing each of the options used has a short single-character alternative so the above command is equivalent to:

$ grade2 -i Conformer3D_CID_135398744.sdf -r S_L \
  -o 135398744 -n Sildenafil -d "CID 135398744"

In practice, it is important to look at the terminal output produced as you will be warned that there is already a wwPDB compound definition for Sildenafil in output lines:

$ grade2 -i Conformer3D_CID_135398744.sdf -r S_L \
  -o 135398744 -n Sildenafil -d "CID 135398744"
 ############################################################################
 ##   [grade2] ligand restraint dictionary generation
 ############################################################################
 ... (output abbreviated)
 CHECK: Check the molecule's InChiKey against known PDB components:
 CHECK: Match to PDB chemical component(s) with a different number of protons:
 CHECK:   VIA https://www.rcsb.org/ligand/VIA "5-{2-ethoxy-5-[(4-methylpiperazin-1-yl)sulfonyl]phenyl}-1-methyl-3-propyl-1H,6H,7H-pyrazolo[4,3-D]pyrimidin-7-one"
 ... (output abbreviated)

So it is best to use a restraint dictionary for the PDB chemical component VIA to ensure compatibility. Please see the previous section that explains how to generate a restraint dictionary for VIA.