aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2023-10-27Make scripts/ a module since it referenced in argparse_actions.py.Munyoki Kilyungi
* scripts/__init__.py: New file. Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
2023-10-10Remove authentication from GN3Frederick Muriuki Muriithi
Authentication should be handled by the auth server (gn-auth) and thus, this commit removes code handling user authentication from the GN3 system.
2023-08-02Use correct variableFrederick Muriuki Muriithi
After copying the calls to assign appropriate roles to the admin in the script, I forgot to update the variable name. This commit fixes that.
2023-08-02Fix module name.Frederick Muriuki Muriithi
2023-08-02Assign `group-leader` role to the admin for automatic group.Frederick Muriuki Muriithi
2023-06-02auth: Increase limit to 100K recordsFrederick Muriuki Muriithi
2023-06-02auth: Add delay between DB insertsFrederick Muriuki Muriithi
Add delays to avoid overwhelming the DB server.
2023-06-02Auth: Bug: Display all admins before taking choiceFrederick Muriuki Muriithi
2023-05-31scripts: Write table checksums into index.Arun Isaac
* scripts/index-genenetwork (main): Write table checksums into index.
2023-05-31scripts: Introduce SQLTableClause.Arun Isaac
* scripts/index-genenetwork (SQLTableClause): New variable. (genes_query, phenotypes_query): Express tables using SQLTableClause. (serialize_sql): Serialize SQLTableClause.
2023-05-31scripts: Fold long lines.Arun Isaac
* scripts/index-genenetwork (write_document, index_query): Fold long lines.
2023-05-31scripts: Ensure only one indexing job may run at a time.Arun Isaac
* scripts/index-genenetwork (main): Ensure no other indexing job is running.
2023-05-30Fix linting errors and failing testsFrederick Muriuki Muriithi
* scripts/register_sys_admin.py: fix linting error * tests/unit/auth/fixtures/oauth2_client_fixtures.py: hash client secret in database. The code expects it hashed in the database.
2023-05-30Enable registering sys-admin on CLIFrederick Muriuki Muriithi
To ease registration of system-admin user, provide a CLI script to register the user and mark them as sys admin in one go.
2023-05-26Document CLI Utility CommandsFrederick Muriuki Muriithi
Document some CLI utility commands useful for development and for supporting the operation of the GN3 app.
2023-05-25Add some error checks.Frederick Muriuki Muriithi
2023-05-25Script to assign existing data to publicly-visible resourcesFrederick Muriuki Muriithi
A script to assign existing data not assigned to any group to publicly-visible resources.
2023-05-22Make directory at "path" and all intermediate ones.Frederick Muriuki Muriithi
Make the directory at the given path, and any intermediate ones to avoid errors in the indexing code when the directory, or its parent(s) do not exist.
2023-04-19oauth2: Link the phenotype traits to user groups.Frederick Muriuki Muriithi
2023-04-19Fix minor linting and typing issuesFrederick Muriuki Muriithi
2023-04-19auth: Setup selected traits correctlyFrederick Muriuki Muriithi
Fix bugs with setting up of the selected traits for use while filtering the search results.
2023-04-18auth: Consistently JSON encode values.Frederick Muriuki Muriithi
Consistently encode all values for the top-level keys stored in redis to avoid issues with json encode/decode
2023-04-17Hook up code to use external search script for phenotypesFrederick Muriuki Muriithi
2023-04-14auth: Add external script to search for phenotypesFrederick Muriuki Muriithi
We need a search through the available phenotype traits in the database when linking the traits to user groups. Unfortunately, the Xapian Search indexes do not (and should not) include the internal identifiers we use to disambiguate the traits. On the other hand, we do not want to present the user with traits that have already been linked to any user group within the search results. The script in this commit, together with the modified queries for fetching the phenotype data form a "hack" of sorts to wrap around the way the search works while ensuring we do not present the user with "non-actionable" (linked) traits in the search results.
2023-04-06Remove deprecated `gn3.db_utils.database_connector` functionFrederick Muriuki Muriithi
Remove the deprecated function and fix a myriad of bugs that arise from removing the function. Issue: https://issues.genenetwork.org/issues/bugfix_coupling_current_app_and_db_utils
2023-04-05Enable use of `database_connection` in scripts without current_appFrederick Muriuki Muriithi
There is need to run external scripts using the same configurations as the application but without the need to couple the script to the application. In this case, we provide the needed configuration directly in the CLI, and modify the existing `gn3.db_utils.database_connection` function to allow it to work coupled to the app or otherwise.
2023-02-13scripts: Fallback to 1 worker when indexing.Arun Isaac
* scripts/index-genenetwork (worker_queue): Set default number of workers to 1 if the number of CPUs cannot be determined.
2023-02-13scripts: Type hint xapian indexing script.Arun Isaac
* scripts/index-genenetwork: Import Callable, Generator, Iterable and List from typing. Type hint all functions.
2022-10-18Add xapian indexing script.Arun Isaac
* scripts/index-genenetwork: New file. * setup.py (install_requires): Add click, pymonad and xapian-bindings. (scripts): Add scripts/index-genenetwork.
2022-07-29New script to run sample correlationsFrederick Muriuki Muriithi
* README.md: update mypy's invocation * scripts/argparse_actions.py: new file - implement custom FileCheck action for argparse * scripts/sample_correlations.py: new file - implement new script to run sample correlations in an external process
2022-06-28Parse the method from UI before passing it to external processFrederick Muriuki Muriithi
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
2022-06-20Restrict partial correlation method choicesFrederick Muriuki Muriithi
- Have "Pearson's r" and "Spearman's rho" as the only valid choices for the partial correlations
2022-05-24Run partial correlations with external scriptFrederick Muriuki Muriithi
Use new external script to run the partial correlations for both cases, i.e. - against an entire dataset, or - against selected traits
2022-05-24New script to compute partial correlationsFrederick Muriuki Muriithi
* Add a new script to compute the partial correlations against: - a select list of traits, or - an entire dataset depending on the specified subcommand. This new script is meant to supercede the `scripts/partial_correlations.py` script. * Fix the check for errors * Reorganise the order of arguments for the `partial_correlations_with_target_traits` function: move the `method` argument before the `target_trait_names` argument so that the common arguments in the partial correlation computation functions share the same order.
2022-05-05Extract common error checking. Rename function.Frederick Muriuki Muriithi
* Extract the common error checking code into a separate function * Rename the function to make its use clearer
2022-03-22Merge branch 'feature/add_rqtl_pairscan' of ↵zsloan
https://github.com/zsloan/genenetwork3 into feature/add_rqtl_pairscan
2022-03-22Change order of if statements for running genoprob commandzsloan
Now it checks for pairscan first, just in case interval ends up being passed (which is an irrelevant parameter for pairscan) Also added a couple more verbose prints
2022-03-22Updated rqtl_wrapper to also return a map file when doing a pair-scan (since ↵zsloan
we need the list of markers/pseudomarkers and their positions)
2022-03-22Added line priting pair-scan results to CSV and changed the default ↵zsloan
step-size to 10cM for pair-scan
2022-03-22- Added scan_func function that determines whether scanone or scantwozsloan
(pairscan) is used - For pairscan default to using step 20 (subject to change, but some step is required during calc.genoprob to make it run fast enough) - Added some new verbose prints
2022-03-22Added option for running pairscan to rqtl_wrapper.Rzsloan
2022-03-08Create database connections within context managersFrederick Muriuki Muriithi
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
2022-03-03Run partial correlations in an external processFrederick Muriuki Muriithi
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
2022-02-11Quote shell variables to prevent globbingFrederick Muriuki Muriithi
Quote the shell variables to prevent globbing and word splitting. Deactivate this check for the specific lines that require intentional word splitting
2022-02-02Fix R/qtl covar bugzsloan
The rqtl_wrapper script was throwing an error when only a single categorical covariate was used. This is apparently because "covars[,name]" throws an error in such a situation. Using just "covars" in such a situation prevents the error. So I just added an if statement checking the number of covariates. There might be some better way to deal with this in R, but this is the best I could come up with.
2022-02-02remove commentsAlexander Kabui
2022-02-02match case string input to booleanAlexander Kabui
2022-02-02fix for parametric inputAlexander Kabui
2022-02-02use user input significanceAlexander Kabui
2022-02-02new line fixAlexander Kabui