Skip to content

Commit 76c5d89

Browse files
Update base class, init, start adding test coverage
1 parent d7fa6df commit 76c5d89

14 files changed

Lines changed: 309 additions & 57 deletions

malariagen_data/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from .af1 import Af1
55
from .ag3 import Ag3
66
from .amin1 import Amin1
7+
from .as1 import As1
78
from .anopheles import AnophelesDataResource, Region
89
from .pf7 import Pf7
910
from .pf8 import Pf8

malariagen_data/as1.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
TAXON_PALETTE = px.colors.qualitative.Plotly
1818
TAXON_COLORS = {
19-
"dirus": TAXON_PALETTE[0],
19+
"stephensi": TAXON_PALETTE[0],
2020
}
2121

2222
XPEHH_GWSS_CACHE_NAME = "as1_xpehh_gwss_v1"

tests/anoph/test_base.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
from malariagen_data import af1 as _af1
1111
from malariagen_data import ag3 as _ag3
1212
from malariagen_data import adir1 as _adir1
13+
from malariagen_data import as1 as _as1
14+
1315
from malariagen_data.anoph.base import AnophelesBase
1416
from malariagen_data.util import LoggingHelper
1517

@@ -62,6 +64,18 @@ def amin1_sim_api(amin1_sim_fixture):
6264
)
6365

6466

67+
@pytest.fixture
68+
def as1_sim_api(as1_sim_fixture):
69+
return AnophelesBase(
70+
url=as1_sim_fixture.url,
71+
public_url=as1_sim_fixture.url,
72+
config_path=_as1.CONFIG_PATH,
73+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
74+
major_version_path=_as1.MAJOR_VERSION_PATH,
75+
pre=False,
76+
)
77+
78+
6579
# N.B., here we use pytest_cases to parametrize tests. Each
6680
# function whose name begins with "case_" defines a set of
6781
# inputs to the test functions. See the documentation for
@@ -90,6 +104,10 @@ def case_amin1_sim(amin1_sim_fixture, amin1_sim_api):
90104
return amin1_sim_fixture, amin1_sim_api
91105

92106

107+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
108+
return as1_sim_fixture, as1_sim_api
109+
110+
93111
@parametrize_with_cases("fixture,api", cases=".")
94112
def test_config(fixture, api):
95113
config = api.config

tests/anoph/test_distance.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from malariagen_data import af1 as _af1
77
from malariagen_data import ag3 as _ag3
88
from malariagen_data import adir1 as _adir1
9+
from malariagen_data import as1 as _as1
10+
911
from malariagen_data.anoph.distance import AnophelesDistanceAnalysis
1012
from malariagen_data.anoph import pca_params
1113

@@ -73,6 +75,24 @@ def adir1_sim_api(adir1_sim_fixture):
7375
)
7476

7577

78+
@pytest.fixture
79+
def as1_sim_api(as1_sim_fixture):
80+
return AnophelesDistanceAnalysis(
81+
url=as1_sim_fixture.url,
82+
public_url=as1_sim_fixture.url,
83+
config_path=_as1.CONFIG_PATH,
84+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
85+
major_version_path=_as1.MAJOR_VERSION_PATH,
86+
pre=False,
87+
gff_gene_type="protein_coding_gene",
88+
gff_gene_name_attribute="Note",
89+
gff_default_attributes=("ID", "Parent", "Note", "description"),
90+
default_site_mask="stephensi",
91+
results_cache=as1_sim_fixture.results_cache_path.as_posix(),
92+
taxon_colors=_as1.TAXON_COLORS,
93+
)
94+
95+
7696
# N.B., here we use pytest_cases to parametrize tests. Each
7797
# function whose name begins with "case_" defines a set of
7898
# inputs to the test functions. See the documentation for
@@ -97,6 +117,10 @@ def case_adir1_sim(adir1_sim_fixture, adir1_sim_api):
97117
return adir1_sim_fixture, adir1_sim_api
98118

99119

120+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
121+
return as1_sim_fixture, as1_sim_api
122+
123+
100124
def check_biallelic_diplotype_pairwise_distance(*, api, data_params, metric):
101125
# Check available data.
102126
ds = api.biallelic_snp_calls(**data_params)

tests/anoph/test_fst.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
from malariagen_data import af1 as _af1
1010
from malariagen_data import ag3 as _ag3
1111
from malariagen_data import adir1 as _adir1
12+
from malariagen_data import as1 as _as1
13+
1214

1315
from malariagen_data.anoph.fst import AnophelesFstAnalysis
1416

@@ -76,6 +78,24 @@ def adir1_sim_api(adir1_sim_fixture):
7678
)
7779

7880

81+
@pytest.fixture
82+
def as1_sim_api(as1_sim_fixture):
83+
return AnophelesFstAnalysis(
84+
url=as1_sim_fixture.url,
85+
public_url=as1_sim_fixture.url,
86+
config_path=_as1.CONFIG_PATH,
87+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
88+
major_version_path=_as1.MAJOR_VERSION_PATH,
89+
pre=False,
90+
gff_gene_type="protein_coding_gene",
91+
gff_gene_name_attribute="Note",
92+
gff_default_attributes=("ID", "Parent", "Note", "description"),
93+
default_site_mask="stephensi",
94+
results_cache=as1_sim_fixture.results_cache_path.as_posix(),
95+
taxon_colors=_as1.TAXON_COLORS,
96+
)
97+
98+
7999
# N.B., here we use pytest_cases to parametrize tests. Each
80100
# function whose name begins with "case_" defines a set of
81101
# inputs to the test functions. See the documentation for
@@ -100,6 +120,10 @@ def case_adir1_sim(adir1_sim_fixture, adir1_sim_api):
100120
return adir1_sim_fixture, adir1_sim_api
101121

102122

123+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
124+
return as1_sim_fixture, as1_sim_api
125+
126+
103127
@parametrize_with_cases("fixture,api", cases=".")
104128
def test_fst_gwss(fixture, api: AnophelesFstAnalysis):
105129
# Set up test parameters.

tests/anoph/test_g123.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
from malariagen_data import ag3 as _ag3
88
from malariagen_data import adir1 as _adir1
99
from malariagen_data import amin1 as _amin1
10+
from malariagen_data import as1 as _as1
11+
1012
from malariagen_data.anoph.g123 import AnophelesG123Analysis
1113

1214

@@ -95,6 +97,25 @@ def amin1_sim_api(amin1_sim_fixture):
9597
)
9698

9799

100+
@pytest.fixture
101+
def as1_sim_api(as1_sim_fixture):
102+
return AnophelesG123Analysis(
103+
url=as1_sim_fixture.url,
104+
public_url=as1_sim_fixture.url,
105+
config_path=_as1.CONFIG_PATH,
106+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
107+
major_version_path=_as1.MAJOR_VERSION_PATH,
108+
pre=False,
109+
gff_gene_type="protein_coding_gene",
110+
gff_gene_name_attribute="Note",
111+
gff_default_attributes=("ID", "Parent", "Note", "description"),
112+
default_site_mask="stephensi",
113+
results_cache=as1_sim_fixture.results_cache_path.as_posix(),
114+
taxon_colors=_as1.TAXON_COLORS,
115+
default_phasing_analysis=None,
116+
)
117+
118+
98119
# N.B., here we use pytest_cases to parametrize tests. Each
99120
# function whose name begins with "case_" defines a set of
100121
# inputs to the test functions. See the documentation for
@@ -123,6 +144,10 @@ def case_amin1_sim(amin1_sim_fixture, amin1_sim_api):
123144
return amin1_sim_fixture, amin1_sim_api
124145

125146

147+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
148+
return as1_sim_fixture, as1_sim_api
149+
150+
126151
def check_g123_gwss(*, api, g123_params):
127152
# Run main gwss function under test.
128153
x, g123 = api.g123_gwss(**g123_params)

tests/anoph/test_genome_sequence.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
from malariagen_data import af1 as _af1
1010
from malariagen_data import ag3 as _ag3
11+
from malariagen_data import as1 as _as1
12+
1113
from malariagen_data.anoph.genome_sequence import AnophelesGenomeSequenceData
1214
from malariagen_data.util import Region
1315

@@ -37,6 +39,18 @@ def af1_sim_api(af1_sim_fixture):
3739
)
3840

3941

42+
@pytest.fixture
43+
def as1_sim_api(as1_sim_fixture):
44+
return AnophelesGenomeSequenceData(
45+
url=as1_sim_fixture.url,
46+
public_url=as1_sim_fixture.url,
47+
config_path=_as1.CONFIG_PATH,
48+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
49+
major_version_path=_as1.MAJOR_VERSION_PATH,
50+
pre=False,
51+
)
52+
53+
4054
def case_ag3_sim(ag3_sim_fixture, ag3_sim_api):
4155
return ag3_sim_fixture, ag3_sim_api
4256

@@ -45,6 +59,10 @@ def case_af1_sim(af1_sim_fixture, af1_sim_api):
4559
return af1_sim_fixture, af1_sim_api
4660

4761

62+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
63+
return as1_sim_fixture, as1_sim_api
64+
65+
4866
@parametrize_with_cases("fixture,api", cases=".")
4967
def test_contigs(fixture, api):
5068
contigs = api.contigs

tests/anoph/test_heterozygosity.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
from malariagen_data import ag3 as _ag3
99
from malariagen_data import adir1 as _adir1
1010
from malariagen_data import amin1 as _amin1
11+
from malariagen_data import as1 as _as1
12+
1113
from malariagen_data.anoph.heterozygosity import AnophelesHetAnalysis
1214

1315

@@ -92,6 +94,24 @@ def amin1_sim_api(amin1_sim_fixture):
9294
)
9395

9496

97+
@pytest.fixture
98+
def as1_sim_api(as1_sim_fixture):
99+
return AnophelesHetAnalysis(
100+
url=as1_sim_fixture.url,
101+
public_url=as1_sim_fixture.url,
102+
config_path=_as1.CONFIG_PATH,
103+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
104+
major_version_path=_as1.MAJOR_VERSION_PATH,
105+
pre=False,
106+
gff_gene_type="protein_coding_gene",
107+
gff_gene_name_attribute="Note",
108+
gff_default_attributes=("ID", "Parent", "Note", "description"),
109+
default_site_mask="stephensi",
110+
results_cache=as1_sim_fixture.results_cache_path.as_posix(),
111+
taxon_colors=_as1.TAXON_COLORS,
112+
)
113+
114+
95115
def case_ag3_sim(ag3_sim_fixture, ag3_sim_api):
96116
return ag3_sim_fixture, ag3_sim_api
97117

@@ -108,6 +128,10 @@ def case_amin1_sim(amin1_sim_fixture, amin1_sim_api):
108128
return amin1_sim_fixture, amin1_sim_api
109129

110130

131+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
132+
return as1_sim_fixture, as1_sim_api
133+
134+
111135
@parametrize_with_cases("fixture,api", cases=".")
112136
def test_plot_heterozygosity_track(fixture, api: AnophelesHetAnalysis):
113137
# Set up test parameters.

tests/anoph/test_ld.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import pytest
44
from pytest_cases import parametrize_with_cases
55

6-
from malariagen_data import af1 as _af1
76
from malariagen_data import ag3 as _ag3
7+
from malariagen_data import as1 as _as1
88

99
from malariagen_data.anoph.ld import AnophelesLdAnalysis
1010

@@ -37,20 +37,20 @@ def ag3_sim_api(ag3_sim_fixture):
3737

3838

3939
@pytest.fixture
40-
def af1_sim_api(af1_sim_fixture):
40+
def as1_sim_api(as1_sim_fixture):
4141
return AnophelesLdAnalysis(
42-
url=af1_sim_fixture.url,
43-
public_url=af1_sim_fixture.url,
44-
config_path=_af1.CONFIG_PATH,
45-
major_version_number=_af1.MAJOR_VERSION_NUMBER,
46-
major_version_path=_af1.MAJOR_VERSION_PATH,
42+
url=as1_sim_fixture.url,
43+
public_url=as1_sim_fixture.url,
44+
config_path=_as1.CONFIG_PATH,
45+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
46+
major_version_path=_as1.MAJOR_VERSION_PATH,
4747
pre=False,
4848
gff_gene_type="protein_coding_gene",
4949
gff_gene_name_attribute="Note",
5050
gff_default_attributes=("ID", "Parent", "Note", "description"),
51-
default_site_mask="funestus",
52-
results_cache=af1_sim_fixture.results_cache_path.as_posix(),
53-
taxon_colors=_af1.TAXON_COLORS,
51+
default_site_mask="stephensi",
52+
results_cache=as1_sim_fixture.results_cache_path.as_posix(),
53+
taxon_colors=_as1.TAXON_COLORS,
5454
)
5555

5656

@@ -62,6 +62,10 @@ def case_af1_sim(af1_sim_fixture, af1_sim_api):
6262
return af1_sim_fixture, af1_sim_api
6363

6464

65+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
66+
return as1_sim_fixture, as1_sim_api
67+
68+
6569
@parametrize_with_cases("fixture,api", cases=".")
6670
def test_ld_pruning_returns_fewer_snps(fixture, api: AnophelesLdAnalysis):
6771
region = random.choice(api.contigs)

tests/anoph/test_pca.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from malariagen_data import af1 as _af1
99
from malariagen_data import ag3 as _ag3
1010
from malariagen_data import adir1 as _adir1
11+
from malariagen_data import as1 as _as1
1112

1213
from malariagen_data.anoph.pca import AnophelesPca
1314
from malariagen_data.anoph import pca_params
@@ -76,6 +77,24 @@ def adir1_sim_api(adir1_sim_fixture):
7677
)
7778

7879

80+
@pytest.fixture
81+
def as1_sim_api(as1_sim_fixture):
82+
return AnophelesPca(
83+
url=as1_sim_fixture.url,
84+
public_url=as1_sim_fixture.url,
85+
config_path=_as1.CONFIG_PATH,
86+
major_version_number=_as1.MAJOR_VERSION_NUMBER,
87+
major_version_path=_as1.MAJOR_VERSION_PATH,
88+
pre=False,
89+
gff_gene_type="protein_coding_gene",
90+
gff_gene_name_attribute="Note",
91+
gff_default_attributes=("ID", "Parent", "Note", "description"),
92+
default_site_mask="stephensi",
93+
results_cache=as1_sim_fixture.results_cache_path.as_posix(),
94+
taxon_colors=_as1.TAXON_COLORS,
95+
)
96+
97+
7998
# N.B., here we use pytest_cases to parametrize tests. Each
8099
# function whose name begins with "case_" defines a set of
81100
# inputs to the test functions. See the documentation for
@@ -100,6 +119,10 @@ def case_adir1_sim(adir1_sim_fixture, adir1_sim_api):
100119
return adir1_sim_fixture, adir1_sim_api
101120

102121

122+
def case_as1_sim(as1_sim_fixture, as1_sim_api):
123+
return as1_sim_fixture, as1_sim_api
124+
125+
103126
@parametrize_with_cases("fixture,api", cases=".")
104127
def test_pca_plotting(fixture, api: AnophelesPca):
105128
# Parameters for selecting input data.

0 commit comments

Comments
 (0)