Skip to content

Commit c6a53ba

Browse files
committed
Test utility for inserting mapped variants to DB
1 parent 9acd2ab commit c6a53ba

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

tests/helpers/constants.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,20 @@
637637
}
638638

639639

640+
TEST_MINIMAL_PRE_MAPPED_METADATA = {
641+
"genomic": {"sequence_id": "ga4gh:SQ.em9khDCUYXrVWBfWr9r8fjBUrTjj1aig", "sequence_type": "dna"}
642+
}
643+
644+
645+
TEST_MINIMAL_POST_MAPPED_METADATA = {
646+
"genomic": {
647+
"sequence_id": "ga4gh:SQ.em9khDCUYXrVWBfWr9r8fjBUrTjj1aig",
648+
"sequence_type": "dna",
649+
"sequence_accessions": [VALID_ACCESSION],
650+
"sequence_genes": [VALID_GENE],
651+
}
652+
}
653+
640654
TEST_VARIANT_MAPPING_SCAFFOLD = {
641655
"metadata": {},
642656
"computed_genomic_reference_sequence": {
@@ -656,6 +670,17 @@
656670
}
657671

658672

673+
TEST_MINIMAL_MAPPED_VARIANT = {
674+
"pre_mapped": {},
675+
"post_mapped": {},
676+
"modification_date": datetime.isoformat(datetime.now()),
677+
"mapped_date": datetime.isoformat(datetime.now()),
678+
"current": True,
679+
"vrs_version": "2.0",
680+
"mapping_api_version": "pytest.0.0",
681+
}
682+
683+
659684
TEST_SCORESET_RANGE = {
660685
"wt_score": 1.0,
661686
"ranges": [

tests/helpers/util.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,13 @@
1111
from mavedb.lib.validation.dataframe import validate_and_standardize_dataframe_pair
1212
from mavedb.models.contributor import Contributor
1313
from mavedb.models.enums.processing_state import ProcessingState
14+
from mavedb.models.enums.mapping_state import MappingState
15+
from mavedb.models.mapped_variant import MappedVariant
1416
from mavedb.models.score_set import ScoreSet as ScoreSetDbModel
1517
from mavedb.models.license import License
18+
from mavedb.models.target_gene import TargetGene
1619
from mavedb.models.user import User
20+
from mavedb.models.variant import Variant
1721
from mavedb.view_models.collection import Collection
1822
from mavedb.view_models.experiment import Experiment, ExperimentCreate
1923
from mavedb.view_models.score_set import ScoreSet, ScoreSetCreate
@@ -23,7 +27,10 @@
2327
TEST_COLLECTION,
2428
TEST_MINIMAL_ACC_SCORESET,
2529
TEST_MINIMAL_EXPERIMENT,
30+
TEST_MINIMAL_PRE_MAPPED_METADATA,
31+
TEST_MINIMAL_POST_MAPPED_METADATA,
2632
TEST_MINIMAL_SEQ_SCORESET,
33+
TEST_MINIMAL_MAPPED_VARIANT,
2734
)
2835

2936

@@ -185,6 +192,25 @@ def mock_worker_variant_insertion(client, db, data_provider, score_set, scores_c
185192
return client.get(f"/api/v1/score-sets/{score_set['urn']}").json()
186193

187194

195+
def create_mapped_variants_for_score_set(db, score_set_urn):
196+
score_set = db.scalar(select(ScoreSetDbModel).where(ScoreSetDbModel.urn == score_set_urn))
197+
targets = db.scalars(select(TargetGene).where(TargetGene.score_set_id == score_set.id))
198+
variants = db.scalars(select(Variant).where(Variant.score_set_id == score_set.id)).all()
199+
200+
for variant in variants:
201+
mv = MappedVariant(**TEST_MINIMAL_MAPPED_VARIANT, variant_id=variant.id)
202+
db.add(mv)
203+
204+
for target in targets:
205+
target.pre_mapped_metadata = TEST_MINIMAL_PRE_MAPPED_METADATA
206+
target.post_mapped_metadata = TEST_MINIMAL_POST_MAPPED_METADATA
207+
db.add(target)
208+
209+
score_set.mapping_state = MappingState.complete
210+
db.commit()
211+
return
212+
213+
188214
def create_seq_score_set_with_variants(
189215
client, db, data_provider, experiment_urn, scores_csv_path, update=None, counts_csv_path=None
190216
):

tests/routers/conftest.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
create_acc_score_set_with_variants,
2929
create_experiment,
3030
create_seq_score_set_with_variants,
31+
create_mapped_variants_for_score_set,
3132
publish_score_set,
3233
)
3334

@@ -76,6 +77,7 @@ def setup_seq_scoreset(setup_router_db, session, data_provider, client, data_fil
7677
score_set = create_seq_score_set_with_variants(
7778
client, session, data_provider, experiment["urn"], data_files / "scores.csv"
7879
)
80+
create_mapped_variants_for_score_set(session, score_set["urn"])
7981
publish_score_set(client, score_set["urn"])
8082

8183

0 commit comments

Comments
 (0)