# 5.18. PQR topology parser

Read atoms with charges from a PQR file (as written by PDB2PQR). No connectivity is deduced.

Note

The file format is described in `MDAnalysis.coordinates.PQR`.

## 5.18.1. Classes

class MDAnalysis.topology.PQRParser.PQRParser(filename)

  Parse atom information from PQR file filename.

  Creates a MDAnalysis Topology with the following attributes

    - Atomids

    - Atomnames

    - Charges

    - Radii

    - RecordTypes (ATOM/HETATM)

    - Resids

    - Resnames

    - Segids

    Note

    Atomtypes will be read from the input file if they are present (e.g. GROMACS PQR files). Otherwise, they will be guessed on Universe creation. By default, masses will also be guessed on Universe creation. This may change in release 3.0. See Guesser modules for more information.

  Changed in version 0.9.0: Read chainID from a PQR file and use it as segid (before we always used ‘SYSTEM’ as the new segid).

  Changed in version 0.16.1: Now reads insertion codes and splits into new residues around these

  Changed in version 0.18.0: Added parsing of Record types Can now read PQR files from Gromacs, these provide atom type as last column but don’t have segids

  Changed in version 2.8.0: Removed type and mass guessing (attributes guessing takes place now through universe.guess_TopologyAttrs() API).

  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.

    Added 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.

    Added 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.

    Added 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.

    Added in version 0.7.5.

  static guess_flavour(line)

    Guess which variant of PQR format this line is

    Parameters:

      line (str) – entire line of PQR file starting with ATOM/HETATM

    Returns:

      - flavour (str) – ORIGINAL / GROMACS / NO_CHAINID

      - .. versionadded:: 0.18.0

  parse(**kwargs)

    Parse atom information from PQR file filename.

    Return type:

      A MDAnalysis Topology object

  units = {'length': None, 'time': None, 'velocity': None}

    dict with units of of time and length (and velocity, force, … for formats that support it)