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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.