schrodinger.application.transforms.ffbuilder module¶
Apache Beam transforms for FFBuilder force field parameterization.
Provides transforms for generating missing torsion parameters using the
ffbuilder CLI tool, and for producing OPLS custom parameter archives.
- class schrodinger.application.transforms.ffbuilder.FFBuilderConfig(*, input_opls_archive: ~typing.Optional[~pathlib.Path] = None, output_opls_archive: ~pathlib.Path, cli_args: list[str] = <factory>, jobname: str | None = None, host: str | None = None, sub_host: str | None = None, schrodinger_path: str = <factory>)¶
Bases:
BaseModelConfiguration for the
RunFFBuildertransform.- Parameters:
cli_args – Additional command-line arguments passed through to the
ffbuilderexecutable. Must not include reserved flags such as-HOST,-OPLSDIR, or-JOBNAME.jobname – Optional predictable FFBuilder job name.
host – Job server host for submission (the FFBuilder
-HOST). Defaults to the current job’s driver host, or localhost outside a job.sub_host – Optional job server host for FFBuilder’s
-SUBHOST. Defaults to the current job’s subhost, including its CPU count.input_opls_archive – Existing custom OPLS archive to include when running ffbuilder.
output_opls_archive – Custom OPLS archive produced by this transform.
schrodinger_path – Path to the Schrodinger installation. Defaults to the
SCHRODINGERenvironment variable.
- input_opls_archive: Optional[Path]¶
- output_opls_archive: Path¶
- cli_args: list[str]¶
- jobname: str | None¶
- host: str | None¶
- sub_host: str | None¶
- schrodinger_path: str¶
- model_config: ClassVar[ConfigDict] = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [
ConfigDict][pydantic.config.ConfigDict].
- schrodinger.application.transforms.ffbuilder.register_ffbuilder_files(jsb: JobSpecificationArgsBuilder, config: FFBuilderConfig) None¶
Register OPLS archives needed by FFBuilder.
- class schrodinger.application.transforms.ffbuilder.RunFFBuilder(**kwargs)¶
Bases:
PTransformWithConfigRun FFBuilder to generate missing torsion parameters.
Submits
ffbuilderas a jobcontrol job and writes any newly generated parameters tooutput_opls_archive. The original structures are passed through unchanged; the artifact this transform produces is the populatedoutput_opls_archive.Example usage:
>>> with beam.Pipeline() as p: ... structures = (p ... | beam.Create([st]) ... | RunFFBuilder(input_opls_archive='existing.opls', ... output_opls_archive='merged.opls', ... host='localhost')) ... # When new parameters are generated, 'merged.opls' contains ... # them and any existing custom parameters. Otherwise, the ... # output archive is not written.
See
FFBuilderConfigfor available configuration options.- config_class¶
alias of
FFBuilderConfig
- __init__(**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