Comments (6)
John also sent me some references about 'best reasonable guesses' for what the experimental errors are likely to be, in the absence of having no experimental uncertainty. I will look at making both of these changes in the near future.
-
read in the exp values as node properties (will need to change in
wrangle
) -
turn these into edge properties
-
write a module that estimates experimental uncertainty
from cinnabar.
This would reduce the chance of non-consistent experimental DDGs, and we could just add more columns for more additional compt. methods to plot?
Would you allow for more columns in the CALC plot or would you allow more than one CALC block?
from cinnabar.
For the conversion from DGs to DDGs, also for their errors and from different observables (IC50, pIC50, and Ki), we could make use of the PLBenchmark repository.
It's all implemented there. What we still would need is an estimator for the experimental uncertainty (although these are almost always reported).
from cinnabar.
Would you allow for more columns in the CALC plot or would you allow more than one CALC block?
Don't really have a strong opinion. Maybe replicas could be intra-block and different methods could be new calc blocks?
Thanks for the PLBenchmark pointer, what specifically do you mean is in there which is helpful for error estimating? Would you mind pointing to the file/function that handles it? I can figure out what values John said were appropriate for experimental uncertainties.
from cinnabar.
Don't really have a strong opinion. Maybe replicas could be intra-block and different methods could be new calc blocks?
Seems good to me.
The DDG (and associated error) calculation from the DG values is done in here: https://github.com/openforcefield/PLBenchmarks/blob/add_code/PLBenchmarks/edges.py
The conversion from different units is handled in here: https://github.com/openforcefield/PLBenchmarks/blob/add_code/PLBenchmarks/utils.py
(in the convertValue and convertError functions)
from cinnabar.
Ok, so I realised doing this meant that we could only ever do this if we had experimental absolute values, which we might not want to be trapped with - what if we want to compare one relative method vs another relative method?
I liked csv file to start with because they are so easy, but what if we went to a yaml... therefore if we have absolutes, we can add them, if we don't then we can just add relative values
absolute:
name: CAT-13a
dg: -8.83
absolute:
name: CAT-13b
dg: -9.83
ddg: 0.40 # this is optional, if it's not set we can make a reasonable approximation?
relative:
ligandA: CAT-13a
ligandB: CAT-13b
ddg: 1.10
ddg_err: 0.45
method: perses-repex # this could be optional, but we could then have a file with perses/gromacs/schrodinger/amberti all in the same file.
# if we have a repeat it just be an additional entry
relative:
ligandA: CAT-13a
ligandB: CAT-13b
ddg: 1.70
ddg_err: 1.30
method: perses-repex # this could be optional, but we could then have a file with perses/gromacs/schrodinger/amberti all in the same file.
from cinnabar.
Related Issues (20)
- not catching node name mismatch HOT 3
- Update readme and examples
- Add plot_bar to plotly example notebook
- Seaborn calls in WhyNotToUseR2ForDDG notebook fail
- Versioneer causing failures on conda-forge builds HOT 1
- add controllable guidelines on plots
- make FEMap a gufe tokenizable HOT 4
- base class for MLE estimation-like methods
- FEMap add to/from networkx method
- add option for get_absolute_dataframe to shift values HOT 1
- Update API docs
- Add userguide docs
- Update changelog docs
- MLE ddG errors != calculated ddG errors for open cycle
- [Question] Allow arbitrary xy tick frequency when plotting
- Refactor stats into base and derived class so we can drop in different MLE solvers? HOT 1
- the value of the x/y axis from plot_DGs function does not reflect the true DGs HOT 6
- readthedocs is deeply unhappy
- Error of exactly zero will trigger SVD failure when generating absolute values
- refactoring bootstrap stats HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cinnabar.