Skip to content

Commit 19e99bc

Browse files
committed
Added tests
1 parent cdda0a2 commit 19e99bc

File tree

3 files changed

+48
-20
lines changed

3 files changed

+48
-20
lines changed

malariagen_data/anoph/karyotype.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,11 @@
88
from . import base_params
99
from typing import Optional
1010

11-
from .genome_features import AnophelesGenomeFeaturesData
12-
from .genome_sequence import AnophelesGenomeSequenceData
13-
from .sample_metadata import AnophelesSampleMetadata
11+
from .snp_data import AnophelesSnpData
1412
from .karyotype_params import inversion_param
1513

1614

17-
class AnophelesKaryotypeData(
18-
AnophelesSampleMetadata, AnophelesGenomeFeaturesData, AnophelesGenomeSequenceData
19-
):
15+
class AnophelesKaryotypeData(AnophelesSnpData):
2016
def __init__(
2117
self,
2218
**kwargs,

tests/integration/test_af1.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,24 @@ def test_locate_region(region_raw):
7575
assert region == Region("2RL", 48714463, 48715355)
7676
if region_raw == "2RL:24,630,355-24,633,221":
7777
assert region == Region("2RL", 24630355, 24633221)
78+
79+
80+
@pytest.mark.parametrize(
81+
"inversion",
82+
["2La", "2Rb", "2Rc_col", "X_x"],
83+
)
84+
def test_karyotyping(inversion):
85+
af1 = setup_af1()
86+
87+
if inversion == "X_x":
88+
with pytest.raises(TypeError):
89+
af1.karyotype(
90+
inversion=inversion, sample_sets="AG1000G-GH", sample_query=None
91+
)
92+
else:
93+
with pytest.raises(ValueError):
94+
af1.karyotype(
95+
inversion=inversion,
96+
sample_sets="1229-VO-GH-DADZIE-VMF00095",
97+
sample_query=None,
98+
)

tests/integration/test_ag3.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -159,19 +159,30 @@ def test_xpehh_gwss():
159159
assert_allclose(xpehh[:, 2][100], 0.4817561326426265)
160160

161161

162-
def test_karyotyping():
162+
@pytest.mark.parametrize(
163+
"inversion",
164+
["2La", "2Rb", "2Rc_col", "X_x"],
165+
)
166+
def test_karyotyping(inversion):
163167
ag3 = setup_ag3(cohorts_analysis="20230516")
164168

165-
df = ag3.karyotype(inversion="2La", sample_sets="AG1000G-GH", sample_query=None)
166-
167-
assert isinstance(df, pd.DataFrame)
168-
expected_cols = [
169-
"sample_id",
170-
"inversion",
171-
"karyotype_2La_mean",
172-
"karyotype_2La",
173-
"total_tag_snps",
174-
]
175-
assert set(df.columns) == set(expected_cols)
176-
assert all(df["karyotype_2La"].isin([0, 1, 2]))
177-
assert all(df["karyotype_2La_mean"].between(0, 2))
169+
if inversion == "X_x":
170+
with pytest.raises(TypeError):
171+
ag3.karyotype(
172+
inversion=inversion, sample_sets="AG1000G-GH", sample_query=None
173+
)
174+
else:
175+
df = ag3.karyotype(
176+
inversion=inversion, sample_sets="AG1000G-GH", sample_query=None
177+
)
178+
assert isinstance(df, pd.DataFrame)
179+
expected_cols = [
180+
"sample_id",
181+
"inversion",
182+
f"karyotype_{inversion}_mean",
183+
f"karyotype_{inversion}",
184+
"total_tag_snps",
185+
]
186+
assert set(df.columns) == set(expected_cols)
187+
assert all(df[f"karyotype_{inversion}"].isin([0, 1, 2]))
188+
assert all(df[f"karyotype_{inversion}_mean"].between(0, 2))

0 commit comments

Comments
 (0)