# openforcefield.utils.toolkits.AmberToolsToolkitWrapper

class `openforcefield.utils.toolkits.``AmberToolsToolkitWrapper`

  AmberTools toolkit wrapper

  Warning

  This API is experimental and subject to change.

  Attributes
    `toolkit_file_read_formats`

      List of file formats that this toolkit can read.

    `toolkit_file_write_formats`

      List of file formats that this toolkit can write.

    `toolkit_installation_instructions`

      classmethod(function) -> method

    `toolkit_name`

      The name of the toolkit wrapped by this class.

  Methods

  `compute_partial_charges`(molecule[, charge_model]) | Compute partial charges with AmberTools using antechamber/sqm
  `compute_partial_charges_am1bcc`(molecule) | Compute partial charges with AmberTools using antechamber/sqm.
  `from_file`(filename, file_format[, …]) | Return an openforcefield.topology.Molecule from a file using this toolkit.
  `from_file_obj`(file_obj, file_format[, …]) | Return an openforcefield.topology.Molecule from a file-like object (an object with a “.read()” method using this
  `is_available`() | Check whether this toolkit wrapper is available for use because the underlying toolkit can be found.
  `requires_toolkit`() |
  `toolkit_is_available`() | Check whether the AmberTools toolkit is installed

  `__init__`()

    Initialize self. See help(type(self)) for accurate signature.

  Methods

  `__init__`() | Initialize self.
  `compute_partial_charges`(molecule[, charge_model]) | Compute partial charges with AmberTools using antechamber/sqm
  `compute_partial_charges_am1bcc`(molecule) | Compute partial charges with AmberTools using antechamber/sqm.
  `from_file`(filename, file_format[, …]) | Return an openforcefield.topology.Molecule from a file using this toolkit.
  `from_file_obj`(file_obj, file_format[, …]) | Return an openforcefield.topology.Molecule from a file-like object (an object with a “.read()” method using this
  `is_available`() | Check whether this toolkit wrapper is available for use because the underlying toolkit can be found.
  `requires_toolkit`() |
  `toolkit_is_available`() | Check whether the AmberTools toolkit is installed

  Attributes

  `toolkit_file_read_formats` | List of file formats that this toolkit can read.
  `toolkit_file_write_formats` | List of file formats that this toolkit can write.
  `toolkit_installation_instructions` | classmethod(function) -> method
  `toolkit_name` | The name of the toolkit wrapped by this class.

  static `toolkit_is_available`()

    Check whether the AmberTools toolkit is installed

    Returns
      is_installed bool

        True if AmberTools is installed, False otherwise.

  classmethod `is_available`()

    Check whether this toolkit wrapper is available for use because the underlying toolkit can be found.

    Note

    This method caches the result of any costly checks for file paths or module imports.

    Parameters
      is_available bool

        True if toolkit wrapper is available for use, False otherwise

  `compute_partial_charges`(molecule, charge_model=None)

    Compute partial charges with AmberTools using antechamber/sqm

    Warning

    This API experimental and subject to change.

    Parameters
      molecule Molecule

        Molecule for which partial charges are to be computed

      charge_model str, optional, default=None

        The charge model to use. One of [‘gas’, ‘mul’, ‘bcc’]. If None, ‘bcc’ will be used.

    Raises
      ValueError if the requested charge method could not be handled

    Notes

    Currently only sdf file supported as input and mol2 as output https://github.com/choderalab/openmoltools/blob/master/openmoltools/packmol.py

  `compute_partial_charges_am1bcc`(molecule)

    Compute partial charges with AmberTools using antechamber/sqm. This will calculate AM1-BCC charges on the first conformer only.

    Warning

    This API experimental and subject to change.

    Parameters
      molecule Molecule

        Molecule for which partial charges are to be computed

    Raises
      ValueError if the requested charge method could not be handled
  `from_file`(filename, file_format, allow_undefined_stereo=False)

    Return an openforcefield.topology.Molecule from a file using this toolkit.

    Parameters
      filename str

        The file to read the molecule from

      file_format str

        Format specifier, usually file suffix (eg. ‘MOL2’, ‘SMI’) Note that not all toolkits support all formats. Check ToolkitWrapper.toolkit_file_read_formats for details.

      allow_undefined_stereo bool, default=False

        If false, raises an exception if any molecules contain undefined stereochemistry.

      Returns
      ——-
      molecules Molecule or list of Molecules

        a list of Molecule objects is returned.

  `from_file_obj`(file_obj, file_format, allow_undefined_stereo=False)
    Return an openforcefield.topology.Molecule from a file-like object (an object with a “.read()” method using this

      toolkit.

    Parameters
      file_obj file-like object

        The file-like object to read the molecule from

      file_format str

        Format specifier, usually file suffix (eg. ‘MOL2’, ‘SMI’) Note that not all toolkits support all formats. Check ToolkitWrapper.toolkit_file_read_formats for details.

      allow_undefined_stereo bool, default=False

        If false, raises an exception if any molecules contain undefined stereochemistry. If false, the function skips loading the molecule.

    Returns
      molecules Molecule or list of Molecules

        a list of Molecule objects is returned.

  `toolkit_file_read_formats`

    List of file formats that this toolkit can read.

  `toolkit_file_write_formats`

    List of file formats that this toolkit can write.

  `toolkit_installation_instructions`

    classmethod(function) -> method

    Convert a function to be a class method.

    A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:

    > class C:

    >   @classmethod def f(cls, arg1, arg2, …):

    >   > …

    It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.

    Class methods are different than C++ or Java static methods. If you want those, see the staticmethod builtin.

  `toolkit_name`

    The name of the toolkit wrapped by this class.