ImproperTorsion

pydantic model openff.qcsubmit.workflow_components.ImproperTorsion[source]

A class to keep track of improper torsions being scanned.

Show JSON schema
{
   "title": "ImproperTorsion",
   "description": "A class to keep track of improper torsions being scanned.",
   "type": "object",
   "properties": {
      "central_atom": {
         "title": "Central Atom",
         "description": "The index of the central atom of an improper torsion.",
         "type": "integer"
      },
      "improper": {
         "title": "Improper",
         "description": "The tuple of the atoms in the improper torsion.",
         "type": "array",
         "minItems": 4,
         "maxItems": 4,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "scan_range": {
         "title": "Scan Range",
         "description": "The scan range of the improper dihedral which should normally be limited.",
         "type": "array",
         "minItems": 2,
         "maxItems": 2,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "scan_increment": {
         "title": "Scan Increment",
         "description": "The value in degrees between each grid point in the scan.",
         "default": [
            15
         ],
         "type": "array",
         "items": {
            "type": "integer"
         }
      },
      "symmetry_group": {
         "title": "Symmetry Group",
         "description": "The symmetry group of the improper used to deduplicate improper torsions.",
         "type": "array",
         "minItems": 4,
         "maxItems": 4,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      }
   },
   "required": [
      "central_atom",
      "improper",
      "symmetry_group"
   ]
}

Config
  • allow_mutation: bool = False

  • arbitrary_types_allowed: bool = True

  • json_encoders: dict = {<class ‘numpy.ndarray’>: <function ResultsConfig.Config.<lambda> at 0x7f458c1c89d0>, <enum ‘Enum’>: <function ResultsConfig.Config.<lambda> at 0x7f458c1c8a60>}

Fields
  • central_atom (int)

  • improper (Tuple[int, int, int, int])

  • scan_increment (List[int])

  • scan_range (Optional[Tuple[int, int]])

  • symmetry_group (Tuple[int, int, int, int])

Validators
  • _sort_symmetry » symmetry_group

  • order_scan_range » scan_range

field central_atom: int [Required]

The index of the central atom of an improper torsion.

field improper: Tuple[int, int, int, int] [Required]

The tuple of the atoms in the improper torsion.

field scan_range: Optional[Tuple[int, int]] = None

The scan range of the improper dihedral which should normally be limited.

Validated by
  • order_scan_range

field scan_increment: List[int] = [15]

The value in degrees between each grid point in the scan.

field symmetry_group: Tuple[int, int, int, int] [Required]

The symmetry group of the improper used to deduplicate improper torsions.

Validated by
  • _sort_symmetry

property get_dihedrals: List[Tuple[int, int, int, int]]

Get the formatted representation of the dihedrals to scan over.

property get_scan_range: Optional[List[Tuple[int, int]]]

Get the formatted representation of the dihedral scan ranges.

property get_atom_map: Dict[int, int]

Create an atom map which will tag the correct dihedral atoms.