DoubleTorsion

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

A class used to mark coupled torsions which should be scanned.

Show JSON schema
{
   "title": "DoubleTorsion",
   "description": "A class used to mark coupled torsions which should be scanned.",
   "type": "object",
   "properties": {
      "torsion1": {
         "title": "Torsion1",
         "description": "The torsion which is to be driven.",
         "type": "array",
         "minItems": 4,
         "maxItems": 4,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "scan_range1": {
         "title": "Scan Range1",
         "description": "The scan range used in the torsion drive",
         "type": "array",
         "minItems": 2,
         "maxItems": 2,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "scan_increment": {
         "title": "Scan Increment",
         "default": [
            15,
            15
         ],
         "type": "array",
         "items": {
            "type": "integer"
         }
      },
      "symmetry_group1": {
         "title": "Symmetry Group1",
         "description": "The symmetry of the central atoms in the torsion used to deduplicate symmetrical torsions.",
         "type": "array",
         "minItems": 2,
         "maxItems": 2,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "torsion2": {
         "title": "Torsion2",
         "description": "The torsion tuple of the second dihedral to be drive at the same time as the first.",
         "type": "array",
         "minItems": 4,
         "maxItems": 4,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "scan_range2": {
         "title": "Scan Range2",
         "description": "The separate scan range that should be used for the second dihedral.",
         "type": "array",
         "minItems": 2,
         "maxItems": 2,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      },
      "symmetry_group2": {
         "title": "Symmetry Group2",
         "description": "The symmetry group of the second torsion, used to deduplicate torsions.",
         "type": "array",
         "minItems": 2,
         "maxItems": 2,
         "items": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ]
      }
   },
   "required": [
      "torsion1",
      "symmetry_group1",
      "torsion2",
      "symmetry_group2"
   ]
}

Config
  • allow_mutation: bool = False

  • arbitrary_types_allowed: bool = True

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

Fields
  • scan_increment (List[int])

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

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

  • symmetry_group1 (Tuple[int, int])

  • symmetry_group2 (Tuple[int, int])

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

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

Validators
  • order_scan_range » scan_range1

  • order_scan_range » scan_range2

  • order_scan_range » symmetry_group1

  • order_scan_range » symmetry_group2

  • order_torsion » torsion1

  • order_torsion » torsion2

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

The torsion tuple of the second dihedral to be drive at the same time as the first.

Validated by
  • order_torsion

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

The separate scan range that should be used for the second dihedral.

Validated by
  • order_scan_range

field scan_increment: List[int] = [15, 15]
field symmetry_group2: Tuple[int, int] [Required]

The symmetry group of the second torsion, used to deduplicate torsions.

Validated by
  • order_scan_range

property central_bond: Tuple[Tuple[int, int], Tuple[int, int]]

Get the 4 integer tuple of the two central bonds.

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.

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

The torsion which is to be driven.

Validated by
  • order_torsion

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

The scan range used in the torsion drive

Validated by
  • order_scan_range

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

The symmetry of the central atoms in the torsion used to deduplicate symmetrical torsions.

Validated by
  • order_scan_range