Age | Commit message (Collapse) | Author |
|
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
|
|
* Extract the common error checking code into a separate function
* Rename the function to make its use clearer
|
|
Use the `with` context manager to open database connections, so as to ensure
that those connections are closed once the call is completed. This hopefully
avoids the 'too many connections' error
|
|
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
|