diff options
author | zsloan | 2022-01-28 22:52:49 +0000 |
---|---|---|
committer | zsloan | 2022-03-16 14:41:09 -0500 |
commit | bdf0653adda955b93127a1ddb7e70f9ba490e8b8 (patch) | |
tree | 66b8bb8f92beb9cdc919d58b3592e80c1a38d49c | |
parent | e841dd524ee33386a47abb694dea90363de144b8 (diff) | |
download | genenetwork2-bdf0653adda955b93127a1ddb7e70f9ba490e8b8.tar.gz |
Minor changes/bug fixes
- Removed some unused code - Strip marker genotype to avoid newline character at end - Convert zip to list for marker genotypes - Add typing to group_samples - Rename strain_genofile to source_genofile
-rw-r--r-- | wqflask/maintenance/gen_ind_genofiles.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/wqflask/maintenance/gen_ind_genofiles.py b/wqflask/maintenance/gen_ind_genofiles.py index 546bc60d..ec0fcd55 100644 --- a/wqflask/maintenance/gen_ind_genofiles.py +++ b/wqflask/maintenance/gen_ind_genofiles.py @@ -1,17 +1,14 @@ # Example command: env GN2_PROFILE=/usr/local/guix-profiles/gn-latest-20220122 TMPDIR=/export/local/home/zas1024/gn2-zach/tmp WEBSERVER_MODE=DEBUG LOG_LEVEL=DEBUG SERVER_PORT=5002 GENENETWORK_FILES=/export/local/home/zas1024/gn2-zach/genotype_files SQL_URI=mysql://webqtlout:webqtlout@localhost/db_webqtl ./bin/genenetwork2 ./etc/default_settings.py -c ./maintenance/gen_ind_genofiles.py import sys +from typing import List import MySQLdb -#from flask import Blueprint - from wqflask import app from gn3.db.datasets import retrieve_group_samples -#gen_geno = Blueprint('gen_geno', __name__) - def db_conn(): return MySQLdb.Connect(db=app.config.get("DB_NAME"), user=app.config.get("DB_USER"), @@ -22,10 +19,7 @@ def main(args): # The file of the "main" .geno file for the group in question # For example: BXD.geno or BXD.6.geno if converting to BXD individual genofiles - strain_genofile = args[1] - - # Get genotypes from the source strain genofile - strain_genotypes(strain_genofile) + source_genofile = args[1] # The target individuals/samples group(s) we're generating the .geno files for # This can be passed as either a specific .geno file, or as a JSON file @@ -35,13 +29,16 @@ def main(args): else: target_groups = [args[2]] -def group_samples(target_group): + # Generate the output .geno files + generate_new_genofiles(strain_genotypes(source_genofile), target_groups) + +def group_samples(target_group: str) -> List: """ Get the group samples from its "dummy" .geno file (which still contains the sample list) """ # Allow for inputting the target group as either the group name or .geno file - file_location = app.config.get("GENENETWORK_FILES") + "/genotype/" + target_group\ + file_location = app.config.get("GENENETWORK_FILES") + "/genotype/" + target_group if ".geno" not in target_group: file_location += ".geno" @@ -109,7 +106,7 @@ def strain_genotypes(strain_genofile: str) -> List: 'Locus': line_items[header_columns.index("Locus")], 'Mb': line_items[header_columns.index("Mb")], 'cM': line_items[header_columns.index("cM")], - 'genotypes': zip(sample_list, line_items[geno_start_col:]) + 'genotypes': list(zip(sample_list, [item.strip() for item in line_items][geno_start_col:])) } marker_genotypes.append(this_marker) |