Categories are divided up by the arity of the entity they are used for (eg whether they are for single nodes, pairs of nodes etc.). The same category name can be used for different arities.
The following are pre-defined Categories for data stored in single nodes.
Identifying string: "physics"
Keys:
| name | type | description | invariants |
cartesian x | Float | the x coordinate in angstrom | |
cartesian y | Float | the y coordinate in angstrom | required if other cartesian coordinates are included |
cartesian z | Float | the z coordinate in angstrom | required if other cartesian coordinates are included |
radius | Float | the radius of the volume occupied by the entity in angstrom | positive; requires coordinates |
mass | Float | the mass of the node in Daltons | positive; requires coordinates |
diffusion coefficient | Float | the diffusion coefficient for the node in angstroms per squared femtosecond | positive |
orientation r | Float | the real component or the orientation quaterion | required if there are any orientation components |
orientation i | Float | the i component or the orientation quaterion | required if there are any orientation components |
orientation j | Float | the j component or the orientation quaterion | required if there are any orientation components |
orientation k | Float | the k component or the orientation quaterion | required if there are any orientation components |
Related decorators: RMF::Particle, RMF::RigidParticle.
Identifying string: "sequence"
Keys:
| name | type | description | invariants |
first residue index | Int | the first residue index included in this node | any descendent that has an index must be in the specified range |
last residue index | Int | the last residue index included in this node | must be greater than begin residue index |
element | Index | the atomic number of the element | nodes with elements cannot have children |
secondary structure | Index | 0 for unstructured; 1 for helix; 2 for strand | node must have a residue type |
sequence | Strings | store the sequence as a list of three letter codes | if the index range is specified then the lengths must match; children with residue types must match |
residue type | String | the three letter code for the residue type | this must match any sequence information higher in the tree and no descendent must have a residue type |
chain id | Index | stores an integer for the chain identifier. When translating from pdb files the position in the alphabet of the chain should probably be used (eg chain 'A' is 0) | |
copy index | Index | stores an integer identifying which copy of a moleule this is |
Related decorators: RMF::Residue.
Identifying string: "shape"
Keys:
| name | type | description | invariants |
cartesian x | Float | the x coordinate | must have y and z or no coordinates fields |
cartesian y | Float | the y coordinate | must have x and z or no coordinates fields |
cartesian z | Float | the z coordinate | must have x and y or no coordinates fields |
cartesian xs | Floats | the x coordinates | the number must match that of the y and z coordinates |
cartesian ys | Floats | the y coordinates | the number must match that of the x and z coordinates |
cartesian zs | Floats | the z coordinates | the number must match that of the x and y coordinates |
radius | Float | the radius | positive |
rgb color red | Float | the red channel for the color | between 0 and 1; must have green and blue |
rgb color green | Float | the green channel for the color | between 0 and 1; must have red and blue |
rgb color blue | Float | the blue channel for the color | between 0 and 1; must have red and green {triangle vertex 0s Indexes, indexes into the coordinates fields to define triangular faces, indexes must be less than the coordinates length; triangle vertex 1s and triangle vertex 2s must be there} |
triangle vertex 1s | Indexes | indexes into the coordinates fields to define triangular faces | indexes must be less than the coordinates length; triangles vertex 1 and triangles vertex 2 must be there |
triangle vertex 2s | Indexes | indexes into the coordinates fields to define triangular faces | indexes must be less than the coordinates length; triangles vertex 1 and triangles vertex 2 must be there |
type | Index | 0 for sphere(s); 1 for cylinder(s); 2 for surface | appropriate attributes must be there; if cylinders or spheres there must be a radius; if cylinder and the coordinates fields are used the size must be divisible by 2 |
Related decorators: RMF::Ball, RMF::Cylinder.
Identifying string: "feature"
Keys:
| name | type | description | invariants |
score | Float | the score | |
representation | NodeIDs | the nodes involved in the feature |
Related decorators: RMF::Score.
Identifying string: "publication"
Keys:
| name | type | description | invariants |
title | String | article title | |
book title | String | the book title | |
chapter | String | the book chapter | must have book title |
journal | String | the name of the journal | |
url | String | a url for the publication | |
pubmed id | Int | the pubmed id | |
year | Int | the year of publication | |
first page | Index | the first page number | |
last page | Index | the last page number | |
author | Strings | the author names as a list for "Firstname Lastname" |
Related decorators: RMF::JournalArticle.
The following are categories for storing data on pairs of nodes.
Identifying string: "bond"
Keys:
| name | type | description | invariants |
length | Float | the length in angstroms | positive |
type | Index | the bond type (0 covalent; 1 ionic; 2 hydrogen...) |
The library provides decorators to aid using the standard types of data. Each decorator comes in a const and a non-const version (as does everything else) and is constructued by an associated factory. It is simpler than this description sounds. See the RMF decorator example.