Difference between revisions of "Database Connection"
AngelHerraez (talk | contribs) (Connection of Jmol to resources with DOI) |
AngelHerraez (talk | contribs) (Connection of Jmol to resources with DOI (as reported by Henry Rzepa)) |
||
Line 141: | Line 141: | ||
= Connection of Jmol to resources with DOI = | = Connection of Jmol to resources with DOI = | ||
− | . | + | |
+ | Jmol can retrieve a model from a resource that complies with this: | ||
+ | * the file to be loaded has a registered [[:en:Digital_object_identifier|DOI]] | ||
+ | * the DOI metadata defining the path to the resource has a METS or ORE resource map | ||
+ | |||
+ | Under that situation, a mechanism may be implemented to retrieve the model from the DOI value into JSmol. | ||
+ | |||
+ | There is an example | ||
+ | at http://www.ch.ic.ac.uk/rzepa/talks/durham1/doi.html | ||
+ | including links of the form | ||
+ | <a href="javascript:handle_jmol('10.14469/hpc/4310', etc. | ||
+ | where 10.14469/hpc/4310 is the DOI, which points to the landing page and the deposition metadata points to the resource map which defines the path to the required file from the landing page. | ||
+ | |||
+ | The function <code>handle_jmol()</code> is processed in a custom JavaScript called <code>resolve-doi.js</code> (included in that example page). | ||
+ | |||
+ | This works at least for a DSpace repository (which uses METS resource maps) and a local repository (which uses ORE). | ||
+ | |||
+ | :''Note: If anyone knows of molecular files in other METS or ORE compliant data repositories, please share with [[User:Rzepa|Henry Rzepa]]'' |
Revision as of 10:34, 9 June 2018
Contents
Summary
Shorthand notations (read below for details and explanation):
RCSB PDB | RCSB Ligands | EBI PDB Europe |
NCI (Cactus) |
PubChem | CrystOD |
---|---|---|---|---|---|
= | == | * | $ | : | |
=pdb/ | =ligand/ | =pdbe/ | =nci/ | =pubchem/ | =cod/ |
Connection of Jmol to databases
Jmol can connect to certain databases in order to directly retrieve structures. This applies to the Jmol application, to the JSmol HTML5 object and to the Jmol signed Java applet. (The unsigned applet is not allowed connection to external servers and so does not support this method.)
- Note: After some changes (2016) in the way some databases are allowing access, old versions of Jmol will fail to retrieve the structures. Updating your Jmol will fix this problem. Example of this failure:
ERROR in script: unrecognized file format for file http://cactus.nci.nih.gov/chemical/structure/tylenol/file?format=sdf&get3d=True <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title>
PDB
(The RCSB Protein Data Bank, also Wordlwide PDB, wwPDB)
Macromolecular structures may be retrieved from the PDB database:
- Using the Jmol application, top menu bar
File > Get PDB
. A dialog is displayed where you can type a 4-character PDB ID. - Using the script language:
- use an equal sign followed by the 4-character PDB ID (no spaces). Example:
load =1CRN
for crambin. - use an equal sign followed by
pdb
, a forward slash, and the 4-character PDB ID. Example:load =pdb/1CRN
for crambin.
- use an equal sign followed by the 4-character PDB ID (no spaces). Example:
For additional options (nucleic acid secondary structure, validation or domain annotations), see the load
command
Ligand structures can also be retrieved (in CIF format) from the PDB:
- Using the Jmol application, top menu bar
File > Get PDB
. You must type an equal sign before the 3-character PDB ID of the ligand. - Using the script language:
- use two equal signs. Example:
load ==ETB
for ethyl-coenzyme A. - use an equal sign followed by
ligand
, a forward slash, and the 3-character ID. Example:load =ligand/ETB
- use two equal signs. Example:
Database location
By default Jmol will connect to the PDB server at https://files.rcsb.org/download/ for macromolecules (when using the '=id' option) and at https://files.rcsb.org/ligands/download/ for ligands (when using the '==id' option). To force the use of another server, you can do:
set loadFormat = " " set loadLigandFormat = " "
and put between the quotes the url in the proper request format; use %FILE
at the position where the PDB ID should be inserted into the url.
More details
Examples:
set loadFormat = "https://files.rcsb.org/download/%FILE.pdb" set loadFormat = "http://www.ebi.ac.uk/msd-srv/oca/oca-bin/save-pdb?id=%FILE" set loadLigandFormat = "https://files.rcsb.org/ligands/download/%FILE.cif"
PDB Europe
EMBL-EBI's Protein Data Bank in Europe (PDBe) keeps a mirror of the PDB data.
To retrieve models from them, in mmCIF format:
- Using the script language:
- use an asterisk sign followed by the 4-character PDB ID (no spaces). Example:
load *1CRN
for crambin. - use an equal sign followed by
pdbe
, a forward slash, and the 4-character PDB ID (no spaces). Example:load =pdbe/1CRN
- use an asterisk sign followed by the 4-character PDB ID (no spaces). Example:
For additional options (nucleic acid secondary structure, validation or domain annotations), see the load
command
NCI/NIH
National Cancer Institute, CADD Group's Chemoinformatics Tools, Chemical Identifier Resolver (CACTUS server).
Chemical structures may be retrieved from this database by using a common name, a IUPAC name, a SMILES, an InChI, an InChIKey, a Chemical Abstracts registry number...
Note: the SMILES will be converted to a reasonable 3D model in the server.
- Using the Jmol application, top menu bar
File > Get MOL
. A dialog is displayed where you can type the name or identifier. - Using the script language:
- use a dollar sign followed by the name or identifier (no spaces). If the name contains spaces, enclose between quotes. Examples:
load $aspirin
;load "$acetylsalycilic acid"
- use an equal sign followed by
nci
, a forward slash, and the name or identifier. Example:load =nci/aspirin
- use a dollar sign followed by the name or identifier (no spaces). If the name contains spaces, enclose between quotes. Examples:
Database location
By default, Jmol will connect to the CACTUS server at https://cactus.nci.nih.gov/chemical/structure/ To force the use of another server, you can do:
set nihResolverFormat = " " set smilesURLformat = " "
and put between the quotes the url in the proper request format; use %FILE
at the position where the name or ID should be inserted into the url.
More details
Examples:
set nihResolverFormat = "https://cactus.nci.nih.gov/chemical/structure/%FILE" set smilesURLformat = "https://cactus.nci.nih.gov/chemical/structure/%FILE/file?format=sdf&get3d=true"
PubChem
National Center for Biotechnology Information, PubChem.
Chemical structures may be retrieved from this database by name
- Using the Jmol application, top menu bar
File > Get MOL
. A dialog is displayed where you can type the name or identifier, prefixed with a : sign. - Using the script language:
- use a colon sign followed by the name or identifier (no spaces). If the name contains spaces, enclose between quotes.
- use an equal sign followed by
pubchem
, a forward slash, and the name or identifier.
Examples:
load :aspirin
load =pubchem/aspirin
load ":acetylsalycilic acid"
For a more explicit indication of the kind of identifier that is being provided, a tag and an extra colon are included:
load :name:tylenol
load :cas:103-90-2
load :cid:1983
load :smiles:CC(=O)Nc1ccc(cc1)O
Here the :smiles: tag is required
Database location
By default, Jmol will connect to the PubChem server at https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/ To force the use of another server, you can do:
set pubChemFormat = " "
and put between the quotes the url in the proper request format; use %FILE
at the position where the name or ID should be inserted into the url.
Example:
https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/%FILE/SDF?record_type=3d
Crystallographic Open Database
The COD website holds an open-access collection of crystal structures of organic, inorganic, metal-organic compounds and minerals, excluding biopolymers.
- (This feature was added in Jmol Version 14.3.12_2015.01.21)
Chemical structures (in CIF format) may be retrieved from this database by numeric code:
- Using the script language: use an equal sign followed by
cod
, a forward slash and the numeric code of the compound (no spaces). Example:load =cod/1000373
for sodium vanadium dioxide difluoride (symmetry space group P 1 21 1)load =cod/1000373 {444 666 1}
for a display of the crystalline network of the same
Connection of Jmol to resources with DOI
Jmol can retrieve a model from a resource that complies with this:
- the file to be loaded has a registered DOI
- the DOI metadata defining the path to the resource has a METS or ORE resource map
Under that situation, a mechanism may be implemented to retrieve the model from the DOI value into JSmol.
There is an example at http://www.ch.ic.ac.uk/rzepa/talks/durham1/doi.html including links of the form
<a href="javascript:handle_jmol('10.14469/hpc/4310', etc.
where 10.14469/hpc/4310 is the DOI, which points to the landing page and the deposition metadata points to the resource map which defines the path to the required file from the landing page.
The function handle_jmol()
is processed in a custom JavaScript called resolve-doi.js
(included in that example page).
This works at least for a DSpace repository (which uses METS resource maps) and a local repository (which uses ORE).
- Note: If anyone knows of molecular files in other METS or ORE compliant data repositories, please share with Henry Rzepa