5.9. LAMMPSParser

Parses data or dump files produced by LAMMPS.

5.9.1. Atom styles

By default parsers and readers for Lammps data files expect either an atomic or full atom_style. This can be customised by passing the atom_style keyword argument. This should be a space separated string indicating the position of the id, type, resid, charge, x, y and z fields. The resid and charge fields are optional and any other specified field will be ignored.

For example to read a file with the following format, where there is no resid:

Atoms # atomic

1 1 3.7151744275286681e+01 1.8684434743140471e+01 1.9285127961842125e+01 0 0 0

The following code could be used:

>>> import MDAnalysis as mda
>>>
>>> u = mda.Universe('myfile.data', atom_style='id type x y z')

5.9.2. Classes

class MDAnalysis.topology.LAMMPSParser.DATAParser(filename)[source]

Parse a LAMMPS DATA file for topology and coordinates.

Note that LAMMPS DATA files can be used standalone.

Both topology and coordinate parsing functionality is kept in this class as the topology and coordinate reader share many common functions

By default the parser expects either atomic or full atom_style however this can be by passing an atom_style keyword argument, see Atom styles.

New in version 0.9.0.

close()

Close the trajectory file.

convert_forces_from_native(force, inplace=True)

Conversion of forces array force from native to base units

Parameters:
  • force (array_like) – Forces to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input force is modified in place and also returned. In-place operations improve performance because allocating new arrays is avoided.

New in version 0.7.7.

convert_forces_to_native(force, inplace=True)

Conversion of force array force from base to native units.

Parameters:
  • force (array_like) – Forces to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input force is modified in place and also returned. In-place operations improve performance because allocating new arrays is avoided.

New in version 0.7.7.

convert_pos_from_native(x, inplace=True)

Conversion of coordinate array x from native units to base units.

Parameters:
  • x (array_like) – Positions to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input x is modified in place and also returned. In-place operations improve performance because allocating new arrays is avoided.

Changed in version 0.7.5: Keyword inplace can be set to False so that a modified copy is returned unless no conversion takes place, in which case the reference to the unmodified x is returned.

convert_pos_to_native(x, inplace=True)

Conversion of coordinate array x from base units to native units.

Parameters:
  • x (array_like) – Positions to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input x is modified in place and also returned. In-place operations improve performance because allocating new arrays is avoided.

Changed in version 0.7.5: Keyword inplace can be set to False so that a modified copy is returned unless no conversion takes place, in which case the reference to the unmodified x is returned.

convert_time_from_native(t, inplace=True)

Convert time t from native units to base units.

Parameters:
  • t (array_like) – Time values to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input t is modified in place and also returned (although note that scalar values t are passed by value in Python and hence an in-place modification has no effect on the caller.) In-place operations improve performance because allocating new arrays is avoided.

Changed in version 0.7.5: Keyword inplace can be set to False so that a modified copy is returned unless no conversion takes place, in which case the reference to the unmodified x is returned.

convert_time_to_native(t, inplace=True)

Convert time t from base units to native units.

Parameters:
  • t (array_like) – Time values to transform
  • inplace (bool, optional) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input t is modified in place and also returned. (Also note that scalar values t are passed by value in Python and hence an in-place modification has no effect on the caller.)

Changed in version 0.7.5: Keyword inplace can be set to False so that a modified copy is returned unless no conversion takes place, in which case the reference to the unmodified x is returned.

convert_velocities_from_native(v, inplace=True)

Conversion of velocities array v from native to base units

Parameters:
  • v (array_like) – Velocities to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input v is modified in place and also returned. In-place operations improve performance because allocating new arrays is avoided.

New in version 0.7.5.

convert_velocities_to_native(v, inplace=True)

Conversion of coordinate array v from base to native units

Parameters:
  • v (array_like) – Velocities to transform
  • inplace (bool (optional)) – Whether to modify the array inplace, overwriting previous data

Note

By default, the input v is modified in place and also returned. In-place operations improve performance because allocating new arrays is avoided.

New in version 0.7.5.

grab_datafile()[source]

Split a data file into dict of header and sections

Returns:
  • header - dict of header section (value)
  • sections - dict of section name (content)
parse(**kwargs)[source]

Parses a LAMMPS DATA file.

Returns:
Return type:MDAnalysis Topology object.
read_DATA_timestep(n_atoms, TS_class, TS_kwargs, atom_style=None)[source]

Read a DATA file and try and extract x, v, box.

  • positions
  • velocities (optional)
  • box information

Fills this into the Timestep object and returns it

New in version 0.9.0.

Changed in version 0.18.0: Added atom_style kwarg

class MDAnalysis.topology.LAMMPSParser.LammpsDumpParser(filename)[source]

Parses Lammps ascii dump files in ‘atom’ format

Only reads atom ids. Sets all masses to 1.0.

New in version 0.19.0.

5.9.3. Deprecated classes

class MDAnalysis.topology.LAMMPSParser.LAMMPSDataConverter(filename=None)[source]

Class to parse a LAMMPS DATA file and convert it to PSF/PDB.

The DATA file contains both topology and coordinate information.

The LAMMPSDataConverter class can extract topology information and coordinates from a LAMMPS data file. For instance, in order to produce a PSF file of the topology and a PDB file of the coordinates from a data file “lammps.data” you can use:

from MDAnalysis.topology.LAMMPSParser import LAMPPSData
d = LAMMPSDataConverter("lammps.data")
d.writePSF("lammps.psf")
d.writePDB("lammps.pdb")

You can then read a trajectory (e.g. a LAMMPS DCD, see MDAnalysis.coordinates.LAMMPS.DCDReader) with

u = MDAnalysis.Unverse("lammps.psf", "lammps.dcd", format="LAMMPS")

Deprecated since version 0.9.0.

Changed in version 0.9.0: Renamed from LAMMPSData to LAMMPSDataConverter.

writePDB(filename)[source]

Export coordinates to a simple PDB file.

writePSF(filename, names=None)[source]

Export topology information to a simple PSF file.