question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Trailblazing analysis error

See original GitHub issue

Dear Authors,

I am currently attempting some trailblazing calculations using YANK for a screen of some drug fragments against the SARS-CoV-2 main protease. The repo is here.

I am seeing this (as of commit c991b54) on the analysis of the x0072-explicit-trailblazing.yaml run:

yank analyze --store=./x0072-explicit-trailblazing-output/experiments/

(openmm) [mw529@login-e-6 COVID_19_Drug_Binding]$ yank analyze --store=./x0072-explicit-trailblazing-output/experiments/
/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/analyze.py:299: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  analysis = yaml.load(f)
2020-03-22 21:29:22,651: WARNING - openmmtools.multistate.multistatereporter - Warning: The openmmtools.multistate API is experimental and may change in future releases
2020-03-22 21:29:22,777: WARNING - openmmtools.multistate.multistateanalyzer - Warning: The openmmtools.multistate API is experimental and may change in future releases
2020-03-22 21:29:22,781: WARNING - openmmtools.multistate.multistatereporter - Warning: The openmmtools.multistate API is experimental and may change in future releases
2020-03-22 21:29:22,820: WARNING - openmmtools.multistate.multistateanalyzer - Warning: The openmmtools.multistate API is experimental and may change in future releases
2020-03-22 21:29:23,353: WARNING - yank.analyze - Alert: analyzed timeseries has the same or fewer number of values as discard_from_start! The whole series has been preserved to ensure there is *something* to analyze.
/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/numpy/core/_methods.py:217: RuntimeWarning: Degrees of freedom <= 0 for slice
  keepdims=keepdims)
/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/numpy/core/_methods.py:186: RuntimeWarning: invalid value encountered in true_divide
  arrmean, rcount, out=arrmean, casting='unsafe', subok=False)
/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)
Traceback (most recent call last):
  File "/home/mw529/.conda/envs/openmm/bin/yank", line 11, in <module>
    load_entry_point('yank==0.25.2', 'console_scripts', 'yank')()
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/cli.py", line 73, in main
    dispatched = getattr(commands, command).dispatch(command_args)
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/commands/analyze.py", line 148, in dispatch
    single_run()
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/mpiplus/mpiplus.py", line 271, in _wrapper
    return run_single_node(rank, task, *args, **kwargs)
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/mpiplus/mpiplus.py", line 220, in run_single_node
    result = task(*args, **kwargs)
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/commands/analyze.py", line 143, in single_run
    output = analyze.analyze_directory(args['--store'], **analyzer_kwargs)
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/analyze.py", line 783, in analyze_directory
    analysis_data = auto_experiment_analyzer.auto_analyze()
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/analyze.py", line 173, in make_copy
    return copy.deepcopy(wrap(*args, **kwargs))
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/analyze.py", line 703, in auto_analyze
    _ = self.get_equilibration_data()
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/analyze.py", line 173, in make_copy
    return copy.deepcopy(wrap(*args, **kwargs))
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/yank/analyze.py", line 452, in get_equilibration_data
    i_t, g_i, n_effective_i = mmtools.multistate.get_equilibration_data_per_sample(self.u_ns[phase_name])
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/openmmtools/multistate/utils.py", line 170, in get_equilibration_data_per_sample
    g_i = np.ones([max_subset], np.float32)
  File "/home/mw529/.conda/envs/openmm/lib/python3.7/site-packages/numpy/core/numeric.py", line 207, in ones
    a = empty(shape, dtype, order)
ValueError: negative dimensions are not allowed 

I suspect the key part is:

"2020-03-22 21:36:40,185: WARNING - yank.analyze - Alert: analyzed timeseries has the same or fewer number of values as discard_from_start! The whole series has been preserved to ensure there is *something* to analyze." 

which I think is thrown from here. I am still finding my way around the code and I suspect at this point, it may be user error on my behalf.

Any suggestions or tips would be really useful.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:12 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
andrrizzicommented, Mar 27, 2020

Another thing that might work is to increase the thermodynamic_distance parameter of thermodynamic trailblazing from 2.0 (kT) to something like 2.5 or 3.0. It should generate a smaller number of intermediate states, but the advantage of using that algorithm is that they will be nearly optimally spaced so that the statistic can tolerate a sparser protocol.

1reaction
hannahbrucemacdonaldcommented, Mar 26, 2020

Pleased that rolling back pymbar helped. 400 iterations (0.4ns per iteration) is still quite short, and in the regime of equilibration really. Are you able to run for longer?

If wallclock time is the limitation at the moment, as @andrrizzi mentioned, you can always restart simulations from the checkpoint to stretch the simulation time out longer!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Analysis of errors on the Trail Making Test - PubMed - NIH
This study was designed to determine whether the number and/or types of errors on the Trail Making Test differentiated head-injured and normal control ......
Read more >
yank analyze error · Issue #1203 · choderalab/yank
I did 10 ns GBSA simulation (number of iterations = 10000, 1 iteration = 1ps). The simulation completed successfully. However, yank analyze ...
Read more >
How Two Trailblazing Psychologists Turned the World of ...
If a fresh analytical approach had led to the discovery of new knowledge in ... Here is why you get all these irrationalities...
Read more >
The Data Processing Error in a Prominent Fair Machine ...
I find that ProPublica made a data processing error when constructing key sub-datasets used in the analysis for that article. The data error ......
Read more >
Bill Russell's Trailblazing Legacy Is Secure (Even If Stats ...
Properly measuring the greatness of Bill Russell, the legendary Boston Celtics center who died Sunday at the age of 88, has always been...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found