API for the TNGFileIterator Class

class pytng.TNGFileIterator

File handle object for TNG files

Supports use as a context manager (“with” blocks).

block_ids

Dictionary of block names and block ids (long longs) in the TNG file

Returns

block_ids – dictionary of block names (keys) and block ids (values)

Return type

dict

block_strides

Dictionary of block names and the strides (in integrator steps) at which they are written in the TNG file

Returns

block_strides – dictionary of block names (keys) and strides of each block (values)

Return type

dict

current_integrator_step
Class that retrieves data from the file at the current integrator

step

Returns

current_integrator_step – The data accessor at the current integrator step

Return type

TNGCurrentIntegratorStep

make_ndarray_for_block_from_id(self, int64_t block_id) ndarray

Make a NumPy array that can hold a specified block from the block id

Parameters

block_id (int64_t) – a block id

Returns

target – A NumPy array that can hold the data values for a specified block

Return type

np.ndarray

See also

block_ids

dict dictionary of block names (keys) and block ids (values) available in this TNG file

make_ndarray_for_block_from_name(self, str block_name) ndarray

Make a NumPy array that can hold a specified block from the block name

Parameters

block_name (str) – a block name

Returns

target – A NumPy array that can hold the data values for a specified block

Return type

np.ndarray

See also

block_ids

dict dictionary of block names (keys) and block ids (values) available in this TNG file

n_atoms

The number of atoms in the TNG file

Returns

n_atoms – number of atoms

Return type

int

n_data_frames

Dictionary of block names and the number of actual steps with data for that block in the TNG file

Returns

n_data_frames – dictionary of block names (keys) and number of steps with data (values)

Return type

dict

n_steps

The number of integrator steps in the TNG file

Returns

n_steps – number of integrator steps

Return type

int

particle_dependencies

Dictionary of block names and whether the block is particle dependent

Returns

particle_dependencies – dictionary of block names (keys) and particle dependencies (values)

Return type

dict

read_step(self, step) TNGCurrentIntegratorStep

Read a step (integrator step) from the file

Parameters

step (int) – step to read from the file

Returns

current_integrator_step – The data accessor at the current integrator step

Return type

TNGCurrentIntegratorStep

Raises

ValueError – attempt to read a negative step or step number greater than that in the input file

step

The current integrator step being read

Returns

step – the current step in the TNG file

Return type

int

values_per_frame

Dictionary of block names and the number of values per frame for the block

Returns

values_per_frame – dictionary of block names (keys) and number of values per frame (values)

Return type

dict

class pytng.TNGCurrentIntegratorStep

Retrieves data at the curent trajectory step

get_blockid(self, int64_t block_id, ndarray data)

Get a block ID present at the current step and read it into a NumPy array

Parameters
  • block_id (int64_t) – TNG block id to read from the current step

  • data (np.ndarray) – NumPy array to read the data into, the required shape is determined by the block dependency and the number of values per frame.

Raises
  • TypeError – The dtype of the numpy array provided is not supported by TNG datatypes or does not match the underlying datatype.

  • IOError – The block data type cannot be understood.

  • IndexError – The shape of the numpy array provided does not match the shape of the data to be read from disk.

get_box(self, ndarray data) ndarray

Get the box vectors present at the current step and read them into a NumPy array. The box vectors are a (3,3) matrix comprised of 3 three-dimensional basis vectors for the coordinate system of the simulation. The vectors can be accessed in their proper shape by reshaping the resulting (1,9) matrix to be (3,3) with ndarray.reshape(3,3).

Parameters

data (np.ndarray) – NumPy array to read the data into. As this is NOT a particle dependent block, the shape should be (1, n_values_per_frame) ie (1,9)

get_forces(self, ndarray data) ndarray

Get the forces present at the current step and read them into a NumPy array

Parameters

data (np.ndarray) – NumPy array to read the data into. As this is a particle dependent block, the shape should be (n_atoms, n_values_per_frame) ie (n_atoms, 3).

get_positions(self, ndarray data) ndarray

Get the positions present at the current step and read them into a NumPy array

Parameters

data (np.ndarray) – NumPy array to read the data into. As this is a particle dependent block, the shape should be (n_atoms, n_values_per_frame) ie (n_atoms, 3).

get_time(self)

Get the time of the current integrator step being read from the file

Returns

time – the time of the current step

Return type

int

get_velocities(self, ndarray data) ndarray

Get the velocities present at the current step and read them into a NumPy array

Parameters

data (np.ndarray) – NumPy array to read the data into. As this is a particle dependent block, the shape should be (n_atoms, n_values_per_frame) ie (n_atoms, 3).

read_success

Indicates whether the last attempt to read data was successful

Returns

read_success – Whether the last attempt to read data was successful

Return type

bool

step

The current integrator step being read

Returns

step – the current step in the TNG file

Return type

int