-
Notifications
You must be signed in to change notification settings - Fork 41
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
Add SAXS scoring module #551
base: main
Are you sure you want to change the base?
Conversation
New module created for scoring based on SAXS scattering data. Runs ATSAS CRYSOL to calculate fit of HADDOCK models to the data. Currently does not calculate HADDOCKsaxs score.
Default weight set to 50.0 for the SAXS scoring term in HADDOCKsaxs. Also changed the CRYSOL -cst option to a boolean and made all CRYSOL options expert-only.
Update to SAXS scoring module: now writes chi values and corresponding HADDOCKsaxs score to output file. Note that this score is not currently passed to seletop.
Assign HADDOCKsaxs score to each model's score attribute, so that this score is passed to the next module, eg. seletop will select based on this score.
Opening output file only once to write HADDOCKsaxs scores.
Some small adjustments to __init__.py of the SAXS scoring module.
Adding simulated scattering data for the 1GGR example and an example configuration file to run the SAXS scoring module.
TO DO: Use HADDOCK score from models (calculated by the preceding module), rather than calling calc_haddock_score to calculate from scratch. We then no longer need the individual weights for the scoring terms, replace these with one weight for the pre-calculated HADDOCK score (default = 1) and of course keep w_saxs for the SAXS term (default = 50). |
As discussed, the This is because the latter is a child class of |
Instead of calculating the HADDOCK score from scratch, the SAXS scoring module now uses the scores from the previous module and simply adds the chi term. If previous module did not produce a score (eg. topoaa), score=chi. Also added option to change the weight of the HADDOCK score relative to the chi term.
Some small fixes.
More small fixes.
Actually fixed lint issues.
Added min and max values for CRYSOL parameters lm and ns.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #551 +/- ##
==========================================
- Coverage 70.25% 69.96% -0.30%
==========================================
Files 78 79 +1
Lines 6967 7016 +49
==========================================
+ Hits 4895 4909 +14
- Misses 2072 2107 +35 ☔ View full report in Codecov by Sentry. |
Moving the SAXS scoring module from the scoring to the analysis category.
Use the square root of Chi^2 values calculated by CRYSOL (==> Chi) to calculate the score correctly as in the Karaca & Bonvin publication.
Added a brief description of the module.
Fix order of imports.
Redirect stdout from CRYSOL to /dev/null and remove .fit and .log files to save space.
Fixing lint errors from previous commit.
Co-Authored-By: Charlotte van Noort <[email protected]>
Co-Authored-By: Charlotte van Noort <[email protected]>
Some small changes to the saxsscore module.
Add new version of the --constant parameter (previously -cst) to the CRYSOL command in the SAXS scoring module.
You are about to submit a new Pull Request. Before continuing make sure you read the contributing guidelines and you comply with the following criteria:
tox
tests pass. Runtox
command inside the repository folder-test.cfg
examples execute without errors. Insideexamples/
runpython run_tests.py -b
Introducing a new scoring module to calculate a HADDOCK-SAXS score as described by Karaca & Bonvin (2013) in Acta Crystallographica.