Trailblazing analysis error
See original GitHub issueDear 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:
- Created 3 years ago
- Comments:12 (5 by maintainers)
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
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.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!