Quick Start¶
Run From An Existing .prm¶
from ngpb4py import NgpbConfig, NgpbRunner
config = NgpbConfig.from_prm("examples/exercise1/options.prm")
runner = NgpbRunner(nproc=4, verbosity=1)
result = runner.run(config=config)
print(result.log.energies.total_electrostatic_energy_kt)
Build A Configuration In Python¶
from ngpb4py import NgpbConfig, NgpbRunner
config = NgpbConfig.defaults().with_updates(
{
"filetype": "pdb",
"filename": "molecule.pdb",
"potential_map": 1,
"surf_write": 1,
}
)
result = NgpbRunner().run(config=config, keep_files=True)
print(result.log.energies.total_electrostatic_energy_kt)
What Happens During run()¶
- The configuration is normalized and validated.
- A unique run directory is created.
- Referenced input files are copied into that directory.
- The container backend executes NextGenPB.
- The terminal log and supported outputs are parsed into
NgpbResult.
If keep_files=False, successful runs are cleaned up automatically. Failed runs
keep their working directory for debugging.