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
.