schrodinger.application.transforms.prepwizard module

PrepWizard transforms for preparing protein structures.

class schrodinger.application.transforms.prepwizard.PrepWizardConfig(*, settings: schrodinger.application.prepwizard.PrepWizardSettings | None = None, force_field: ~typing.Literal['OPLS_2005', 'S-OPLS'] = 'OPLS_2005', preserve_st_titles: bool = False, max_states: int = 1, preprocess: bool = True, assign_bond_orders: bool = True, use_ccd: bool = True, skip_assigned_residues: bool = False, add_missing_inter_residue_bonds: bool = True, add_terminal_oxygens: bool = False, add_hydrogens: bool = False, readd_hydrogens: bool = True, idealize_hydrogen_tf: bool = True, preprocess_delete_far_waters: bool = False, preprocess_watdist: ~typing.Optional[float] = None, delete_far_waters: bool = True, watdist: float = 5.0, delete_nonbridging_waters: bool = False, delwater_hbond_cutoff: int = 0, treat_metals: bool = True, treat_disulfides: bool = True, treat_glycosylation: bool = True, treat_palmitoylation: bool = False, selenomethionines: bool = True, cap_termini: bool = False, cap_termini_min_atoms: int = 200, fillsidechains: bool = False, fillloops: bool = False, custom_fasta_file: ~typing.Optional[~pathlib.Path] = None, annotate_gpcr: bool = False, antibody_cdr_scheme: ~typing.Literal['Chothia', 'Kabat', 'IMGT', 'EnhancedChothia', 'AHo'] = 'Kabat', renumber_ab_residues: bool = False, tcr_cdr_scheme: ~typing.Optional[~typing.Literal['Chothia', 'Kabat', 'IMGT', 'EnhancedChothia', 'AHo']] = 'IMGT', renumber_tcr_residues: bool = False, run_epik: bool = True, include_epik_states: bool = True, epik_pH: float = 7.4, epik_pHt: float = 2.0, xtal: bool = False, run_protassign: bool = True, sample_water_orientation: bool = True, use_propka: bool = True, propka_pH: float = 7.4, pH: float = 7.4, simplified_pH: ~typing.Literal['very_low', 'low', 'neutral', 'high'] = 'neutral', label_pkas: bool = False, minimize_adj_h: bool = False, protassign_number_sequential_cycles: ~typing.Optional[int] = None, protassign_max_cluster_size: ~typing.Optional[int] = None, run_refine: bool = True, rmsd: float = 0.3, fixheavy: bool = False, reference_struct_path: ~typing.Optional[~pathlib.Path] = None, use_PDB_pH: bool = False, force_list: list[str] = <factory>, error_handling: schrodinger.seam.transforms.outcomes.ErrorHandling | None = None)

Bases: BaseModel

Configuration for PrepWizard transforms.

settings: Annotated[PrepWizardSettings | None, WithJsonSchema({})]
force_field: ForceFieldName
preserve_st_titles: bool
max_states: PositiveInt
preprocess: bool
assign_bond_orders: bool
use_ccd: bool
skip_assigned_residues: bool
add_missing_inter_residue_bonds: bool
add_terminal_oxygens: bool
add_hydrogens: bool
readd_hydrogens: bool
idealize_hydrogen_tf: bool
preprocess_delete_far_waters: bool
preprocess_watdist: NonNegativeFloat | None
delete_far_waters: bool
watdist: NonNegativeFloat
delete_nonbridging_waters: bool
delwater_hbond_cutoff: NonNegativeInt
treat_metals: bool
treat_disulfides: bool
treat_glycosylation: bool
treat_palmitoylation: bool
selenomethionines: bool
cap_termini: bool
cap_termini_min_atoms: NonNegativeInt
fillsidechains: bool
fillloops: bool
custom_fasta_file: FilePath | None
annotate_gpcr: bool
antibody_cdr_scheme: CDRSchemeName
renumber_ab_residues: bool
tcr_cdr_scheme: CDRSchemeName | None
renumber_tcr_residues: bool
run_epik: bool
include_epik_states: bool
epik_pH: PH_TYPE
epik_pHt: NonNegativeFloat
xtal: bool
run_protassign: bool
sample_water_orientation: bool
use_propka: bool
propka_pH: PH_TYPE
pH: PH_TYPE
simplified_pH: SimplifiedPH
label_pkas: bool
minimize_adj_h: bool
protassign_number_sequential_cycles: PositiveInt | None
protassign_max_cluster_size: PositiveInt | None
run_refine: bool
rmsd: PositiveFloat
fixheavy: bool
reference_struct_path: FilePath | None
use_PDB_pH: bool
force_list: list[str]
error_handling: ErrorHandling | None
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class schrodinger.application.transforms.prepwizard.PrepWizardResult(*, source_id: ~schrodinger.seam.io.sourceid.SourceID, output_structures: list[schrodinger.structure._structure.Structure] = <factory>)

Bases: BaseModel

Per-input result from RunPrepWizard.

source_id: SourceID
output_structures: list[Structure]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class schrodinger.application.transforms.prepwizard.RunPrepWizard(settings: PrepWizardSettings | None = None, **kwargs)

Bases: PTransformWithConfig

Run PrepWizard and emit a PrepWizardResult per input structure.

config_class

alias of PrepWizardConfig

__init__(settings: PrepWizardSettings | None = None, **kwargs)

Initialize the transform with configuration.

All keyword arguments are passed to the config_class constructor to create a validated configuration instance stored as self.config.

Parameters:
  • _config – An existing configuration model

  • kwargs – Configuration parameters for the config_class

Raises:
  • AttributeError – If config_class is not defined on the subclass

  • ValueError – If _config is combined with kwargs

  • ValidationError – If the configuration parameters are invalid

class schrodinger.application.transforms.prepwizard.ProteinPrep(settings: PrepWizardSettings | None = None, **kwargs)

Bases: PTransformWithConfig

Prepare protein structures using PrepWizard.

Example usage:

>>> from schrodinger.seam.io import chemio
>>> with beam.Pipeline() as p:
...     _ = (p
...     | chemio.ReadStructuresFromFile(infile)
...     | ProteinPrep(run_epik=False, cap_termini=True)
...     | chemio.WriteStructuresToFile('output.mae'))
config_class

alias of PrepWizardConfig

__init__(settings: PrepWizardSettings | None = None, **kwargs)

Initialize the transform with configuration.

All keyword arguments are passed to the config_class constructor to create a validated configuration instance stored as self.config.

Parameters:
  • _config – An existing configuration model

  • kwargs – Configuration parameters for the config_class

Raises:
  • AttributeError – If config_class is not defined on the subclass

  • ValueError – If _config is combined with kwargs

  • ValidationError – If the configuration parameters are invalid