diff --git a/.bumpversion.cfg b/.bumpversion.cfg index e750144371..d6102c33cc 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 65.0.10 +current_version = 65.0.13 commit = True tag = True tag_name = v{new_version} diff --git a/cg/__init__.py b/cg/__init__.py index 621e107544..427f8ddd3e 100644 --- a/cg/__init__.py +++ b/cg/__init__.py @@ -1,2 +1,2 @@ __title__ = "cg" -__version__ = "65.0.10" +__version__ = "65.0.13" diff --git a/cg/cli/workflow/base.py b/cg/cli/workflow/base.py index e159534808..2d1cc1590c 100644 --- a/cg/cli/workflow/base.py +++ b/cg/cli/workflow/base.py @@ -14,6 +14,7 @@ from cg.cli.workflow.mip_dna.base import mip_dna from cg.cli.workflow.mip_rna.base import mip_rna from cg.cli.workflow.mutant.base import mutant +from cg.cli.workflow.nallo.base import nallo from cg.cli.workflow.raredisease.base import raredisease from cg.cli.workflow.rnafusion.base import rnafusion from cg.cli.workflow.taxprofiler.base import taxprofiler @@ -27,16 +28,17 @@ def workflow(): workflow.add_command(balsamic) workflow.add_command(balsamic_qc) -workflow.add_command(balsamic_umi) workflow.add_command(balsamic_pon) +workflow.add_command(balsamic_umi) +workflow.add_command(fluffy) +workflow.add_command(jasen) workflow.add_command(microsalt) workflow.add_command(mip_dna) workflow.add_command(mip_rna) -workflow.add_command(fluffy) -workflow.add_command(jasen) workflow.add_command(mutant) +workflow.add_command(nallo) workflow.add_command(raredisease) +workflow.add_command(raw_data) workflow.add_command(rnafusion) workflow.add_command(taxprofiler) workflow.add_command(tomte) -workflow.add_command(raw_data) diff --git a/cg/cli/workflow/nallo/__init__.py b/cg/cli/workflow/nallo/__init__.py new file mode 100644 index 0000000000..d3a1fde1a8 --- /dev/null +++ b/cg/cli/workflow/nallo/__init__.py @@ -0,0 +1 @@ +"""Init for module""" diff --git a/cg/cli/workflow/nallo/base.py b/cg/cli/workflow/nallo/base.py new file mode 100644 index 0000000000..39c27232a0 --- /dev/null +++ b/cg/cli/workflow/nallo/base.py @@ -0,0 +1,20 @@ +"""CLI support to create config and/or start NALLO.""" + +import logging + +import rich_click as click + +from cg.cli.utils import CLICK_CONTEXT_SETTINGS +from cg.constants.constants import MetaApis +from cg.meta.workflow.analysis import AnalysisAPI +from cg.meta.workflow.nallo import NalloAnalysisAPI + +LOG = logging.getLogger(__name__) + + +@click.group(invoke_without_command=True, context_settings=CLICK_CONTEXT_SETTINGS) +@click.pass_context +def nallo(context: click.Context) -> None: + """GMS/Nallo analysis workflow.""" + AnalysisAPI.get_help(context) + context.obj.meta_apis[MetaApis.ANALYSIS_API] = NalloAnalysisAPI(config=context.obj) diff --git a/cg/meta/delivery_report/templates/macros/data_analysis/limitations.html b/cg/meta/delivery_report/templates/macros/data_analysis/limitations.html index 2951ce14a6..a51504f03c 100644 --- a/cg/meta/delivery_report/templates/macros/data_analysis/limitations.html +++ b/cg/meta/delivery_report/templates/macros/data_analysis/limitations.html @@ -12,7 +12,7 @@

Teknisk beskrivning och begränsningar av analysen

{% for application in applications %} - {{ application.tag }} (v{{ application.version }}) + {{ application.tag }} {{ application.description }} {{ application.details }} diff --git a/cg/meta/delivery_report/templates/macros/order.html b/cg/meta/delivery_report/templates/macros/order.html index 22b95144fc..419eff05de 100644 --- a/cg/meta/delivery_report/templates/macros/order.html +++ b/cg/meta/delivery_report/templates/macros/order.html @@ -31,7 +31,7 @@

Beställning

{{ sample.name }} ({{ sample.id }}) {{ sample.timestamps.ordered_at }} {{ sample.ticket }} - {{ sample.application.tag }} (v{{ sample.application.version }}) + {{ sample.application.tag }} {% if customer_workflow != "taxprofiler" %} {{ sample.sex }} {% endif %} {{ sample.source }} diff --git a/cg/meta/workflow/nallo.py b/cg/meta/workflow/nallo.py new file mode 100644 index 0000000000..ede48ea93e --- /dev/null +++ b/cg/meta/workflow/nallo.py @@ -0,0 +1,20 @@ +"""Module for Nallo Analysis API.""" + +import logging +from cg.constants import Workflow +from cg.meta.workflow.nf_analysis import NfAnalysisAPI +from cg.models.cg_config import CGConfig + +LOG = logging.getLogger(__name__) + + +class NalloAnalysisAPI(NfAnalysisAPI): + """Handles communication between Nallo processes + and the rest of CG infrastructure.""" + + def __init__( + self, + config: CGConfig, + workflow: Workflow = Workflow.NALLO, + ): + super().__init__(config=config, workflow=workflow) diff --git a/pyproject.toml b/pyproject.toml index 653d0c9881..a6c483fbaa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [project] name = "cg" -version = "65.0.10" +version = "65.0.13" description = "Clinical Genomics command center" readme = {file = "README.md", content-type = "text/markdown"} homepage = "https://github.com/Clinical-Genomics/cg" diff --git a/tests/cli/workflow/nf_analysis/test_cli_workflow_base.py b/tests/cli/workflow/nf_analysis/test_cli_workflow_base.py index c8a127ece7..aa6cdcfc3e 100644 --- a/tests/cli/workflow/nf_analysis/test_cli_workflow_base.py +++ b/tests/cli/workflow/nf_analysis/test_cli_workflow_base.py @@ -10,7 +10,7 @@ @pytest.mark.parametrize( "workflow", - NEXTFLOW_WORKFLOWS + [Workflow.JASEN], + NEXTFLOW_WORKFLOWS + [Workflow.JASEN] + [Workflow.NALLO], ) def test_workflow_no_args(cli_runner: CliRunner, workflow: Workflow, request): """Test to see that workflow is added and prints help when no subcommand is specified.""" diff --git a/tests/conftest.py b/tests/conftest.py index e53ff46ea5..8d2b9210fe 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -44,6 +44,7 @@ from cg.meta.tar.tar import TarAPI from cg.meta.transfer.external_data import ExternalDataAPI from cg.meta.workflow.jasen import JasenAnalysisAPI +from cg.meta.workflow.nallo import NalloAnalysisAPI from cg.meta.workflow.raredisease import RarediseaseAnalysisAPI from cg.meta.workflow.rnafusion import RnafusionAnalysisAPI from cg.meta.workflow.taxprofiler import TaxprofilerAnalysisAPI @@ -2481,6 +2482,16 @@ def sequencing_platform() -> str: return SequencingPlatform.ILLUMINA +# Nallo fixtures +@pytest.fixture(scope="function") +def nallo_context( + cg_context: CGConfig, +) -> CGConfig: + """Context to use in cli.""" + cg_context.meta_apis["analysis_api"] = NalloAnalysisAPI(config=cg_context) + return cg_context + + # Raredisease fixtures @pytest.fixture(scope="function") def raredisease_dir(tmpdir_factory, apps_dir: Path) -> str: