about summary refs log tree commit diff
path: root/e2e-tests/hsmice/check-qtl.py
diff options
context:
space:
mode:
authorArun Isaac2025-09-06 18:16:28 +0100
committerArun Isaac2025-09-06 18:49:49 +0100
commitb89ecd37fe19fdb31beebabd2796b74f5dc97743 (patch)
treea5cd342fcf4cae262a2483f099198908260f44e7 /e2e-tests/hsmice/check-qtl.py
parent9905a9ff160ae4688815640cc4e669c5fdfe3273 (diff)
downloadpyhegp-b89ecd37fe19fdb31beebabd2796b74f5dc97743.tar.gz
pyhegp-b89ecd37fe19fdb31beebabd2796b74f5dc97743.tar.lz
pyhegp-b89ecd37fe19fdb31beebabd2796b74f5dc97743.zip
Add end-to-end tests for hsmice dataset.
* Add hsmice dataset wrangling and test scripts.
* Add G-expression script to run test.
* Depend on the guix-bioinformatics Guix channel for r-genio.
Diffstat (limited to 'e2e-tests/hsmice/check-qtl.py')
-rw-r--r--e2e-tests/hsmice/check-qtl.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/e2e-tests/hsmice/check-qtl.py b/e2e-tests/hsmice/check-qtl.py
new file mode 100644
index 0000000..feae361
--- /dev/null
+++ b/e2e-tests/hsmice/check-qtl.py
@@ -0,0 +1,27 @@
+### pyhegp --- Homomorphic encryption of genotypes and phenotypes
+### Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net>
+###
+### This file is part of pyhegp.
+###
+### pyhegp is free software: you can redistribute it and/or modify it
+### under the terms of the GNU General Public License as published by
+### the Free Software Foundation, either version 3 of the License, or
+### (at your option) any later version.
+###
+### pyhegp is distributed in the hope that it will be useful, but
+### WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+### General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with pyhegp. If not, see <https://www.gnu.org/licenses/>.
+
+import sys
+
+import pandas as pd
+
+if __name__ == "__main__":
+    df = pd.read_csv(sys.argv[1], sep="\t")
+    qtl = df.query("p < 1e-10")
+    assert (qtl.chromosome == 4).all()
+    assert ((qtl.position - 137715608).abs() < 2*10**6).all()