Struct mmtf::mmtf::Mmtf [] [src]

pub struct Mmtf {
    pub mmtf_version: String,
    pub mmtf_producer: String,
    pub unit_cell: Option<Vec<f64>>,
    pub space_group: Option<String>,
    pub structure_id: Option<String>,
    pub title: Option<String>,
    pub deposition_date: Option<String>,
    pub release_date: Option<String>,
    pub ncs_operator_list: Option<Vec<[f32; 16]>>,
    pub bio_assembly_list: Option<Vec<BioAssembly>>,
    pub entity_list: Option<Vec<Entity>>,
    pub experimental_methods: Option<Vec<String>>,
    pub resolution: Option<f64>,
    pub r_free: Option<f32>,
    pub r_work: Option<f64>,
    pub num_bonds: i32,
    pub num_atoms: i32,
    pub num_groups: i32,
    pub num_chains: i32,
    pub num_models: i32,
    pub group_list: Vec<GroupType>,
    pub bond_atom_list: Vec<i32>,
    pub bond_order_list: Option<Vec<i8>>,
    pub x_coord_list: Vec<f32>,
    pub y_coord_list: Vec<f32>,
    pub z_coord_list: Vec<f32>,
    pub b_factor_list: Option<Vec<f32>>,
    pub atom_id_list: Option<Vec<i32>>,
    pub alt_loc_list: Option<Vec<char>>,
    pub occupancy_list: Option<Vec<f32>>,
    pub group_id_list: Vec<i32>,
    pub group_type_list: Vec<i32>,
    pub sec_struct_list: Option<Vec<i8>>,
    pub ins_code_list: Option<Vec<char>>,
    pub sequence_index_list: Option<Vec<i32>>,
    pub chain_id_list: Vec<String>,
    pub chain_name_list: Option<Vec<String>>,
    pub groups_per_chain: Vec<i32>,
    pub chains_per_model: Vec<i32>,
}

MMTF Fields

Fields

The version number of the specification the file adheres to.

The name and version of the software used to produce the file. For development versions it can be useful to also include the checksum of the commit. The main purpose of this field is to identify the software that has written a file, for instance because it has format errors.

Array of six values defining the unit cell. The first three entries are the length of the sides a, b, and c in Å. The last three angles are the alpha, beta, and gamma angles in degree.

The Hermann-Mauguin space-group symbol.

An ID for the structure, for example the PDB ID if applicable. If not in conflict with the format of the ID, it must be given in uppercase.

A short description of the structural data included in the file.

A date that relates to the deposition of the structure in a database, e.g. the wwPDB archive. Type: String with the format YYYY-MM-DD

A date that relates to the release of the structure in a database, e.g. the wwPDB archive.

Type: String with the format YYYY-MM-DD

Array of arrays representing 4x4 transformation matrices that are stored linearly in row major order. Thus, the translational component comprises the 4th, 8th, and 12th element. The transformation matrices describe noncrystallographic symmetry operations needed to create all molecules in the unit cell.

Vec of BioAssembly objects.

Vec of unique molecular entities within the structure.

The array of experimental methods employed for structure determination.

The experimental resolution in Angstrom. If not applicable the field must be omitted.

The R-free value. If not applicable the field must be omitted.

The R-work value. If not applicable the field must be omitted.

The overall number of bonds. This number must reflect both the bonds given in bond_atom_list and the bonds given in the GroupType.bond_atom_list entries in group_list

The overall number of atoms in the structure. This also includes atoms at alternate locations (alt_loc_list).

The overall number of groups in the structure. This also includes extra groups due to micro-heterogeneity.

The overall number of chains in the structure.

The overall number of models in the structure.

Vec of GroupType objects.

Pairs of values represent indices of covalently bonded atoms. The indices point to the Atom data arrays. Only covalent bonds may be given.

Array of bond orders for bonds in bond_atom_list.

Note: Must be values between 1 and 4, defining single, double, triple, and quadruple bonds.

Array of x atom coordinates, in Å. One entry for each atom and coordinate.

Array of y atom coordinates, in Å. One entry for each atom and coordinate.

Array of z atom coordinates, in Å. One entry for each atom and coordinate.

Array of atom B-factors in in Å^2. One entry for each atom.

Vec of atom serial numbers. One entry for each atom.

Vec of alternate location labels, one for each atom. The lack of an alternate location label must be denoted by a 0 byte.

Vec of atom occupancies, one for each atom.

Vec of group (residue) numbers. One entry for each group/residue.

Vec of pointers to GroupType entries in group_list by their keys. One entry for each residue, thus the number of residues is equal to the length of this field.

Array of secondary structure assignments coded according to the following table, which shows the eight different types of secondary structure the DSSP algorithm distinguishes. If the field is included there must be an entry for each group (residue) either in all models or only in the first model.

Code Name
0 pi helix
1 bend
2 alpha helix
3 extended
4 3-10 helix
5 bridge
6 turn
7 coil
-1 undefined

Array of insertion codes, one for each group (residue). The lack of an insertion code must be denoted by a 0 byte.

Array of indices that point into the sequence property of an Entity object in the entity_list field that is associated with the chain the group belongs to (i.e. the index of the chain is included in the chain_index_list of the entity). There is one entry for each group (residue). It must be set to -1 when a group entry has no associated entity (and thus no sequence), for example water molecules.

Vec of chain IDs, for storing data from mmCIF files. This field should contain the value from the label_asym_id mmCIF data item and the chain_name_list the auth_asym_id mmCIF data item.

In PDB files there is only a single name/identifier for chains that corresponds to the auth_asym_id item. When there is only a single chain identifier available it must be stored in the chain_id_list field.

Vec of chain names. This field allows to specify an additional set of labels/names for chains.

For example, it can be used to store both, the label_asym_id (in chain_id_list) and the auth_asym_id (in chain_name_list) from mmCIF files.

Vec of the number of groups (aka residues) in each chain. The number of chains is thus equal to the length of the groups_per_chain field. In conjunction with chains_per_model, the array allows looping over all chains

The number of models in a structure is equal to the length of the chains_per_model field. The chains_per_model field also defines which chains belong to each model.

Methods

impl Mmtf
[src]

[src]

Deserialize a MMTF from given file

Examples

use std::fs::File;
use mmtf::Mmtf;

let mmtf_file = File::open(&file_path).unwrap();
let mmtf = Mmtf::from(&mmtf_file).unwrap();

assert_eq!("1.0.0", mmtf.mmtf_version);

Trait Implementations

impl Debug for Mmtf
[src]

[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Mmtf

impl Sync for Mmtf