From 9aef0b99f13e749a9332f23cf2c8c980cfaf2f7c Mon Sep 17 00:00:00 2001 From: khurrammaqbool Date: Fri, 5 Jul 2024 12:25:28 +0200 Subject: [PATCH 1/3] add MSI TO --- BALSAMIC/commands/config/case.py | 7 +++ BALSAMIC/commands/options.py | 8 +++ BALSAMIC/constants/cluster_analysis.json | 4 ++ BALSAMIC/constants/rules.py | 2 + .../annotation/msi_tumor_only.rule | 57 +++++++++++++++++++ BALSAMIC/utils/rule.py | 11 ++++ BALSAMIC/workflows/balsamic.smk | 15 ++--- CHANGELOG.rst | 1 + tests/commands/config/test_config_sample.py | 42 ++++++++++++++ tests/conftest.py | 4 ++ .../references/variants/msi_pon.list | 10 ++++ 11 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule create mode 100644 tests/test_data/references/variants/msi_pon.list diff --git a/BALSAMIC/commands/config/case.py b/BALSAMIC/commands/config/case.py index 67a257ee3..747e47182 100644 --- a/BALSAMIC/commands/config/case.py +++ b/BALSAMIC/commands/config/case.py @@ -29,6 +29,7 @@ OPTION_GENOME_VERSION, OPTION_GENS_COV_PON, OPTION_GNOMAD_AF5, + OPTION_MSI_PON, OPTION_NORMAL_SAMPLE_NAME, OPTION_PANEL_BED, OPTION_PON_CNN, @@ -80,6 +81,7 @@ @OPTION_GENOME_INTERVAL @OPTION_GENS_COV_PON @OPTION_GNOMAD_AF5 +@OPTION_MSI_PON @OPTION_NORMAL_SAMPLE_NAME @OPTION_PANEL_BED @OPTION_PON_CNN @@ -113,6 +115,7 @@ def case_config( genome_interval: Path, gens_coverage_pon: Path, gnomad_min_af5: Path, + msi_pon: Path, normal_sample_name: str, panel_bed: Path, pon_cnn: Path, @@ -157,6 +160,10 @@ def case_config( } ) + msi_pon_path = {"msi_pon": msi_pon} + if msi_pon: + references.update(msi_pon_path) + variants_observations = { "clinical_snv_observations": clinical_snv_observations, "clinical_sv_observations": clinical_sv_observations, diff --git a/BALSAMIC/commands/options.py b/BALSAMIC/commands/options.py index 3f2f86eb2..bcb7d830b 100644 --- a/BALSAMIC/commands/options.py +++ b/BALSAMIC/commands/options.py @@ -264,6 +264,14 @@ show_default=True, ) +OPTION_MSI_PON = click.option( + "--msi-pon", + type=click.Path(exists=True, resolve_path=True), + required=False, + help="Path of MSI PON baseline file", +) + + OPTION_NORMAL_SAMPLE_NAME = click.option( "--normal-sample-name", required=False, diff --git a/BALSAMIC/constants/cluster_analysis.json b/BALSAMIC/constants/cluster_analysis.json index 4edb7237b..b17fe79d0 100644 --- a/BALSAMIC/constants/cluster_analysis.json +++ b/BALSAMIC/constants/cluster_analysis.json @@ -423,5 +423,9 @@ "msisensorpro_msi_tumor_normal": { "time": "08:00:00", "n": 24 + }, + "msisensorpro_msi_tumor_only": { + "time": "08:00:00", + "n": 24 } } diff --git a/BALSAMIC/constants/rules.py b/BALSAMIC/constants/rules.py index 4ef948b31..ea1dfd004 100644 --- a/BALSAMIC/constants/rules.py +++ b/BALSAMIC/constants/rules.py @@ -87,6 +87,7 @@ "annotate": [ "snakemake_rules/annotation/rankscore.rule", "snakemake_rules/annotation/varcaller_filter_tumor_only.rule", + "snakemake_rules/annotation/msi_tumor_only.rule", ], }, "paired_targeted": { @@ -137,6 +138,7 @@ ], "annotate": [ "snakemake_rules/annotation/varcaller_wgs_filter_tumor_only.rule", + "snakemake_rules/annotation/msi_tumor_only.rule", ], }, "paired_wgs": { diff --git a/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule b/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule new file mode 100644 index 000000000..19e003bae --- /dev/null +++ b/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule @@ -0,0 +1,57 @@ +# vim: syntax=python tabstop=4 expandtab +# coding: utf-8 +# Computation of MSI score. + +rule msisensorpro_scan_reference: + input: + fa = config["reference"]["reference_genome"], + output: + msi_scan = f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list" + benchmark: + Path(f"{benchmark_dir}msisensorpro_scan_reference_{config['analysis']['case_id']}.tsv").as_posix() + singularity: + Path(singularity_image, config["bioinfo_tools"].get("msisensorpro") + ".sif").as_posix() + threads: + get_threads(cluster_config, "msisensorpro_scan_reference") + params: + tmpdir = tempfile.mkdtemp(prefix=tmp_dir), + case_id = config["analysis"]["case_id"], + message: + "Scanning microsatellite sites using msisensor-pro for {params.case_id}" + shell: + """ +msisensor-pro scan -d {input.fa} -o {output.msi_scan}; + +rm -rf {params.tmpdir}; + """ + +rule msisensorpro_msi_tumor_only: + input: + msi_list=f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list", + bamT= config_model.get_final_bam_name(bam_dir = bam_dir,sample_name=tumor_sample), + output: + msi_result = f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.msi" + benchmark: + Path(f"{benchmark_dir}/msisensorpro_msi_tumor_normal_{config['analysis']['case_id']}.tsv").as_posix() + singularity: + Path(singularity_image,config["bioinfo_tools"].get("msisensorpro") + ".sif").as_posix() + threads: + get_threads(cluster_config,"msisensorpro_msi_tumor_only") + params: + tmpdir=tempfile.mkdtemp(prefix=tmp_dir), + case_id=config["analysis"]["case_id"], + msi_pon_baseline=msi_pon, + message: + "Analysing MSI using msisensor-pro for {params.case_id}" + shell: + """ +if [[ -f "{params.msi_pon_baseline}" ]]; then + msisensor-pro pro -b {threads} -d {params.msi_pon_baseline} -t {input.bamT} -o {params.tmpdir}/msi_{params.case_id}; +else + msisensor-pro pro -b {threads} -d {input.msi_list} -t {input.bamT} -o {params.tmpdir}/msi_{params.case_id}; +fi + +sed 's/\%/MSI/g' {params.tmpdir}/msi_{params.case_id} > {output.msi_result}; + +rm -rf {params.tmpdir}; + """ diff --git a/BALSAMIC/utils/rule.py b/BALSAMIC/utils/rule.py index 847409444..638dfa840 100644 --- a/BALSAMIC/utils/rule.py +++ b/BALSAMIC/utils/rule.py @@ -385,6 +385,17 @@ def get_swegen_sv(config: dict) -> str: """ return Path(config["reference"]["swegen_sv_frequency"]).as_posix() +def get_msi_pon(config: dict) -> str: + """Returns path for MSI PON baseline + + Args: + config: a config dictionary + + Returns: + Path for MSI PON baseline file + + """ + return Path(config["reference"]["msi_pon"]).as_posix() def dump_toml(annotations: list) -> str: """Returns list of converted annotation in toml format diff --git a/BALSAMIC/workflows/balsamic.smk b/BALSAMIC/workflows/balsamic.smk index ff5780f1b..d2d41d1ed 100644 --- a/BALSAMIC/workflows/balsamic.smk +++ b/BALSAMIC/workflows/balsamic.smk @@ -43,6 +43,7 @@ from BALSAMIC.utils.rule import ( get_clinical_snv_observations, get_clinical_sv_observations, get_fastp_parameters, + get_msi_pon, get_pon_cnn, get_result_dir, get_rule_output, @@ -104,6 +105,7 @@ swegen_snv = "" clinical_sv = "" somatic_sv = "" swegen_sv = "" +msi_pon = "" if config["analysis"]["sequencing_type"] != "wgs": pon_cnn: str = get_pon_cnn(config) @@ -284,6 +286,8 @@ if "cancer_somatic_sv_observations" in config["reference"]: if "swegen_sv_frequency" in config["reference"]: swegen_sv: str = get_swegen_sv(config) +if "msi_pon" in config["reference"]: + msi_pon: str = get_msi_pon(config) # Capture kit name if config["analysis"]["sequencing_type"] != "wgs": @@ -357,11 +361,12 @@ os.environ["TMPDIR"] = get_result_dir(config) # CNV report input files cnv_report_paths = [] +cnv_report_paths.append( + f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.msi.pdf" +) + if config["analysis"]["sequencing_type"] == "wgs": if config["analysis"]["analysis_type"] == "paired": - cnv_report_paths.append( - f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.msi.pdf" - ) cnv_report_paths.append( f"{vcf_dir}CNV.somatic.{config['analysis']['case_id']}.ascat.samplestatistics.txt.pdf" ) @@ -386,10 +391,6 @@ if config["analysis"]["sequencing_type"] == "wgs": ) ) else: - if config["analysis"]["analysis_type"] == "paired": - cnv_report_paths.append( - f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.msi.pdf" - ) cnv_report_paths.extend( expand(f"{cnv_dir}tumor.merged-{{plot}}.pdf", plot=["diagram", "scatter"]) ) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index db4d51544..58c95e8a5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,7 @@ Added: ^^^^^^ * MSIsensor-pro container https://github.com/Clinical-Genomics/BALSAMIC/pull/1444 * MSI analysis to the tumor-normal workflow https://github.com/Clinical-Genomics/BALSAMIC/pull/1454 +* MSI analysis to the tumor-only workflow https://github.com/Clinical-Genomics/BALSAMIC/pull/ Changed: ^^^^^^^^ diff --git a/tests/commands/config/test_config_sample.py b/tests/commands/config/test_config_sample.py index 9185e7afa..1945b1134 100644 --- a/tests/commands/config/test_config_sample.py +++ b/tests/commands/config/test_config_sample.py @@ -538,3 +538,45 @@ def test_config_tga_with_exome( assert Path( analysis_dir, case_id_tumor_only, f"{case_id_tumor_only}.{FileType.JSON}" ).exists() + + +def test_msi_pon_file_tumor_only( + invoke_cli, + tumor_sample_name: str, + analysis_dir: str, + balsamic_cache: str, + panel_bed_file: str, + msi_pon_path: str, + fastq_dir_tumor_only: str, + case_id_tumor_only: str, +): + """Test balsamic config case with a PON reference.""" + + # GIVEN CLI arguments including optional pon reference ".cnn" file + + # WHEN invoking the config case command + result = invoke_cli( + [ + "config", + "case", + "--case-id", + case_id_tumor_only, + "--analysis-dir", + analysis_dir, + "--fastq-path", + fastq_dir_tumor_only, + "-p", + panel_bed_file, + "--msi-pon", + msi_pon_path, + "--balsamic-cache", + balsamic_cache, + "--tumor-sample-name", + tumor_sample_name, + ], + ) + + # THEN program exits and checks for filepath + assert result.exit_code == 0 + assert Path(msi_pon_path).exists() + diff --git a/tests/conftest.py b/tests/conftest.py index 19e1087c0..33b94a61a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -568,6 +568,10 @@ def swegen_sv_frequency_path(reference_variants_dir_path: str) -> str: """Create path for Swegen SVs.""" return Path(reference_variants_dir_path, "swegen_sv.vcf.gz").as_posix() +@pytest.fixture(scope="session") +def msi_pon_path(reference_variants_dir_path: str) -> str: + """Create path for Swegen SVs.""" + return Path(reference_variants_dir_path, "msi_pon.list").as_posix() @pytest.fixture(scope="session", name="invalid_json_file") def fixture_invalid_json_file(session_tmp_path: Path) -> Path: diff --git a/tests/test_data/references/variants/msi_pon.list b/tests/test_data/references/variants/msi_pon.list new file mode 100644 index 000000000..22e569466 --- /dev/null +++ b/tests/test_data/references/variants/msi_pon.list @@ -0,0 +1,10 @@ +chromosome location repeat_unit_length repeat_unit_binary repeat_times left_flank_binary right_flank_binary repeat_unit_basesleft_flank_bases right_flank_bases +1 26453 2 11 6 956 999 GT TGTTA TTGCT +1 28588 1 3 15 698 589 T GGTGG GCATC +1 30867 2 7 12 885 319 CT TCTCC CATTT +1 30910 2 13 6 847 627 TC TCATT GCTAT +1 30935 2 13 6 255 1015 TC ATTTT TTTCT +1 31719 1 0 14 466 711 A CTCAG GTACT +1 31807 2 1 5 51 275 AC AATAT CACAT +1 33449 1 0 15 335 645 A CCATT GGACC +1 33530 1 3 11 1021 204 T TTTTC ATATA From 1a8419bc8fde29ebb402878575490bed1083769a Mon Sep 17 00:00:00 2001 From: khurrammaqbool Date: Fri, 5 Jul 2024 12:35:42 +0200 Subject: [PATCH 2/3] run black --- BALSAMIC/utils/rule.py | 2 ++ tests/commands/config/test_config_sample.py | 1 - tests/conftest.py | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/BALSAMIC/utils/rule.py b/BALSAMIC/utils/rule.py index 638dfa840..c1f2d5656 100644 --- a/BALSAMIC/utils/rule.py +++ b/BALSAMIC/utils/rule.py @@ -385,6 +385,7 @@ def get_swegen_sv(config: dict) -> str: """ return Path(config["reference"]["swegen_sv_frequency"]).as_posix() + def get_msi_pon(config: dict) -> str: """Returns path for MSI PON baseline @@ -397,6 +398,7 @@ def get_msi_pon(config: dict) -> str: """ return Path(config["reference"]["msi_pon"]).as_posix() + def dump_toml(annotations: list) -> str: """Returns list of converted annotation in toml format diff --git a/tests/commands/config/test_config_sample.py b/tests/commands/config/test_config_sample.py index cbd873769..99d520f80 100644 --- a/tests/commands/config/test_config_sample.py +++ b/tests/commands/config/test_config_sample.py @@ -670,4 +670,3 @@ def test_msi_pon_file_tumor_only( # THEN program exits and checks for filepath assert result.exit_code == 0 assert Path(msi_pon_path).exists() - diff --git a/tests/conftest.py b/tests/conftest.py index cdd151542..4e251ab9d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -607,11 +607,13 @@ def swegen_sv_frequency_path(reference_variants_dir_path: str) -> str: """Create path for Swegen SVs.""" return Path(reference_variants_dir_path, "swegen_sv.vcf.gz").as_posix() + @pytest.fixture(scope="session") def msi_pon_path(reference_variants_dir_path: str) -> str: """Create path for Swegen SVs.""" return Path(reference_variants_dir_path, "msi_pon.list").as_posix() + @pytest.fixture(scope="session", name="invalid_json_file") def fixture_invalid_json_file(session_tmp_path: Path) -> Path: """Return a non-existent json file path.""" From e08da087d5c514cb0e9914611af9b238e5dd6385 Mon Sep 17 00:00:00 2001 From: khurrammaqbool Date: Fri, 5 Jul 2024 17:44:39 +0200 Subject: [PATCH 3/3] refactor --- BALSAMIC/commands/config/case.py | 3 +-- BALSAMIC/constants/cluster_analysis.json | 2 +- BALSAMIC/constants/rules.py | 1 + .../annotation/msi_scan_reference.rule | 26 +++++++++++++++++++ .../annotation/msi_tumor_normal.rule | 23 ---------------- .../annotation/msi_tumor_only.rule | 25 +----------------- CHANGELOG.rst | 2 +- tests/commands/config/test_config_sample.py | 6 +++++ tests/conftest.py | 2 +- 9 files changed, 38 insertions(+), 52 deletions(-) create mode 100644 BALSAMIC/snakemake_rules/annotation/msi_scan_reference.rule diff --git a/BALSAMIC/commands/config/case.py b/BALSAMIC/commands/config/case.py index ffd4eb0e4..f3d60730a 100644 --- a/BALSAMIC/commands/config/case.py +++ b/BALSAMIC/commands/config/case.py @@ -170,9 +170,8 @@ def case_config( } ) - msi_pon_path = {"msi_pon": msi_pon} if msi_pon: - references.update(msi_pon_path) + references.update({"msi_pon": msi_pon}) variants_observations = { "clinical_snv_observations": clinical_snv_observations, diff --git a/BALSAMIC/constants/cluster_analysis.json b/BALSAMIC/constants/cluster_analysis.json index b17fe79d0..a7ae24c21 100644 --- a/BALSAMIC/constants/cluster_analysis.json +++ b/BALSAMIC/constants/cluster_analysis.json @@ -424,7 +424,7 @@ "time": "08:00:00", "n": 24 }, - "msisensorpro_msi_tumor_only": { + "msisensorpro_msi_tumor_only": { "time": "08:00:00", "n": 24 } diff --git a/BALSAMIC/constants/rules.py b/BALSAMIC/constants/rules.py index ea1dfd004..bda2c4fc5 100644 --- a/BALSAMIC/constants/rules.py +++ b/BALSAMIC/constants/rules.py @@ -58,6 +58,7 @@ "snakemake_rules/annotation/varcaller_sv_filter.rule", "snakemake_rules/annotation/vcf2cytosure_convert.rule", "snakemake_rules/annotation/final_vcf_reheader.rule", + "snakemake_rules/annotation/msi_scan_reference.rule", ], }, "single_targeted": { diff --git a/BALSAMIC/snakemake_rules/annotation/msi_scan_reference.rule b/BALSAMIC/snakemake_rules/annotation/msi_scan_reference.rule new file mode 100644 index 000000000..a1a380795 --- /dev/null +++ b/BALSAMIC/snakemake_rules/annotation/msi_scan_reference.rule @@ -0,0 +1,26 @@ +# vim: syntax=python tabstop=4 expandtab +# coding: utf-8 +# Computation of MSI score. + +rule msisensorpro_scan_reference: + input: + fa = config["reference"]["reference_genome"], + output: + msi_scan = f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list" + benchmark: + Path(f"{benchmark_dir}msisensorpro_scan_reference_{config['analysis']['case_id']}.tsv").as_posix() + singularity: + Path(singularity_image, config["bioinfo_tools"].get("msisensorpro") + ".sif").as_posix() + threads: + get_threads(cluster_config, "msisensorpro_scan_reference") + params: + tmpdir = tempfile.mkdtemp(prefix=tmp_dir), + case_id = config["analysis"]["case_id"], + message: + "Scanning microsatellite sites using msisensor-pro for {params.case_id}" + shell: + """ +msisensor-pro scan -d {input.fa} -o {output.msi_scan}; + +rm -rf {params.tmpdir}; + """ diff --git a/BALSAMIC/snakemake_rules/annotation/msi_tumor_normal.rule b/BALSAMIC/snakemake_rules/annotation/msi_tumor_normal.rule index 4a06624f1..4b6f5c2e1 100644 --- a/BALSAMIC/snakemake_rules/annotation/msi_tumor_normal.rule +++ b/BALSAMIC/snakemake_rules/annotation/msi_tumor_normal.rule @@ -2,29 +2,6 @@ # coding: utf-8 # Computation of MSI score. -rule msisensorpro_scan_reference: - input: - fa = config["reference"]["reference_genome"], - output: - msi_scan = f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list" - benchmark: - Path(f"{benchmark_dir}msisensorpro_scan_reference_{config['analysis']['case_id']}.tsv").as_posix() - singularity: - Path(singularity_image, config["bioinfo_tools"].get("msisensorpro") + ".sif").as_posix() - threads: - get_threads(cluster_config, "msisensorpro_scan_reference") - params: - tmpdir = tempfile.mkdtemp(prefix=tmp_dir), - case_id = config["analysis"]["case_id"], - message: - "Scanning microsatellite sites using msisensor-pro for {params.case_id}" - shell: - """ -msisensor-pro scan -d {input.fa} -o {output.msi_scan}; - -rm -rf {params.tmpdir}; - """ - rule msisensorpro_msi_tumor_normal: input: msi_list=f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list", diff --git a/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule b/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule index 19e003bae..d6d2e222a 100644 --- a/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule +++ b/BALSAMIC/snakemake_rules/annotation/msi_tumor_only.rule @@ -2,29 +2,6 @@ # coding: utf-8 # Computation of MSI score. -rule msisensorpro_scan_reference: - input: - fa = config["reference"]["reference_genome"], - output: - msi_scan = f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list" - benchmark: - Path(f"{benchmark_dir}msisensorpro_scan_reference_{config['analysis']['case_id']}.tsv").as_posix() - singularity: - Path(singularity_image, config["bioinfo_tools"].get("msisensorpro") + ".sif").as_posix() - threads: - get_threads(cluster_config, "msisensorpro_scan_reference") - params: - tmpdir = tempfile.mkdtemp(prefix=tmp_dir), - case_id = config["analysis"]["case_id"], - message: - "Scanning microsatellite sites using msisensor-pro for {params.case_id}" - shell: - """ -msisensor-pro scan -d {input.fa} -o {output.msi_scan}; - -rm -rf {params.tmpdir}; - """ - rule msisensorpro_msi_tumor_only: input: msi_list=f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.list", @@ -32,7 +9,7 @@ rule msisensorpro_msi_tumor_only: output: msi_result = f"{vcf_dir}MSI.somatic.{config['analysis']['case_id']}.msisensorpro.msi" benchmark: - Path(f"{benchmark_dir}/msisensorpro_msi_tumor_normal_{config['analysis']['case_id']}.tsv").as_posix() + Path(f"{benchmark_dir}/msisensorpro_msi_tumor_only_{config['analysis']['case_id']}.tsv").as_posix() singularity: Path(singularity_image,config["bioinfo_tools"].get("msisensorpro") + ".sif").as_posix() threads: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 027461856..8d279d37e 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,7 +5,7 @@ Added: ^^^^^^ * MSIsensor-pro container https://github.com/Clinical-Genomics/BALSAMIC/pull/1444 * MSI analysis to the tumor-normal workflow https://github.com/Clinical-Genomics/BALSAMIC/pull/1454 -* MSI analysis to the tumor-only workflow https://github.com/Clinical-Genomics/BALSAMIC/pull/ +* MSI analysis to the tumor-only workflow https://github.com/Clinical-Genomics/BALSAMIC/pull/1463 * Sentieon install directory path to case config arguments https://github.com/Clinical-Genomics/BALSAMIC/pull/1461 Changed: diff --git a/tests/commands/config/test_config_sample.py b/tests/commands/config/test_config_sample.py index 99d520f80..8ed01b478 100644 --- a/tests/commands/config/test_config_sample.py +++ b/tests/commands/config/test_config_sample.py @@ -640,6 +640,8 @@ def test_msi_pon_file_tumor_only( msi_pon_path: str, fastq_dir_tumor_only: str, case_id_tumor_only: str, + sentieon_license: str, + sentieon_install_dir: str, ): """Test balsamic config case with a PON reference.""" @@ -664,6 +666,10 @@ def test_msi_pon_file_tumor_only( balsamic_cache, "--tumor-sample-name", tumor_sample_name, + "--sentieon-install-dir", + sentieon_install_dir, + "--sentieon-license", + sentieon_license, ], ) diff --git a/tests/conftest.py b/tests/conftest.py index 4e251ab9d..c7be51399 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -610,7 +610,7 @@ def swegen_sv_frequency_path(reference_variants_dir_path: str) -> str: @pytest.fixture(scope="session") def msi_pon_path(reference_variants_dir_path: str) -> str: - """Create path for Swegen SVs.""" + """Create MSI PON path""" return Path(reference_variants_dir_path, "msi_pon.list").as_posix()