name: cellranger_reference
version: 0.0.2
output_asset_class: cellranger_reference
description: |
  Cell Ranger custom genome reference for read alignment and gene
  expression quantification. Built using cellranger mkref with a
  filtered GTF annotation from Gencode.
input_files: {}
input_params:
  threads:
    default: "8"
    description: Number of threads to use for parallel computing
input_assets:
  gencode_gtf:
    asset_class: gtf
    default: gencode_gtf
    description: Annotation file in Gene Transfer Format (GTF) from Gencode
  fasta:
    asset_class: fasta
    default: fasta
    description: fasta asset for genome
docker_image: quay.io/xujishu/cellranger:6.0.1
command_templates:
  - gunzip {{values.genome_folder}}/{{values.assets["gencode_gtf"].seek_keys_dict["gtf"]}} -c > {{values.output_folder}}/{{values.genome_digest}}.gtf
  - cellranger mkgtf {{values.output_folder}}/{{values.genome_digest}}.gtf {{values.output_folder}}/{{values.genome_digest}}_filtered.gtf
  - rm {{values.output_folder}}/{{values.genome_digest}}.gtf
  - cd {{values.output_folder}} || exit 1; cellranger mkref --genome=ref --fasta={{values.genome_folder}}/{{values.assets["fasta"].seek_keys_dict["fasta"]}} --genes={{values.output_folder}}/{{values.genome_digest}}_filtered.gtf
    --nthreads={{values.params["threads"]}}
custom_seek_keys:
  version: "cellranger --version | awk -F- '{print $2}'"
default_asset: "{{values.custom_seek_keys.version}}"

tags:
- single-cell
- rna-seq
- 10x-genomics
outputs:
- pattern: ref/**
  description: Cell Ranger reference directory
test:
  commands:
  - test -d {output_dir}/ref
resources:
  memory: 16GB
  disk: 20GB
  time: 3h
metadata:
  author: nsheff
  created: '2026-05-20'
  license: BSD-2-Clause
