Difference between revisions of "AtomSets"

From Jmol
Jump to navigation Jump to search
(update definition of water and solvent)
(caveat: many atom sets are restricted to file formats with residue IDs # also, update on 'solvent' and 'ions' # Other updates)
Line 2: Line 2:
 
= Predefined Atom Sets =
 
= Predefined Atom Sets =
  
Jmol recognizes and uses several ''keywords'' or ''tokens'' for several purposes: commands in the scripting language, colors, etc. Among them, there are keywords for predefined atom sets:
+
Jmol recognizes and uses several ''keywords'' or ''tokens'' for several purposes: commands in the scripting language, colors, etc. Among them, there are keywords for predefined atom sets.
 +
 
 +
Please note that many of these keywords only apply to file formats that specify a residue ID or group ID as part of the information for each atom (most typically, <code>pdb</code> and <code>mmcif</code> formats, designed for macromolecules).
  
 
:''Technical note'': most of these are set in [http://jmol.svn.sourceforge.net/viewvc/jmol/trunk/Jmol/src/org/jmol/viewer/JmolConstants.java?view=markup src/org/jmol/viewer/JmolConstants.java]
 
:''Technical note'': most of these are set in [http://jmol.svn.sourceforge.net/viewvc/jmol/trunk/Jmol/src/org/jmol/viewer/JmolConstants.java?view=markup src/org/jmol/viewer/JmolConstants.java]
Line 34: Line 36:
  
 
* <tt>rna</tt>:
 
* <tt>rna</tt>:
: A group is 'rna' if it is 'nucleic' and it also contains an atom named O2* (or O2').
+
: A group is 'rna' if it is <tt>nucleic</tt> and it also contains an atom named O2* (or O2').
  
 
* <tt>dna</tt>:
 
* <tt>dna</tt>:
: A group is 'dna' if it is 'nucleic' and it '''does not''' contain an atom named O2* (or O2').
+
: A group is 'dna' if it is <tt>nucleic</tt> and it '''does not''' contain an atom named O2* (or O2').
  
 
* <tt>water</tt>:
 
* <tt>water</tt>:
Line 44: Line 46:
  
 
* <tt>ions</tt>:
 
* <tt>ions</tt>:
: This set is composed of groups named PO4 or SO4.
+
: This set is not what might seem, but it's just composed of groups named PO4 or SO4.
 +
:: ''Explanation'': Both are common ions in protein crystals for X-ray diffraction, and this special set (which is RasMol syntax) is kept for backward compatibility.
  
 
* <tt>solvent</tt>:
 
* <tt>solvent</tt>:
: The original implementation of this was <tt>water</tt> or <tt>ions</tt>.
+
: The original implementation of this was <tt>water</tt> or <tt>ions</tt>. Now, in addition to the extended water definition, it also includes SOL and UREA groups.
: Now, all these are solvent: <tt>water</tt>, SOL, UREA, PO4, SO4.
 
  
 
* <tt>ligand</tt>:
 
* <tt>ligand</tt>:
: <tt>hetero</tt> and not <tt>solvent</tt> (needs confirmation; at least, it is so in Rasmol)
+
: Again, not always what you would expect. Defined as <tt>hetero</tt> and not <tt>solvent</tt>.
  
 
== By type of residue: ==
 
== By type of residue: ==
Inclusion in this sets is determined by residue id (only as far as it is written in the adequate field in the molecular coordinate file, usually PDB format).
+
Inclusion in these sets is mostly determined by residue id (only as far as it is written in the adequate field in the molecular coordinate file, usually PDB format). A few cases are also included based on their chemical structure and the presence of a distinguishing atom name.
  
 
Residue IDs:
 
Residue IDs:
* Nucleotides: <tt>A, G, C, T, U</tt>
+
* Nucleotides: <tt>A, G, C, T, U, DA, DG, DC, DT</tt> but also based on their chemical <tt>nucleic</tt> structure and certain atom names. <tt>tu</tt> gets thiouridine.
 
* Amino acids: the 3-letter standard abbreviation  
 
* Amino acids: the 3-letter standard abbreviation  
  
Line 85: Line 87:
  
 
(*)Note: on PDB format: '''atom id''' is called ''atom name'', and must be in these positions/columns:
 
(*)Note: on PDB format: '''atom id''' is called ''atom name'', and must be in these positions/columns:
* 13-14 : Chemical symbol, right justified, except for hydrogen atoms
+
:* 13-14 : Chemical symbol, right justified, except for hydrogen atoms
* 15 : Remoteness indicator (alphabetic); e.g., in amino acid residues, alpha = <tt>A</tt>, beta = <tt>B</tt>, gamma = <tt>G</tt>, delta = <tt>D</tt>, epsilon = <tt>E</tt>.
+
:* 15 : Remoteness indicator (alphabetic); e.g., in amino acid residues, alpha = <tt>A</tt>, beta = <tt>B</tt>, gamma = <tt>G</tt>, delta = <tt>D</tt>, epsilon = <tt>E</tt>.
* 16 : Branch designator (numeric).
+
:* 16 : Branch designator (numeric).
  
 
=== <tt>Sidechain</tt> ===
 
=== <tt>Sidechain</tt> ===
Line 107: Line 109:
 
** hydrogens attached to carbon ring: <tt>H1', 1H2', 2H2'</tt> (only DNA), <tt>H3', H4', 1H5'</tt> and <tt>2H5'</tt>
 
** hydrogens attached to carbon ring: <tt>H1', 1H2', 2H2'</tt> (only DNA), <tt>H3', H4', 1H5'</tt> and <tt>2H5'</tt>
 
** hydroxyls: <tt>O2', O3', O4', O5', 2HO'</tt> (H on 2'-hydroxyl, only RNA) (the ring oxygen is denoted <tt>O4</tt>, not <tt>O1</tt>).
 
** hydroxyls: <tt>O2', O3', O4', O5', 2HO'</tt> (H on 2'-hydroxyl, only RNA) (the ring oxygen is denoted <tt>O4</tt>, not <tt>O1</tt>).
 
+
: Note: old PDB files label pentose atoms with asterisk instead of prime signs. How does Jmol cope with this? Not much of a trouble: given the asterisk is a wildcard, "<tt>select C3*</tt>" will get pentose carbons either labeled with prime or asterisk!.
<blockquote>Note: PDB files label pentose atoms with asterisk instead of prime signs. How does Jmol cope with this? Not much of a trouble: given the asterisk is a wildcard, "<tt>select C3*</tt>" will get pentose carbons either labeled with prime or asterisk!.
 
</blockquote>
 
  
 
* Termini:
 
* Termini:
Line 116: Line 116:
 
** 3'-terminus hydrogen (on 3'-hydroxyl): <tt>H3T</tt>
 
** 3'-terminus hydrogen (on 3'-hydroxyl): <tt>H3T</tt>
  
* Atoms in bases:
+
* Atoms in bases (excluded from <tt>backbone</tt>):
 
** ring, both purines and pyrimidines: <tt>N1, C2, N3, C4, C5, C6</tt>
 
** ring, both purines and pyrimidines: <tt>N1, C2, N3, C4, C5, C6</tt>
 
** ring, purines: <tt>N7, C8, N9</tt>
 
** ring, purines: <tt>N7, C8, N9</tt>
Line 130: Line 130:
  
 
(*)Note: on PDB format, '''atom id''' is called ''atom name'', and must be in these positions/columns:
 
(*)Note: on PDB format, '''atom id''' is called ''atom name'', and must be in these positions/columns:
* 13-14 : Chemical symbol, right justified, except for hydrogen atoms
+
:* 13-14 : Chemical symbol, right justified, except for hydrogen atoms
* 15 : Remoteness indicator (alphabetic).
+
:* 15 : Remoteness indicator (alphabetic).
* 16 : Branch designator (numeric).
+
:* 16 : Branch designator (numeric).
  
 
=== Sidechain ===
 
=== Sidechain ===
Line 144: Line 144:
 
  '''define''' ''whatever_name'' ''atom_expression''
 
  '''define''' ''whatever_name'' ''atom_expression''
 
Later, that set's name can be used as the predefined ones, in commands <code>select, restrict, display, hide</code>, etc.
 
Later, that set's name can be used as the predefined ones, in commands <code>select, restrict, display, hide</code>, etc.
 +
 +
You can also use [{{ScriptingDoc}}#jmolmath JmolScript variables] for this purpose.
  
 
= Selecting atom sets from the pop-up menu =
 
= Selecting atom sets from the pop-up menu =
 
See [[AtomSets/Popup Menu]].
 
See [[AtomSets/Popup Menu]].

Revision as of 13:54, 28 February 2010

Jmol + JSmol Documentation

Predefined Atom Sets

Jmol recognizes and uses several keywords or tokens for several purposes: commands in the scripting language, colors, etc. Among them, there are keywords for predefined atom sets.

Please note that many of these keywords only apply to file formats that specify a residue ID or group ID as part of the information for each atom (most typically, pdb and mmcif formats, designed for macromolecules).

Technical note: most of these are set in src/org/jmol/viewer/JmolConstants.java

By element name:

carbon, oxygen, hydrogen, sulphur, etc.

On Jmol 11, element symbol preceded by underscore can also be used: _C, _O, _H, _S, etc. Also, deuterium or _D, and tritium or _T.

On PDB format, Jmol will identify the element from columns 77-78 (element symbol, right-justified). If this is absent, then it will interpret the "atom name" field (columns 13-14) to deduce the element identity.

Note: Jmol 10.2 has a bug by which it may read calcium as alpha carbon based on its ID, although identification by element name works properly. It's been fixed for Jmol 11.

By type of molecule:

  • amino:
This is based only upon group name and has nothing to do with the actual atoms that make up the group.
This set is composed of all groups with one of these names: ALA, ARG, ASN, ASP, CYS, GLN, GLU, GLY, HIS, ILE, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR, VAL, ASX, GLX, UNK.
This will usually be the 20 canonical proteinogenic amino acids, plus ambiguous Asp/Asn (ASX), ambiguous Glu/Gln (GLX) and 'unknown' (UNK).
  • protein:
The 'protein' set in Jmol is based solely on the atoms that make up the group. It is independent of the group name and independent of whether the atoms are defined in ATOM records or HETATM records.
This has the advantage that modified groups and interesting things that are not amino acids can still be identified as part of the protein.
The atoms that make up the set are recognized by the names of the atoms.
  • Case 1:
If the group has 4 atoms named N, CA, C and (O or O1) and they are bonded in the correct order, then the group is considered protein.
  • Case 2:
If the group has exactly 1 atom whose name is CA then it is considered protein. The purpose of this is to pick up alpha-carbon-only models
  • nucleic:
A group is considered 'nucleic' if it contains atoms with all of these names: C3*, O3*, O5*, N1, C2, N3, C4, C5, C6 (asterisk may be substituted by prime/apostrophe). It is independent of the group name and independent of whether the atoms are defined in ATOM records or HETATM records.
  • rna:
A group is 'rna' if it is nucleic and it also contains an atom named O2* (or O2').
  • dna:
A group is 'dna' if it is nucleic and it does not contain an atom named O2* (or O2').
  • water:
The original implementation of this set was groups named HOH, DOD, or WAT.
Now, any molecule chemically interpreted as water (an oxygen atom connected to two hydrogen, deuterium or tritium atoms) also belongs in the set.
  • ions:
This set is not what might seem, but it's just composed of groups named PO4 or SO4.
Explanation: Both are common ions in protein crystals for X-ray diffraction, and this special set (which is RasMol syntax) is kept for backward compatibility.
  • solvent:
The original implementation of this was water or ions. Now, in addition to the extended water definition, it also includes SOL and UREA groups.
  • ligand:
Again, not always what you would expect. Defined as hetero and not solvent.

By type of residue:

Inclusion in these sets is mostly determined by residue id (only as far as it is written in the adequate field in the molecular coordinate file, usually PDB format). A few cases are also included based on their chemical structure and the presence of a distinguishing atom name.

Residue IDs:

  • Nucleotides: A, G, C, T, U, DA, DG, DC, DT but also based on their chemical nucleic structure and certain atom names. tu gets thiouridine.
  • Amino acids: the 3-letter standard abbreviation

Residue sets:

  • Nucleotides: purine, pyrimidine, at, cg
  • Amino acids:
    • acyclic, cyclic, aliphatic, aromatic
    • large (Arg,Glu,Gln,His,Ile,Leu,Lys,Met,Phe,Trp,Tyr), medium (Asn,Asp,Cys,Pro,Thr,Val), small (Ala,Gly,Ser)
    • polar, nonpolar, hydrophobic (Ala,Gly,Ile,Leu,Met,Phe,Pro,Trp,Tyr,Val), neutral, charged, acidic, negative, basic, positive, ...
    • buried (Ala,Cys,Ile,Leu,Met,Phe,Trp,Val), surface
  • hetero, ions, ligand, water, solvent (see above)

By structure of the polymer:

  • helix, sheet, turn
  • bonded

Parts in proteins:

Backbone or Mainchain

Inclusion in this set is determined by atom id*, as follows:

  • Peptide bond: N, H (bound to N), CA (alpha carbon), HA (bound to CA), C (carbonyl carbon), O or O1 (bound to C)
  • In glycine, the two equivalent hydrogens are both in the backbone set: either H1 and 1HA or 1HA and 2HA.
  • Termini:
    • second carbonyl oxygen on C-terminus: OXT
    • terminal amino hydrogens: 1H, 2H, 3H

(*)Note: on PDB format: atom id is called atom name, and must be in these positions/columns:

  • 13-14 : Chemical symbol, right justified, except for hydrogen atoms
  • 15 : Remoteness indicator (alphabetic); e.g., in amino acid residues, alpha = A, beta = B, gamma = G, delta = D, epsilon = E.
  • 16 : Branch designator (numeric).

Sidechain

Defined as (not backbone).

Alpha

A set defined by atom id CA.

Parts in nucleic acids:

Backbone or Mainchain

Inclusion in this set is determined by atom id*, as follows:

  • Phosphate groups:
    • phosphorus: P
    • oxygens bound to phosphorus: O1P, O2P
  • Atoms in pentose:
    • carbon ring: C1', C2', C3', C4', C5'
    • hydrogens attached to carbon ring: H1', 1H2', 2H2' (only DNA), H3', H4', 1H5' and 2H5'
    • hydroxyls: O2', O3', O4', O5', 2HO' (H on 2'-hydroxyl, only RNA) (the ring oxygen is denoted O4, not O1).
Note: old PDB files label pentose atoms with asterisk instead of prime signs. How does Jmol cope with this? Not much of a trouble: given the asterisk is a wildcard, "select C3*" will get pentose carbons either labeled with prime or asterisk!.
  • Termini:
    • 5'-terminus oxygen (no phosphate): O5T
    • 5'-terminus hydrogen (attached to O5T or O5'): H5T
    • 3'-terminus hydrogen (on 3'-hydroxyl): H3T
  • Atoms in bases (excluded from backbone):
    • ring, both purines and pyrimidines: N1, C2, N3, C4, C5, C6
    • ring, purines: N7, C8, N9
    • ring, pyrimidines: O2
    • substituents on ring:
      • in cytosine: N4
      • in guanine: N2
      • in adenine: N6
      • in thymine: C5M
      • in guanine and hypoxanthine: O6
      • in thymine and uracil: O4
      • in thiouracil: S4

(*)Note: on PDB format, atom id is called atom name, and must be in these positions/columns:

  • 13-14 : Chemical symbol, right justified, except for hydrogen atoms
  • 15 : Remoteness indicator (alphabetic).
  • 16 : Branch designator (numeric).

Sidechain

Defined as (not backbone).

Bases

Synonym of (nucleic and sidechain).

User-defined Atom Sets

A set can be created, and assigned any group of atoms, by giving it a name, using

define whatever_name atom_expression

Later, that set's name can be used as the predefined ones, in commands select, restrict, display, hide, etc.

You can also use JmolScript variables for this purpose.

Selecting atom sets from the pop-up menu

See AtomSets/Popup Menu.