mdtraj.formats.BINPOSTrajectoryFile

class mdtraj.formats.BINPOSTrajectoryFile

Interface for reading and writing to an AMBER BINPOS file. This is a file-like object, that both reading or writing depending on the mode flag. It implements the context manager protocol, so you can also use it with the python ‘with’ statement.

The conventional units in the BINPOS file are angstroms. The format only supports storing the cartesian coordinates.

Parameters:

filename : str

The filename to open. A path to a file on disk.

mode : {‘r’, ‘w’}

The mode in which to open the file, either ‘r’ for read or ‘w’ for write.

force_overwrite : bool

If opened in write mode, and a file by the name of filename already exists on disk, should we overwrite it?

Other Parameters:
 

min_chunk_size : int, default=100

BINPOS, In read mode, we need to allocate a buffer in which to store the data without knowing how many frames are in the file. This parameter is the minimum size of the buffer to allocate.

chunk_size_multiplier : int, default=1.5

In read mode, we need to allocate a buffer in which to store the data without knowing how many frames are in the file. We can guess this information based on the size of the file on disk, but it’s not perfect. This parameter inflates the guess by a multiplicative factor.

See also

mdtraj.load_binpos
High-level wrapper that returns a md.Trajectory

Examples

>>> # copy data from one file to another
>>> with BINPOSTrajectoryFile('traj.binpos') as f:
>>>     xyz = f.read()
>>> with BINPOSTrajectoryFile('out.binpos') as f:
>>>    f.write(xyz)
__init__()

x.__init__(...) initializes x; see help(type(x)) for signature

Methods

close Close the BINPOS file
read([n_frames, stride, atom_indices]) Read data from a BINPOS file
read_as_traj(topology[, n_frames, stride, ...]) Read a trajectory from a BINPOS file
seek(offset[, whence]) Move to a new file position
tell Current file position
write(xyz) Write cartesian coordinates to a binpos file

Attributes

distance_unit
close()

Close the BINPOS file

read(n_frames=None, stride=None, atom_indices=None)

Read data from a BINPOS file

Parameters:

n_frames : int, None

The number of frames you would like to read from the file. If None, all of the remaining frames will be loaded.

stride : np.ndarray, optional

Read only every stride-th frame.

atom_indices : array_like, optional

If not none, then read only a subset of the atoms coordinates from the file. This may be slightly slower than the standard read because it required an extra copy, but will save memory.

Returns:

xyz : np.ndarray, shape=(n_frames, n_atoms, 3), dtype=np.float32

The cartesian coordinates, in angstroms

read_as_traj(topology, n_frames=None, stride=None, atom_indices=None)

Read a trajectory from a BINPOS file

Parameters:

topology : Topology

The system topology

n_frames : int, None

The number of frames you would like to read from the file. If None, all of the remaining frames will be loaded.

stride : int, optional

Read only every stride-th frame.

atom_indices : array_like, optional

If not none, then read only a subset of the atoms coordinates from the file. This may be slightly slower than the standard read because it required an extra copy, but will save memory.

Returns:

trajectory : Trajectory

A trajectory object containing the loaded portion of the file.

See also

read
Returns the raw data from the file
seek(offset, whence=0)

Move to a new file position

Parameters:

offset : int

A number of frames.

whence : {0, 1, 2}

0: offset from start of file, offset should be >=0. 1: move relative to the current position, positive or negative 2: move relative to the end of file, offset should be <= 0. Seeking beyond the end of a file is not supported

tell()

Current file position

Returns:

offset : int

The current frame in the file.

write(xyz)

Write cartesian coordinates to a binpos file

Parameters:

xyz : np.ndarray, dtype=np.float32, shape=(n_frames, n_atoms, 3)

The cartesian coordinates of the atoms in every frame, in angstroms.

Versions