Age | Commit message (Collapse) | Author |
|
Rename the `gn3.random` module to gn3.chancy to avoid conflicts with Python's
`random` module.
* gn3/random.py -> gn3/chancy.py: rename module
* gn3/commands.py: update import
* gn3/computations/partial_correlations.py: update import
* gn3/computations/qtlreaper.py: update import
* gn3/computations/rust_correlation.py: update import
* gn3/db/correlations.py: update import
* gn3/db/traits.py: update import
* gn3/heatmaps.py: update import
* tests/integration/conftest.py: update import
|
|
|
|
To reduce the chances of the system failing due to the external process being
launched with the wrong parameters, add a parsing stage that converts the
method from the UI into a form acceptable by the CLI script.
* gn3/commands.py: parse the method from UI
* scripts/partial_correlations.py: simplify the acceptable methods
|
|
- Have "Pearson's r" and "Spearman's rho" as the only valid choices for the
partial correlations
|
|
|
|
Use new external script to run the partial correlations for both cases,
i.e.
- against an entire dataset, or
- against selected traits
|
|
|
|
After reworking the worker/runner to have a one-shot mode, add a function that
queues up the task and then runs the worker in the one-shot mode to process
the computation in the background.
|
|
|
|
Fix some issues caught by tests due to changes introducing the hand-off of the
partial correlations computations to an external process
Fix some issues due to the changes that introduce context managers for
database connections
Update some tests to take the above two changes into consideration
|
|
Run the partial correlations code in an external python process decoupling it
from the server and making it asynchronous.
Summary of changes:
* gn3/api/correlation.py:
- Remove response processing code
- Queue partial corrs processing
- Create new endpoint to get results
* gn3/commands.py
- Compose the pcorrs command to be run in an external process
- Enable running of subprocess commands with list args
* gn3/responses/__init__.py: new module indicator file
* gn3/responses/pcorrs_responses.py: Hold response processing code extracted
from ~gn3.api.correlations.py~ file
* scripts/partial_correlations.py: CLI script to process the pcorrs
* sheepdog/worker.py:
- Add the *genenetwork3* path at the beginning of the ~sys.path~ list to
override any GN3 in the site-packages
- Add any environment variables to be set for the command to be run
|
|
* gn3/commands.py (run_cmd): Replace type of success_codes from List to Tuple
* gn3/computations/diff.py (generate_diff): Pass success_codes as a Tuple when
calling "run_cmd".
|
|
* gn3/commands.py (run_cmd): Some commands like "diff" return non-standard
error codes. To make this fn more robust, add an extra optional argument that
sets what successful codes to check.
|
|
When programs terminate with an error, they usually return a -1!
|
|
|
|
by itself
|
|
|
|
command to be run from the command line; used the same pattern as for GEMMA for consistency
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The e-mail field will be used to send the results of the computation when it
is completed.
|
|
* gn3/commands.py (run_command): New procedure.
|
|
* gn3/commands.py (queue_cmd): New procedure.
* tests/unit/test_commands.py: New test-cases for ^^.
|
|
* gn3/commands.py: New file
* tests/unit/test_commands.py: New test-cases for ^^.
|