aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/heatmap/heatmap.py7
-rw-r--r--wqflask/wqflask/marker_regression/gemma_mapping.py9
-rw-r--r--wqflask/wqflask/marker_regression/run_mapping.py14
3 files changed, 18 insertions, 12 deletions
diff --git a/wqflask/wqflask/heatmap/heatmap.py b/wqflask/wqflask/heatmap/heatmap.py
index 8d9c9e7f..8ef85d3c 100644
--- a/wqflask/wqflask/heatmap/heatmap.py
+++ b/wqflask/wqflask/heatmap/heatmap.py
@@ -33,9 +33,10 @@ class Heatmap:
chrnames = []
self.species = species.TheSpecies(dataset=self.trait_list[0][1])
- for key in list(self.species.chromosomes(db_cursor).chromosomes.keys()):
- chrnames.append([self.species.chromosomes.chromosomes[key].name,
- self.species.chromosomes.chromosomes[key].mb_length])
+ with database_connection() as conn, conn.cursor() as db_cursor:
+ for this_chr in self.species.chromosomes.chromosomes(db_cursor):
+ chrnames.append([self.species.chromosomes.chromosomes(db_cursor)[this_chr].name,
+ self.species.chromosomes.chromosomes(db_cursor)[this_chr].mb_length])
for trait_db in self.trait_list:
diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/wqflask/wqflask/marker_regression/gemma_mapping.py
index cc063d03..08a38527 100644
--- a/wqflask/wqflask/marker_regression/gemma_mapping.py
+++ b/wqflask/wqflask/marker_regression/gemma_mapping.py
@@ -11,6 +11,7 @@ from utility.tools import flat_files, assert_file
from utility.tools import GEMMA_WRAPPER_COMMAND
from utility.tools import TEMPDIR
from utility.tools import WEBSERVER_MODE
+from wqflask.database import database_connection
from gn3.computations.gemma import generate_hash_of_string
@@ -47,9 +48,11 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco,
gwa_output_filename = (f"{this_dataset.group.name}_GWA_"
f"{generate_random_n_string(6)}")
- this_chromosomes = this_dataset.species.chromosomes.chromosomes
- this_chromosomes_name = [this_chromosomes[chromosome].name
- for chromosome in this_chromosomes]
+
+ this_chromosomes_name = []
+ with database_connection() as conn, conn.cursor() as db_cursor:
+ for this_chr in this_dataset.species.chromosomes.chromosomes(db_cursor):
+ this_chromosomes_name.append(this_dataset.species.chromosomes.chromosomes(db_cursor)[this_chr].name)
chr_list_string = ",".join(this_chromosomes_name)
if covariates != "":
diff --git a/wqflask/wqflask/marker_regression/run_mapping.py b/wqflask/wqflask/marker_regression/run_mapping.py
index b2f5af3b..8ca1faf5 100644
--- a/wqflask/wqflask/marker_regression/run_mapping.py
+++ b/wqflask/wqflask/marker_regression/run_mapping.py
@@ -30,6 +30,7 @@ from base import data_set
from base import species
from base import webqtlConfig
from utility import webqtlUtil, helper_functions, hmac, Plot, Bunch, temp_data
+from wqflask.database import database_connection
from wqflask.marker_regression import gemma_mapping, rqtl_mapping, qtlreaper_mapping, plink_mapping
from wqflask.show_trait.SampleList import SampleList
@@ -658,12 +659,13 @@ def geno_db_exists(this_dataset):
def get_chr_lengths(mapping_scale, mapping_method, dataset, qtl_results):
chr_lengths = []
if mapping_scale == "physic":
- for i, the_chr in enumerate(dataset.species.chromosomes.chromosomes):
- this_chr = {
- "chr": dataset.species.chromosomes.chromosomes[the_chr].name,
- "size": str(dataset.species.chromosomes.chromosomes[the_chr].length)
- }
- chr_lengths.append(this_chr)
+ with database_connection() as conn, conn.cursor() as db_cursor:
+ for i, the_chr in enumerate(dataset.species.chromosomes.chromosomes(db_cursor)):
+ this_chr = {
+ "chr": dataset.species.chromosomes.chromosomes(db_cursor)[the_chr].name,
+ "size": str(dataset.species.chromosomes.chromosomes(db_cursor)[the_chr].length)
+ }
+ chr_lengths.append(this_chr)
else:
this_chr = 1
highest_pos = 0