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

  1. 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)