name: "conversion"
namespace: "workflows/ingestion"
scope: "public"
description: "A pipeline to convert .mtx, .h5 or .h5ad file formats to .h5mu."
info:
  name: Convert to MuData
  test_dependencies:
    - name: conversion_test
      namespace: test_workflows/ingestion
authors:
  - __merge__: /src/authors/dries_schaumont.yaml
    roles: [ author, maintainer ]
  - __merge__: /src/authors/dries_de_maeyer.yaml
    roles: [ author ]
argument_groups:
  - name: Inputs
    arguments:
      - name: "--id"
        required: true
        type: string
        description: ID of the sample.
        example: foo
      - name: "--input"
        alternatives: [-i]
        description: | 
          Path to the sample to be converted.
          Possible format options include:
            - .h5ad
            - .h5
            - .mtx
        required: true
        example: "input.h5ad"
        type: file
      - name: "--input_type"
        type: string
        required: true
        alternatives: [-t]
        description: Type of the input file
        choices: ["10xmtx", "10xh5", "h5ad"]
  - name: Outputs
    arguments:
      - name: "--output"
        required: false
        direction: output
        type: file
        multiple: false
        description: Name or template for the output files.
        example: output.h5mu
  - name: Conversion from h5ad
    arguments:
      - name: "--modality"
        required: false
        type: string
        multiple: true
        description: "Name of the modality where the h5ad is stored in the h5mu object."
dependencies:
  - name: convert/from_10xh5_to_h5mu
  - name: convert/from_10xmtx_to_h5mu
  - name: convert/from_h5ad_to_h5mu
resources:
  - type: nextflow_script
    path: main.nf
    entrypoint: run_wf
  - type: file
    path: /src/workflows/utils/
test_resources:
  - type: nextflow_script
    path: test.nf
    entrypoint: test_wf
  - path: /resources_test/pbmc_1k_protein_v3
runners:
  - type: nextflow
