Workflow for read alignment, sorting, indexing, mapping statistics, and downstream-ready alignment artifacts.
日本語の概要は準備中です。原文の説明を表示しています。
Create portable, standards-based bioinformatics pipelines with Common Workflow Language (CWL). Use when building workflows that need maximum portability across execution platforms, sharing pipelines with collaborators using different systems, or contributing to community workflow registries.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Reference examples tested with: FastQC 0.12+, Nextflow 23.10+, Salmon 1.10+, Snakemake 8.0+, fastp 0.23+
Before using code patterns, verify installed versions match. If versions differ:
<tool> --version then <tool> --help to confirm flagsIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
"Write a portable CWL workflow for my analysis" → Define tools and workflows in YAML using the Common Workflow Language standard for maximum cross-platform portability and sharing through workflow registries.
cwltool for local execution of CWL documents# fastqc.cwl
cwlVersion: v1.2
class: CommandLineTool
baseCommand: fastqc
inputs:
fastq:
type: File
inputBinding:
position: 1
outputs:
html:
type: File
outputBinding:
glob: "*_fastqc.html"
zip:
type: File
outputBinding:
glob: "*_fastqc.zip"
# bwa_mem.cwl
cwlVersion: v1.2
class: CommandLineTool
baseCommand: [bwa, mem]
requirements:
DockerRequirement:
dockerPull: biocontainers/bwa:v0.7.17
ResourceRequirement:
coresMin: 8
ramMin: 16000
inputs:
threads:
type: int
default: 8
inputBinding:
prefix: -t
position: 1
reference:
type: File
secondaryFiles:
- .amb
- .ann
- .bwt
- .pac
- .sa
inputBinding:
position: 2
reads_1:
type: File
inputBinding:
position: 3
reads_2:
type: File?
inputBinding:
position: 4
stdout: aligned.sam
outputs:
sam:
type: stdout
# rnaseq.cwl
cwlVersion: v1.2
class: Workflow
inputs:
fastq_1: File
fastq_2: File
salmon_index: Directory
outputs:
quant_results:
type: Directory
outputSource: salmon/quant_dir
steps:
fastp:
run: fastp.cwl
in:
reads_1: fastq_1
reads_2: fastq_2
out: [trimmed_1, trimmed_2, json_report]
salmon:
run: salmon_quant.cwl
in:
index: salmon_index
reads_1: fastp/trimmed_1
reads_2: fastp/trimmed_2
out: [quant_dir]
cwlVersion: v1.2
class: Workflow
requirements:
ScatterFeatureRequirement: {}
inputs:
fastq_files:
type: File[]
reference: File
outputs:
bam_files:
type: File[]
outputSource: align/bam
steps:
align:
run: bwa_mem.cwl
scatter: fastq
in:
fastq: fastq_files
reference: reference
out: [bam]
requirements:
ScatterFeatureRequirement: {}
MultipleInputFeatureRequirement: {}
steps:
align:
run: bwa_mem.cwl
scatter: [reads_1, reads_2]
scatterMethod: dotproduct
in:
reads_1: fastq_1_array
reads_2: fastq_2_array
reference: reference
out: [bam]
# job.yaml
fastq_1:
class: File
path: data/sample1_R1.fq.gz
fastq_2:
class: File
path: data/sample1_R2.fq.gz
salmon_index:
class: Directory
path: ref/salmon_index
threads: 8
inputs:
bam:
type: File
secondaryFiles:
- .bai
reference:
type: File
secondaryFiles:
- pattern: .fai
required: true
- pattern: .dict
required: false
requirements:
DockerRequirement:
dockerPull: quay.io/biocontainers/salmon:1.10.0--h7e5ed60_0
hints:
SoftwareRequirement:
packages:
salmon:
version: ["1.10.0"]
# Run with Docker
cwltool --docker workflow.cwl job.yaml
# Run with Singularity
cwltool --singularity workflow.cwl job.yaml
requirements:
ResourceRequirement:
coresMin: 4
coresMax: 16
ramMin: 8000
ramMax: 32000
outdirMin: 10000
tmpdirMin: 10000
cwlVersion: v1.2
class: Workflow
requirements:
InlineJavascriptRequirement: {}
inputs:
run_qc: boolean
fastq: File
steps:
fastqc:
run: fastqc.cwl
when: $(inputs.run_qc)
in:
run_qc: run_qc
fastq: fastq
out: [html]
# main.cwl
steps:
qc_workflow:
run: subworkflows/qc.cwl
in:
reads_1: fastq_1
reads_2: fastq_2
out: [qc_report, trimmed_1, trimmed_2]
alignment_workflow:
run: subworkflows/align.cwl
in:
reads_1: qc_workflow/trimmed_1
reads_2: qc_workflow/trimmed_2
out: [bam]
inputs:
bam_files:
type: File[]
output_dir:
type: string
default: "results"
outputs:
results:
type: Directory
outputBinding:
glob: $(inputs.output_dir)
requirements:
InlineJavascriptRequirement: {}
inputs:
sample_name: string
outputs:
output_bam:
type: File
outputBinding:
glob: $(inputs.sample_name + ".sorted.bam")
arguments:
- prefix: -o
valueFrom: $(inputs.sample_name).sorted.bam
requirements:
InitialWorkDirRequirement:
listing:
- entry: $(inputs.reference)
writable: false
- entryname: config.txt
entry: |
threads=$(inputs.threads)
memory=$(inputs.memory)
# salmon_quant.cwl
cwlVersion: v1.2
class: CommandLineTool
baseCommand: [salmon, quant]
requirements:
DockerRequirement:
dockerPull: quay.io/biocontainers/salmon:1.10.0--h7e5ed60_0
ResourceRequirement:
coresMin: 8
ramMin: 16000
inputs:
index:
type: Directory
inputBinding:
prefix: -i
reads_1:
type: File
inputBinding:
prefix: "-1"
reads_2:
type: File
inputBinding:
prefix: "-2"
lib_type:
type: string
default: A
inputBinding:
prefix: -l
threads:
type: int
default: 8
inputBinding:
prefix: --threads
output_dir:
type: string
default: quant_output
inputBinding:
prefix: -o
outputs:
quant_dir:
type: Directory
outputBinding:
glob: $(inputs.output_dir)
# Validate CWL file
cwltool --validate workflow.cwl
# Run workflow
cwltool workflow.cwl job.yaml
# Run with Docker
cwltool --docker workflow.cwl job.yaml
# Run with Singularity
cwltool --singularity workflow.cwl job.yaml
# Run with caching
cwltool --cachedir ./cache workflow.cwl job.yaml
# Run on Toil
toil-cwl-runner workflow.cwl job.yaml
| Engine | Use Case |
|---|---|
| cwltool | Reference implementation, local execution |
| Toil | HPC clusters, cloud (AWS, Google, Azure) |
| Arvados | Enterprise workflow management |
| CWL-Airflow | Airflow integration |
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Workflow for read alignment, sorting, indexing, mapping statistics, and downstream-ready alignment artifacts.
日本語の概要は準備中です。原文の説明を表示しています。
Validate protein designs using AlphaFold2 structure prediction. Use this skill when: (1) Validating designed sequences fold correctly, (2) Predicting binder-target complex structures, (3) Calculating confidence metrics (pLDDT, pTM, ipTM), (4) Self-consistency validation of designs, (5) Multi-chain complex prediction with AlphaFold-Multimer. For faster single-chain prediction, use esm. For QC thresholds, use protein-qc.
日本語の概要は準備中です。原文の説明を表示しています。
AlphaFold2 / AlphaFold-Multimer structure prediction for validation and confidence scoring. Use this skill when: (1) Validating designed sequences fold correctly, (2) Predicting binder-target complex structures, (3) Calculating confidence metrics (pLDDT, pTM, ipTM), (4) Self-consistency validation of designs, (5) Multi-chain complex prediction with AlphaFold-Multimer. For faster single-chain prediction, use esm2-sequence-scoring. For QC thresholds, use protein-design-qc.
日本語の概要は準備中です。原文の説明を表示しています。
Workflow for event-level and isoform-level splicing analysis with sashimi-ready outputs and splice QC.
日本語の概要は準備中です。原文の説明を表示しています。
ATAC-seq processing with assay QC, MACS3 peak calling, consensus peak matrices, differential accessibility, and motif or footprint follow-up.
日本語の概要は準備中です。原文の説明を表示しています。
End-to-end binder design using BindCraft hallucination. Use this skill when: (1) Designing protein binders with built-in AF2 validation, (2) Running production-quality binder campaigns, (3) Using different design protocols (fast, default, slow), (4) Need joint backbone and sequence optimization, (5) Want high experimental success rate. For backbone-only generation, use rfdiffusion. For QC thresholds, use protein-qc. For tool selection guidance, use binder-design.
日本語の概要は準備中です。原文の説明を表示しています。