{"@id":"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","retrievedFrom":{"repoUrl":"https://github.com/hubmapconsortium/salmon-rnaseq.git","branch":"dfb0e2abd9980bbea86b1ce9887aac812ea47ccb","path":"pipeline.cwl","packedId":null,"type":"GITHUB","rawUrl":"https://raw.githubusercontent.com/hubmapconsortium/salmon-rnaseq/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","url":"https://github.com/hubmapconsortium/salmon-rnaseq/blob/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl"},"retrievedOn":"2026-10-26T23:41:11.734+00:00","lastCommit":"dfb0e2abd9980bbea86b1ce9887aac812ea47ccb","label":"scRNA-seq pipeline using Salmon and Alevin","inputs":{"assay":{"label":"scRNA-seq assay","type":"String"},"threads":{"label":"Number of threads for Salmon","type":"Integer"},"fastq_dir":{"label":"Directory containing FASTQ files","type":"Directory[]"},"keep_all_barcodes":{"type":"Boolean (Optional)"},"expected_cell_count":{"type":"Integer (Optional)"}},"outputs":{"qc_report":{"label":"Quality control report in JSON format","type":"File"},"umap_plot":{"label":"UMAP dimensionality reduction plot","type":"File"},"fastqc_dir":{"label":"Directory of FastQC output files, mirroring input directory structure","type":"Directory[]"},"salmon_output":{"label":"Full output of `salmon alevin`","type":"Directory"},"slideseq_plot":{"label":"Slide-seq bead plot, colored by Leiden cluster","type":"File (Optional)"},"dispersion_plot":{"label":"Gene expression dispersion plot","type":"File"},"raw_count_matrix":{"label":"Unfiltered count matrix from Alevin, converted to H5AD, with intronic counts as separate columns","type":"File"},"count_matrix_h5ad":{"label":"Unfiltered count matrix from Alevin, converted to H5AD, spliced and unspliced counts","type":"File"},"genome_build_json":{"label":"Genome build information in JSON format","type":"File"},"scanpy_qc_results":{"label":"Quality control metrics from Scanpy","type":"File"},"umap_density_plot":{"label":"UMAP dimensionality reduction plot, colored by cell density","type":"File"},"filtered_data_h5ad":{"label":"Full data set of filtered results","doc":"Full data set of filtered results: expression matrix, coordinates in dimensionality-reduced space (PCA and UMAP), cluster assignments via the Leiden algorithm, and marker genes for one cluster vs. rest","type":"File"},"scvelo_annotated_h5ad":{"label":"scVelo-annotated h5ad file, including cell RNA velocity","type":"File"},"marker_gene_plot_logreg":{"label":"Cluster marker genes, logreg method","type":"File"},"marker_gene_plot_t_test":{"label":"Cluster marker genes, t-test","type":"File"},"scvelo_embedding_grid_plot":{"label":"scVelo velocity embedding grid plot","type":"File"}},"steps":{"fastqc":{"label":"Runs fastQC on each fastq file in fastq directory","run":"steps/fastqc.cwl","runType":"COMMANDLINETOOL","sources":{"fastqc":{"sourceIDs":["threads"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#fastqc/fastq_dir":{"sourceIDs":["fastq_dir"]}}},"scanpy_analysis":{"label":"Dimensionality reduction and clustering","run":"steps/scanpy-analysis.cwl","runType":"COMMANDLINETOOL","sources":{"scanpy_analysis":{"sourceIDs":["assay"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#scanpy_analysis/h5ad_file":{"sourceIDs":["salmon_quantification"]}}},"scvelo_analysis":{"label":"RNA velocity analysis via scVelo","run":"steps/scvelo-analysis.cwl","runType":"COMMANDLINETOOL","sources":{"scvelo_analysis":{"sourceIDs":["salmon_quantification"]}}},"compute_qc_results":{"label":"Compute QC metrics","run":"steps/compute-qc-metrics.cwl","runType":"COMMANDLINETOOL","sources":{"compute_qc_results":{"sourceIDs":["scanpy_analysis"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#compute_qc_results/assay":{"sourceIDs":["assay"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#compute_qc_results/salmon_dir":{"sourceIDs":["salmon_quantification"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#compute_qc_results/h5ad_primary":{"sourceIDs":["salmon_quantification"]}}},"salmon_quantification":{"label":"Salmon quantification, FASTQ -> H5AD count matrix","run":"steps/salmon-quantification.cwl","runType":"WORKFLOW","sources":{"salmon_quantification":{"sourceIDs":["expected_cell_count"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#salmon_quantification/assay":{"sourceIDs":["assay"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#salmon_quantification/threads":{"sourceIDs":["threads"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#salmon_quantification/fastq_dir":{"sourceIDs":["fastq_dir"]},"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl#salmon_quantification/keep_all_barcodes":{"sourceIDs":["keep_all_barcodes"]}}}},"cwltoolVersion":"3.1.20230201224320","visualisationDot":"digraph workflow {\n  graph [\n    bgcolor = \"#eeeeee\"\n    color = \"black\"\n    fontsize = \"10\"\n    labeljust = \"left\"\n    clusterrank = \"local\"\n    ranksep = \"0.22\"\n    nodesep = \"0.05\"\n  ]\n  node [\n    fontname = \"Helvetica\"\n    fontsize = \"10\"\n    fontcolor = \"black\"\n    shape = \"record\"\n    height = \"0\"\n    width = \"0\"\n    color = \"black\"\n    fillcolor = \"lightgoldenrodyellow\"\n    style = \"filled\"\n  ];\n  edge [\n    fontname=\"Helvetica\"\n    fontsize=\"8\"\n    fontcolor=\"black\"\n    color=\"black\"\n    arrowsize=\"0.7\"\n  ];\n  subgraph cluster_inputs {\n    rank = \"same\";\n    style = \"dashed\";\n    label = \"Workflow Inputs\";\n    \"fastq_dir\" [fillcolor=\"#94DDF4\",label=\"Directory containing FASTQ files\"];\n    \"keep_all_barcodes\" [fillcolor=\"#94DDF4\",label=\"keep_all_barcodes\"];\n    \"assay\" [fillcolor=\"#94DDF4\",label=\"scRNA-seq assay\"];\n    \"threads\" [fillcolor=\"#94DDF4\",label=\"Number of threads for Salmon\"];\n    \"expected_cell_count\" [fillcolor=\"#94DDF4\",label=\"expected_cell_count\"];\n  }\n  subgraph cluster_outputs {\n    rank = \"same\";\n    style = \"dashed\";\n    labelloc = \"b\";\n    label = \"Workflow Outputs\";\n    \"slideseq_plot\" [fillcolor=\"#94DDF4\",label=\"Slide-seq bead plot, colored by Leiden cluster\"];\n    \"scvelo_annotated_h5ad\" [fillcolor=\"#94DDF4\",label=\"scVelo-annotated h5ad file, including cell RNA velocity\"];\n    \"qc_report\" [fillcolor=\"#94DDF4\",label=\"Quality control report in JSON format\"];\n    \"scanpy_qc_results\" [fillcolor=\"#94DDF4\",label=\"Quality control metrics from Scanpy\"];\n    \"umap_plot\" [fillcolor=\"#94DDF4\",label=\"UMAP dimensionality reduction plot\"];\n    \"salmon_output\" [fillcolor=\"#94DDF4\",label=\"Full output of `salmon alevin`\"];\n    \"marker_gene_plot_t_test\" [fillcolor=\"#94DDF4\",label=\"Cluster marker genes, t-test\"];\n    \"scvelo_embedding_grid_plot\" [fillcolor=\"#94DDF4\",label=\"scVelo velocity embedding grid plot\"];\n    \"filtered_data_h5ad\" [fillcolor=\"#94DDF4\",label=\"Full data set of filtered results\"];\n    \"dispersion_plot\" [fillcolor=\"#94DDF4\",label=\"Gene expression dispersion plot\"];\n    \"count_matrix_h5ad\" [fillcolor=\"#94DDF4\",label=\"Unfiltered count matrix from Alevin, converted to H5AD, spliced and unspliced counts\"];\n    \"raw_count_matrix\" [fillcolor=\"#94DDF4\",label=\"Unfiltered count matrix from Alevin, converted to H5AD, with intronic counts as separate columns\"];\n    \"marker_gene_plot_logreg\" [fillcolor=\"#94DDF4\",label=\"Cluster marker genes, logreg method\"];\n    \"genome_build_json\" [fillcolor=\"#94DDF4\",label=\"Genome build information in JSON format\"];\n    \"fastqc_dir\" [fillcolor=\"#94DDF4\",label=\"Directory of FastQC output files, mirroring input directory structure\"];\n    \"umap_density_plot\" [fillcolor=\"#94DDF4\",label=\"UMAP dimensionality reduction plot, colored by cell density\"];\n  }\n  \"scvelo_analysis\" [label=\"RNA velocity analysis via scVelo\"];\n  \"fastqc\" [label=\"Runs fastQC on each fastq file in fastq directory\"];\n  \"scanpy_analysis\" [label=\"Dimensionality reduction and clustering\"];\n  \"compute_qc_results\" [label=\"Compute QC metrics\"];\n  \"salmon_quantification\" [label=\"Salmon quantification, FASTQ -> H5AD count matrix\", fillcolor=\"#F3CEA1\"];\n  \"salmon_quantification\" -> \"scvelo_analysis\" [label=\"spliced_h5ad_file\"];\n  \"threads\" -> \"fastqc\" [label=\"threads\"];\n  \"fastq_dir\" -> \"fastqc\" [label=\"fastq_dir\"];\n  \"assay\" -> \"scanpy_analysis\" [label=\"assay\"];\n  \"salmon_quantification\" -> \"scanpy_analysis\" [label=\"h5ad_file\"];\n  \"scanpy_analysis\" -> \"compute_qc_results\" [label=\"h5ad_secondary\"];\n  \"salmon_quantification\" -> \"compute_qc_results\" [label=\"h5ad_primary\"];\n  \"salmon_quantification\" -> \"compute_qc_results\" [label=\"salmon_dir\"];\n  \"assay\" -> \"compute_qc_results\" [label=\"assay\"];\n  \"expected_cell_count\" -> \"salmon_quantification\" [label=\"expected_cell_count\"];\n  \"fastq_dir\" -> \"salmon_quantification\" [label=\"fastq_dir\"];\n  \"threads\" -> \"salmon_quantification\" [label=\"threads\"];\n  \"assay\" -> \"salmon_quantification\" [label=\"assay\"];\n  \"keep_all_barcodes\" -> \"salmon_quantification\" [label=\"keep_all_barcodes\"];\n  \"scanpy_analysis\" -> \"slideseq_plot\";\n  \"scvelo_analysis\" -> \"scvelo_annotated_h5ad\";\n  \"compute_qc_results\" -> \"qc_report\";\n  \"compute_qc_results\" -> \"scanpy_qc_results\";\n  \"scanpy_analysis\" -> \"umap_plot\";\n  \"salmon_quantification\" -> \"salmon_output\";\n  \"scanpy_analysis\" -> \"marker_gene_plot_t_test\";\n  \"scvelo_analysis\" -> \"scvelo_embedding_grid_plot\";\n  \"scanpy_analysis\" -> \"filtered_data_h5ad\";\n  \"scanpy_analysis\" -> \"dispersion_plot\";\n  \"salmon_quantification\" -> \"count_matrix_h5ad\";\n  \"salmon_quantification\" -> \"raw_count_matrix\";\n  \"scanpy_analysis\" -> \"marker_gene_plot_logreg\";\n  \"salmon_quantification\" -> \"genome_build_json\";\n  \"fastqc\" -> \"fastqc_dir\";\n  \"scanpy_analysis\" -> \"umap_density_plot\";\n}\n","licenseLink":"https://spdx.org/licenses/GPL-3.0","permalink":"https://w3id.org/cwl/view/git/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","packed":false,"visualisationXdot":"/graph/xdot/github.com/hubmapconsortium/salmon-rnaseq/blob/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","visualisationPng":"/graph/png/github.com/hubmapconsortium/salmon-rnaseq/blob/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","visualisationSvg":"/graph/svg/github.com/hubmapconsortium/salmon-rnaseq/blob/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","roBundle":"/robundle/github.com/hubmapconsortium/salmon-rnaseq/blob/dfb0e2abd9980bbea86b1ce9887aac812ea47ccb/pipeline.cwl","licenseName":"GNU General Public License v3.0 only"}