Difference between revisions of "File formats/Formats/HIN"

From Jmol
Jump to navigation Jump to search
(new page for details on HIN format)
 
(HIN format details)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= The HIN file format =
 
= The HIN file format =
This is a native format of Hyperchem, a software sold by  
+
This is a native format of '''Hyperchem''', a software sold by  
 
[http://www.hyper.com/ Hypercube Inc.].  
 
[http://www.hyper.com/ Hypercube Inc.].  
  
 
HIN files are text files that contain several records, each on a separate line.  
 
HIN files are text files that contain several records, each on a separate line.  
Each line, except for a comment, begins with a keyword.  
+
Each line, except for a comment, begins with a keyword. This format specifies both atoms and bonds, as well as other atomic properties.
  
A special feature of HIN files is that records can be added or potentially missing without affecting the operation of HyperChem.
+
The HIN file in addition to storing molecular information may also store information associated with annotations (text, line, ellipse, and rectangle). (''This is not supported by Jmol'')
  
The HIN file in addition to storing molecular information may also store information associated with annotations (text, line, ellipse, and rectangle). (''This is not supported by Jmol'')
+
Note: Several records that are not relevant to Jmol are omitted from this description.
  
 
== Comments ==
 
== Comments ==
Line 14: Line 14:
  
 
== Information ==
 
== Information ==
1st line (excluding comments) (''ignored by Jmol''):
+
''These lines are ignored by Jmol, may they be present or not''.
 +
According to the HIN specification, the first line is compulsory, the others are optional (but other software may produce HIN-formatted files that lack the first line).
 
  forcefield  <force-field-name>
 
  forcefield  <force-field-name>
Optional lines (''ignored by Jmol''):
+
  sys   <...>
  sys  
+
  seed <...>
  seed
+
  view <...>
  view
+
  box   <...>
  box  
 
  
 
== Molecular data ==
 
== Molecular data ==
Each molecule block contains molecule opening lines, several atom blocks and molecule closing lines.
+
A file may contain one or more molecule blocks (delimited by <code>'''mol'''...'''endmol'''</code>) ''and Jmol will read them all into separate frames''.
 +
 
 +
Each molecule block contains molecule opening lines, several atom blocks and molecule closing lines. In biopolymers, the atom blocks may be grouped into residue blocks
 +
(delimited by <code>'''res'''...'''endres'''</code>), ''but Jmol does not currently support the residue information and will just read all atoms as part of the molecule''.
  
Molecule opening lines (the <code>res</code> line is optional):
+
Molecule and residue opening lines (the <code>res</code> line is optional):
 
  mol <number> <name>
 
  mol <number> <name>
 
  res <number> <name> <PDB#> <previous-res#> <next-res#>
 
  res <number> <name> <PDB#> <previous-res#> <next-res#>
  
* A <code>'''mol'''</code> record starts the description of each molecule. It must be matched by an <code>'''endmol'''</code> record.
+
* A <code>'''mol'''</code> record starts the description of each molecule. It must be matched by an <code>'''endmol'''</code> record.  
** <code>'''number'''</code> is the number of the molecule in the molecular system, starting with 1.
+
** <code>'''number'''</code> is the number of the molecule in the file, starting with 1.
** <code>'''name'''</code> is a name or description for the molecule (up to 64 characters and enclosed in double quotes).
+
** <code>'''name'''</code> is a name or description for the molecule (up to 64 characters and enclosed in double quotes). ''Not supported by Jmol.''
  
* A <code>'''res'''</code> record starts the description of each residue in a molecule. It must be matched by an <code>'''endres'''</code> record.
+
* A <code>'''res'''</code> record starts the description of each residue in a molecule. It must be matched by an <code>'''endres'''</code> record. Each <code>'''mol'''...'''endmol'''</code> block may contain none, one or several <code>'''res'''...'''endres'''</code> blocks. ''Jmol does not currently support the residue information.''
 
** <code>'''number'''</code> is the number of the residue in the molecule, starting with 1.
 
** <code>'''number'''</code> is the number of the residue in the molecule, starting with 1.
** <code>'''name'''</code> is the name of the residue (up to 4 characters and must be defined in a TPL file).
+
** <code>'''name'''</code> is the name of the residue (up to 4 characters and must be defined in a TPL file).  
 
** <code>'''PDB#'''</code>, <code>'''previous-res#'''</code> and <code>'''next-res#'''</code> preserve information originated in a [[File_formats/Coordinates#PDB|pdb]] file.
 
** <code>'''PDB#'''</code>, <code>'''previous-res#'''</code> and <code>'''next-res#'''</code> preserve information originated in a [[File_formats/Coordinates#PDB|pdb]] file.
  
 
Each atom block contains a line and several optional lines:
 
Each atom block contains a line and several optional lines:
  atom <number> <name> <element> <type> <flags> <charge> <x> <y> <z> <cn> <nbor# nbor-bond>
+
  atom <at#> <name> <element> <type> <flags> <charge> <x> <y> <z> <cn> <nbor# nbor-bond>
 
  vel  <at#>  <x>  <y>  <z>
 
  vel  <at#>  <x>  <y>  <z>
 
  mass  <at#> <mass>
 
  mass  <at#> <mass>
Line 45: Line 48:
 
  formalcharge  <at#> <formal charge>
 
  formalcharge  <at#> <formal charge>
  
* <code>'''number'''</code> is the number of the atom in the molecule, starting with 1. Atom numbers must be continuous through a molecule. A combination of atom number and molecule number uniquely identifies an atom in a molecular system.  
+
* <code>'''atom'''</code>
* <code>'''name'''</code> is the name of the atom (up to 4 characters, without spaces or quotes).
+
** <code>'''at#'''</code> is the number identifying the atom in the molecule (must start with 1 and be continuous through a molecule). Therefore a combination of atom number and molecule number uniquely identifies an atom in a file.  
* <code>'''element'''</code> is the chemical symbol (up to 3 characters).
+
** <code>'''name'''</code> is the name of the atom (up to 4 characters, without spaces or quotes). ''Not supported by Jmol.''
* <code>'''type'''</code> is the atom type assigned by a force field (up to 4 characters).
+
** <code>'''element'''</code> is the chemical symbol (up to 3 characters). ''Supported by Jmol.''
* <code>'''flags'''</code> is a series of one-letter flags (without spaces between them):
+
** <code>'''type'''</code> is the atom type assigned by a force field (up to 4 characters).
** h = a heteroatom, as defined in PDB files;
+
** <code>'''flags'''</code> is a series of one-letter flags (without spaces between them):
** i = atom is part of an improper torsion;
+
*** h = a heteroatom, as defined in PDB files;
** x = a united atom;
+
*** i = atom is part of an improper torsion;
** s = a selected atom;
+
*** x = a united atom;
** – = no flag.
+
*** s = a selected atom;
* <code>'''charge'''</code> is the formal charge.
+
*** – = no flag.
* <code>'''x y z'''</code> are the coordinates.
+
** <code>'''charge'''</code> is the formal charge. ''Jmol reads this as partial charge.''
* <code>'''cn'''</code> is the coordination number, or number of atoms covalently bonded to this atom (an integer, from 0 to 12).
+
** <code>'''x y z'''</code> are the coordinates. ''Supported by Jmol.''
* <code>'''nbor# nbor-bond'''</code> describes the bonded atoms and the type of bond for each (from 1 to 12 pairs of values, to describe all bonded atoms).
+
** <code>'''cn'''</code> is the coordination number, or number of atoms covalently bonded to this atom (an integer, from 0 to 12).
** <code>'''nbor#'''</code> is the number identifying the bonded atom;  
+
** <code>'''nbor# nbor-bond'''</code> describes the bonded atoms and the type of bond for each (from 1 to 12 pairs of values, to describe all atoms bonded to the current one). ''Supported by Jmol.''
** <code>'''nbor-bond'''</code> is the bond type:  
+
*** <code>'''nbor#'''</code> is the number identifying the bonded atom;  
*** s = single
+
*** <code>'''nbor-bond'''</code> is the bond type:  
*** d = double
+
**** s = single
*** t = triple
+
**** d = double
*** a = aromatic
+
**** t = triple
 +
**** a = aromatic
  
 +
* <code>'''vel'''</code> defines atomic velocities (in Å per picosecond), generated by a molecular dynamics calculation. ''Not supported by Jmol.''
  
Molecule closing lines (the <code>endres</code> line is present only when there was a <code>res</code> line before):
+
* <code>'''mass'''</code> specifies a non-default mass for the atom (i.e. an isotope), in atomic mass units. ''Not supported by Jmol.''
 +
 
 +
* <code>'''basisset'''</code> is used for ''ab initio'' calculations. ''Not applicable to Jmol''.
 +
 
 +
* <code>'''formalcharge'''</code> is another way of defining a formal charge for the atom. ''Not supported by Jmol.''
 +
 
 +
Residue and molecule closing lines (the <code>endres</code> line is present only when there was a <code>res</code> line before):
 
  endres <res#>
 
  endres <res#>
 
  endmol <mol#>
 
  endmol <mol#>
 
  
 
= Sources =
 
= Sources =
* ''Appendix D: HIN Files'' in the Reference Manual available from Hypercube's web site.
+
* ''Appendix D: HIN Files'' in the Reference Manual available as part of the installed HyperChem package.

Latest revision as of 15:59, 5 June 2010

The HIN file format

This is a native format of Hyperchem, a software sold by Hypercube Inc..

HIN files are text files that contain several records, each on a separate line. Each line, except for a comment, begins with a keyword. This format specifies both atoms and bonds, as well as other atomic properties.

The HIN file in addition to storing molecular information may also store information associated with annotations (text, line, ellipse, and rectangle). (This is not supported by Jmol)

Note: Several records that are not relevant to Jmol are omitted from this description.

Comments

Comment lines begin with a semicolon (;).

Information

These lines are ignored by Jmol, may they be present or not. According to the HIN specification, the first line is compulsory, the others are optional (but other software may produce HIN-formatted files that lack the first line).

forcefield  <force-field-name>
sys   <...>
seed  <...>
view  <...>
box   <...>

Molecular data

A file may contain one or more molecule blocks (delimited by mol...endmol) and Jmol will read them all into separate frames.

Each molecule block contains molecule opening lines, several atom blocks and molecule closing lines. In biopolymers, the atom blocks may be grouped into residue blocks (delimited by res...endres), but Jmol does not currently support the residue information and will just read all atoms as part of the molecule.

Molecule and residue opening lines (the res line is optional):

mol <number> <name>
res <number> <name> <PDB#> <previous-res#> <next-res#>
  • A mol record starts the description of each molecule. It must be matched by an endmol record.
    • number is the number of the molecule in the file, starting with 1.
    • name is a name or description for the molecule (up to 64 characters and enclosed in double quotes). Not supported by Jmol.
  • A res record starts the description of each residue in a molecule. It must be matched by an endres record. Each mol...endmol block may contain none, one or several res...endres blocks. Jmol does not currently support the residue information.
    • number is the number of the residue in the molecule, starting with 1.
    • name is the name of the residue (up to 4 characters and must be defined in a TPL file).
    • PDB#, previous-res# and next-res# preserve information originated in a pdb file.

Each atom block contains a line and several optional lines:

atom <at#> <name> <element> <type> <flags> <charge> <x> <y> <z> <cn> <nbor# nbor-bond>
vel  <at#>  <x>  <y>  <z>
mass  <at#> <mass>
basisset  <at#> <basis set>
formalcharge  <at#> <formal charge>
  • atom
    • at# is the number identifying the atom in the molecule (must start with 1 and be continuous through a molecule). Therefore a combination of atom number and molecule number uniquely identifies an atom in a file.
    • name is the name of the atom (up to 4 characters, without spaces or quotes). Not supported by Jmol.
    • element is the chemical symbol (up to 3 characters). Supported by Jmol.
    • type is the atom type assigned by a force field (up to 4 characters).
    • flags is a series of one-letter flags (without spaces between them):
      • h = a heteroatom, as defined in PDB files;
      • i = atom is part of an improper torsion;
      • x = a united atom;
      • s = a selected atom;
      • – = no flag.
    • charge is the formal charge. Jmol reads this as partial charge.
    • x y z are the coordinates. Supported by Jmol.
    • cn is the coordination number, or number of atoms covalently bonded to this atom (an integer, from 0 to 12).
    • nbor# nbor-bond describes the bonded atoms and the type of bond for each (from 1 to 12 pairs of values, to describe all atoms bonded to the current one). Supported by Jmol.
      • nbor# is the number identifying the bonded atom;
      • nbor-bond is the bond type:
        • s = single
        • d = double
        • t = triple
        • a = aromatic
  • vel defines atomic velocities (in Å per picosecond), generated by a molecular dynamics calculation. Not supported by Jmol.
  • mass specifies a non-default mass for the atom (i.e. an isotope), in atomic mass units. Not supported by Jmol.
  • basisset is used for ab initio calculations. Not applicable to Jmol.
  • formalcharge is another way of defining a formal charge for the atom. Not supported by Jmol.

Residue and molecule closing lines (the endres line is present only when there was a res line before):

endres <res#>
endmol <mol#>

Sources

  • Appendix D: HIN Files in the Reference Manual available as part of the installed HyperChem package.

Contributors

AngelHerraez