name: "edgepython_sc_differential"
description: Run edgePython single-cell mixed model DE for one cell-type stratum
keywords:
  - differential-expression
  - single-cell
  - edgepython
tools:
  - "edgepython":
      description: "Python implementation of edgeR-style differential expression"
      homepage: "https://github.com/pachterlab/edgePython"
      documentation: "https://github.com/pachterlab/edgePython"
      tool_dev_url: "https://github.com/pachterlab/edgePython"
      licence: ["GPL-3.0"]

input:
  - - meta:
        type: map
        description: Groovy Map containing sample information
    - h5ad:
        type: file
        description: Single-cell AnnData object in h5ad format
        pattern: "*.{h5ad}"
    - donor_col:
        type: string
        description: obs column with biological replicate identifiers
    - condition_col:
        type: string
        description: obs column with condition labels
    - celltype_col:
        type: string
        description: obs column with cell type or cluster labels
    - celltype_value:
        type: string
        description: Cell type stratum to test
    - reference_condition:
        type: string
        description: Reference condition level for contrasts
    - interesting_genes:
        type: file
        description: Optional CSV of gene symbols to highlight on volcano plots
        pattern: "*.{csv,tsv,txt}"

output:
  results:
    - - meta:
          type: map
          description: Groovy Map containing sample information
      - "*_results.csv":
          type: file
          description: edgePython single-cell DE results
          pattern: "*_results.csv"
  plots:
    - "*.png":
        type: file
        description: Volcano plots for each contrast
        pattern: "*.png"
  multiqc_files:
    - "*_mqc.json":
        type: file
        description: MultiQC custom content for volcano plots
        pattern: "*_mqc.json"
  versions:
    - versions.yml:
        type: file
        description: File containing software versions
        pattern: "versions.yml"

authors:
  - "@nictru"
maintainers:
  - "@nictru"
containers:
  docker:
    linux/amd64:
      name: community.wave.seqera.io/library/edgepython_sc_differential:2fe5a778fe82c638
      build_id: bd-2fe5a778fe82c638_1
      scan_id: sc-9f6f5e3f87395d16_1
    linux/arm64:
      name: community.wave.seqera.io/library/edgepython_sc_differential:17a2c60695274850
      build_id: bd-17a2c60695274850_1
      scan_id: sc-c4f95c8c66c7068d_1
  singularity:
    linux/arm64:
      name: oras://community.wave.seqera.io/library/edgepython_sc_differential:c0dfacdd1042cbbc
      build_id: bd-c0dfacdd1042cbbc_1
      https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/1f/1f93c6968a50adcc9c7d7d7459c041a2fa9cbdfdb6a9169d85252cdff4205720/data
    linux/amd64:
      name: oras://community.wave.seqera.io/library/edgepython_sc_differential:241b3471c1a90886
      build_id: bd-241b3471c1a90886_1
      https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/38/387ee8bae78078479f4247c84d00dd1a6f97ba49315f807d953d409b19be9823/data
  conda:
    linux/amd64:
      lock_file: modules/local/edgepython/sc_differential/.conda-lock/linux_amd64-bd-2fe5a778fe82c638_1.txt
    linux/arm64:
      lock_file: modules/local/edgepython/sc_differential/.conda-lock/linux_arm64-bd-17a2c60695274850_1.txt
