choderalab / fah-xchem

Tools and infrastructure for automated compound discovery using Folding@home
MIT License
6 stars 3 forks source link

WS RESTful API has changed: Need to update progress bar computation #154

Closed jchodera closed 3 years ago

jchodera commented 3 years ago

I'm now running into this error on mskcc1.foldingathome.org:

Traceback (most recent call last):
  File "/home/server/miniconda/envs/fah-xchem-prod/bin/fah-xchem", line 33, in <module>
    sys.exit(load_entry_point('fah-xchem===pre-sprint-5-76.g1ae3402.dirty', 'console_scripts', 'fah-xchem')())
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fah_xchem/app.py", line 227, in main
    fire.Fire({"run_analysis": run_analysis, "generate_artifacts": generate_artifacts})
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fire/core.py", line 466, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fah_xchem/app.py", line 207, in generate_artifacts
    return fah_xchem.analysis.generate_artifacts(
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fah_xchem/analysis/__init__.py", line 376, in generate_artifacts
    generate_website(
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fah_xchem/analysis/website/__init__.py", line 236, in generate_website
    progress=_get_progress(series.metadata.fah_projects.complex_phase)
  File "/home/server/miniconda/envs/fah-xchem-prod/lib/python3.8/site-packages/fah_xchem/analysis/website/__init__.py", line 128, in _get_progress
    total_work_units = response["runs"] * response["clones"] * response["gens"]
KeyError: 'runs'

The JSON packet now looks like this:

{
  "id": 17105,
  "contact": "john.chodera@choderalab.org",
  "type": "OPENMM_22(0x22)",
  "core": "OPENMM_22",
  "core_id": 34,
  "atoms": 50000,
  "credit": 1000,
  "assign_timeout": 86400,
  "timeout": 86400,
  "deadline": 172800,
  "compression": "ZLIB",
  "average_delta": 884.184713,
  "sigma": 1015.889912,
  "gens_completed": 6400,
  "states": {
    "NEW": 392,
    "READY": 0,
    "ASSIGNED": 0,
    "FINISHED": 6400,
    "FAILED": 8,
    "FAULTY": 0,
    "STOPPED": 0,
    "HELD": 0,
    "PROCESSING": 0,
    "Invalid": 0
  },
  "histogram":[400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0  ],
  "events": {
    "failed-assign": {
      "rate": 0,
      "total": 8
    }
  },
  "jobs": 392,
  "total_jobs": 6800
}
jchodera commented 3 years ago

I think we want to compute the fraction completed as float(response["gens_completed"]) / float(response["total_jobs"])

jchodera commented 3 years ago

We just need to change

total_work_units = response["runs"] * response["clones"] * response["gens"]

to

total_work_units = response["total_jobs"]

in L128 of fah_xchem/analysis/website/__init__.py