-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make it possible to pass raw values #10 #14
Make it possible to pass raw values #10 #14
Conversation
…ith-tortoize-z' into Make-it-possible-to-pass-raw-values-#10
I see that we've integrated changes from #4 into this pull request. That PR has a different purpose to this one, and I'm not sure why they shouldn't be kept separate. Furthermore, that PR has intentionally not been merged (even though it is complete) because it will currently produce faulty results due to a bug in CCP4i2. Therefore, if we decide to merge other changes and release a new version of iris validation for CCP4i2, we would also have to include this rotamer Z score implementation before the corresponding bug has been resolved in CCP4i2. |
I thought we discussed this when I was there and the PR on rotamer Z score was waiting to be merged pending review. and it is better to merge that here to avoid major merge conflicts later. But perhaps I misunderstood and I am happy to go back a few commits . I didnt know about the rotamer Z issue with CCP4i2. I will make the changes and let you know and if you are happy with the other things, this can be merged. |
Hi Ali, I have now reverted the changes from the merge . Please take a look and merge if you are happy |
restructure functions to get `continuous_metrics_to_display`, `discrete_metrics_to_display` Co-authored-by: AliDariusKhan <[email protected]>
This adds support for passing external data as json files (
latest_model_metrics_json
,previous_model_metrics_json
). These need to be in the format that Iris expects:"molprobity": {"model_wide": {"summary": {"cbeta_deviations": 0.0, "clashscore": 4.5, "ramachandran_outliers": 0.0, "ramachandran_favoured": 97.13, "rms_bonds": 0.009, "rms_angles": 1.15, "rotamer_outliers": 0.0, "molprobity_score": 1.38}}, "A": {"2": {"clash": 2, "c-beta": null, "nqh_flips": null, "omega": null, "ramachandran": 2, "rotamer": 2, "cmo": null}, "3": {"clash": 2, "c-beta": null, "nqh_flips": null, "omega": null, "ramachandran": 2, "rotamer": 2, "cmo": null}, ...
"rama_z": {"A": {"2": -0.899166, "3": 0.109762, "4": -0.051125, ....
"map_fit": [3.2, {"A": {"1": [0.581, null, null], "2": [0.647, null, null], ...
The map_fit scores (or
density_scores
) include a triplet of residue_fit, mainchain_fit and sidechain_fit scores. The mainchain and sidechain scores are null/None in the above example. When calculated internally in Iris, they hold non-null values. Chains with all null scores need to be removed from display - this needs to be added.The last few commits include options to choose the
CONTINUOUS_METRICS
,DISCRETE_METRICS
andRESIDUE_VIEW_BARS
for display (arguments continuous_metrics_to_display, discrete_metrics_to_display and residue_bars_to_display). We can also choose which metrics to display using the new argumentsdiscrete_metrics_to_display
andcontinuous_metrics_to_display
, useful especially because not all metrics calculated/supplied are displayed by default.For example, continuous_metrics_to_display = ["Avg. B", "Std. B", "Res. Fit", "Main Fit", "Rama Z", "Rota Z"]
residue_bars_to_display = ["Res. Fit", "Main Fit"]
Also added are options to provide percentile values or similar calculated externally, using arguments:
data_with_percentiles
: list of metrics for which the json data file includes percentiles as well . e.g. data_with_percentiles=["map_fit"]percentile_bar_label
: axis label for the percentile bars (RESIDUE_VIEW_BARS
). "Percentiles" by default. e.g. percentile_bar_label="Z-scores"percentile_bar_range
: y limits for theRESIDUE_VIEW_BARS
. [0,100] if not provided. e.g. percentile_bar_range = [-5,5]The Iris plot below shows a custom display with externally supplied metric data calculated using CCP-EM pipeliner, generated with display options:
continuous_metrics_to_display = ["Avg. B", "Std. B", "Res. Fit", "Main Fit", "Rama Z", "Rota Z"]
data_with_percentiles=["map_fit"]
residue_bars_to_display = ["Res. Fit", "Main Fit"]
percentile_bar_label="Z-scores"
percentile_bar_range=[min of Z-score data, max of Z-score data]