Struct chemfiles::Trajectory [] [src]

pub struct Trajectory { /* fields omitted */ }

The Trajectory type is the main entry point when using chemfiles. A Trajectory behave a bit like a file, allowing to read and/or write Frame.

Methods

impl Trajectory
[src]

Open the file at the given path in the given mode.

Valid modes are 'r' for read, 'w' for write and 'a' for append.

Example

let trajectory = Trajectory::open("water.xyz", 'r').unwrap();

Open the file at the given path using a specific file format and the given mode.

Valid modes are 'r' for read, 'w' for write and 'a' for append.

Specifying a format is needed when the file format does not match the extension, or when there is not standard extension for this format. If format is an empty string, the format will be guessed from the extension.

Example

let trajectory = Trajectory::open_with_format("water.zeo", 'r', "XYZ").unwrap();

Read the next step of this trajectory into a frame.

If the number of atoms in frame does not correspond to the number of atom in the next step, the frame is resized.

Example

let mut trajectory = Trajectory::open("water.xyz", 'r').unwrap();
let mut frame = Frame::new().unwrap();

trajectory.read(&mut frame).unwrap();

Read a specific step of this trajectory into a frame.

If the number of atoms in frame does not correspond to the number of atom at this step, the frame is resized.

Example

let mut trajectory = Trajectory::open("water.xyz", 'r').unwrap();
let mut frame = Frame::new().unwrap();

trajectory.read_step(10, &mut frame).unwrap();

Write a frame to this trajectory.

Example

let mut trajectory = Trajectory::open("water.pdb", 'w').unwrap();
let mut frame = Frame::new().unwrap();

trajectory.write(&mut frame).unwrap();

Set the topology associated with this trajectory. This topology will be used when reading and writing the files, replacing any topology in the frames or files.

Example

let mut topology = Topology::new().unwrap();
topology.add_atom(&Atom::new("H").unwrap()).unwrap();
topology.add_atom(&Atom::new("O").unwrap()).unwrap();
topology.add_atom(&Atom::new("H").unwrap()).unwrap();
topology.add_bond(0, 1).unwrap();
topology.add_bond(1, 2).unwrap();

let mut trajectory = Trajectory::open("water.xyz", 'r').unwrap();
trajectory.set_topology(&topology).unwrap();

Set the topology associated with this trajectory by reading the first frame of the file at the given path using the file format in format; and extracting the topology of this frame.

Example

let mut trajectory = Trajectory::open("water.nc", 'r').unwrap();
trajectory.set_topology_file("topology.pdb").unwrap();

Set the topology associated with this trajectory by reading the first frame of the file at the given path using the file format in format; and extracting the topology of this frame.

If format is an empty string or NULL, the format will be guessed from the path extension.

Example

let mut trajectory = Trajectory::open("water.nc", 'r').unwrap();
trajectory.set_topology_with_format("topology.mol", "PDB").unwrap();

Set the unit cell associated with a trajectory. This cell will be used when reading and writing the files, replacing any unit cell in the frames or files.

Example

let mut trajectory = Trajectory::open("water.xyz", 'r').unwrap();
trajectory.set_cell(&UnitCell::new(10.0, 11.0, 12.5).unwrap()).unwrap();

Get the number of steps (the number of frames) in a trajectory.

Example

let mut trajectory = Trajectory::open("water.xyz", 'r').unwrap();
let steps = trajectory.nsteps().unwrap();

println!("This trajectory contains {} steps", steps);

Trait Implementations

impl Drop for Trajectory
[src]

A method called when the value goes out of scope. Read more