From 2852a935d67f1fe319ee925f412d40f7d8e88582 Mon Sep 17 00:00:00 2001 From: Alexander_Kabui Date: Wed, 19 Feb 2025 15:54:51 +0300 Subject: fix: Read and parse correct permutation file from R/qtl1 --- gn3/computations/rqtl.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'gn3/computations') diff --git a/gn3/computations/rqtl.py b/gn3/computations/rqtl.py index c8a828d..941a19b 100644 --- a/gn3/computations/rqtl.py +++ b/gn3/computations/rqtl.py @@ -1,5 +1,6 @@ """Procedures related to R/qtl computations""" import os +import csv from bisect import bisect from typing import Dict, List, Tuple, Union @@ -317,14 +318,10 @@ def process_perm_output(file_name: str) -> Tuple[List, float, float]: outdir = os.path.join(get_tmpdir(), "gn3") with open(os.path.join(outdir, file_name), - "r", encoding="utf-8") as the_file: - - for i, line in enumerate(the_file): - if i == 0: - # Skip header line - continue - _snp, _chromosome, _position, lod_score = line.split(",") - perm_results.append(float(lod_score)) - suggestive = np.percentile(np.array(perm_results), 67) - significant = np.percentile(np.array(perm_results), 95) + "r", encoding="utf-8") as file_handler: + reader = csv.reader(file_handler) + next(reader) + perm_results = [float(row[1]) for row in reader] # Extract LOD values + suggestive = np.percentile(np.array(perm_results), 67) + significant = np.percentile(np.array(perm_results), 95) return perm_results, suggestive, significant -- cgit 1.4.1