schrodinger.seam.examples.rescount module¶
A workflow that reads in a set of structures and returns the total number of residues in them.
COMPLEXITY: low CONCEPTS: autoscaling, log processing, monitoring, error handling, checkpointing
TUTORIAL EXERCISES
Run the example with the default settings
`
$SCHRODINGER/run seam_example.py rescount
`
- Notice in the log how the workflow gets split into stages
- Explore the “seam/” directory that’s generated. It contains logs and
other information about the workflow. See the “seam/logs/README” file
for information on how to interpret the logs.
(2) Run the example with a per-residue CPU time of 2 seconds (job will take ~3 minutes)
`
$SCHRODINGER/run seam_example.py rescount --per-residue-cpu-time 2 -HOST localhost:12
`
- You can poll the job status and the subjobs it generates by running $SCHRODINGER/jsc list
- Notice how only 8 subjobs are started. This is because based on the amount of work, we only
need 8 subjobs.
- The job will report what percentage of stages are complete
- To visually monitor the job, run $SCHRODINGER/run seamcli.py watcher
- Once the job is complete, note the seam/
directory again. Notice the additional logs from
the subjobs.
(3) Set the environment variable SCHRODINGER_CRASH_RESCOUNT to True and run the example
`
export SCHRODINGER_CRASH_RESCOUNT=True
$SCHRODINGER/run seam_example.py rescount
`
- Notice how the job fails and the logs in the seam/
directory show the error.
Unset the environment variable and run the example again to see it succeed.
`
unset SCHRODINGER_CRASH_RESCOUNT
$SCHRODINGER/run seamcli.py resume seam/
`
- schrodinger.seam.examples.rescount.analyze(residue, sleep_time=0)¶
Analyze a residue.
This function just sleeps and then returns the residue. It is used to demonstrate how seam works with computationally expensive transforms.
- schrodinger.seam.examples.rescount.parse_args(args)¶
- schrodinger.seam.examples.rescount.main(args=None)¶