Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
34278b5
:sparkles: use the updated docker with new sample name option
sickler-alex Oct 31, 2025
1fe4cfc
:memo: update links to our repo
sickler-alex Oct 31, 2025
317e010
Merge pull request #1 from childrens-bti/feature/as/update_sample_name
sickler-alex Nov 5, 2025
72ae280
:whale: update docker to newest version
sickler-alex Jan 6, 2026
66a4425
use new file ids
sickler-alex Jan 6, 2026
7cc9f8a
Merge pull request #2 from childrens-bti/feature/as/update_sample_name
sickler-alex Jan 7, 2026
72ffc66
add item action
sickler-alex Feb 4, 2026
1796add
Merge pull request #5 from childrens-bti/feature/as/add_item_action
pj-sullivan Feb 4, 2026
25744e2
update autoGVP
pj-sullivan Apr 21, 2026
7750d38
update autogvp docker to 1.0.5
pj-sullivan Apr 27, 2026
cfccb27
remove custom anno tool
pj-sullivan Apr 27, 2026
382d5e3
CI: Add/Update workflow 'add-issues-to-project.yml' to manage project…
sickler-alex May 20, 2026
31b1f18
Merge pull request #7 from childrens-bti/feature/update_add_issue_node
sickler-alex May 21, 2026
a309c4a
update autogvp docker to 1.0.6
pj-sullivan May 27, 2026
8a795fd
update varname typos
pj-sullivan May 28, 2026
308b19e
update filtered autopvs1 output file name
pj-sullivan May 28, 2026
cf039af
custom/default autogvp colnames input
pj-sullivan May 28, 2026
4e6c913
reflect autogvp new script and file name in resolve clinvar submissio…
pj-sullivan Jun 4, 2026
aeca3cc
autogvp docker v2
pj-sullivan Jul 6, 2026
5898fe1
Suggested file inputs
pj-sullivan Jul 9, 2026
0434b36
Merge pull request #6 from childrens-bti/pj-sullivan/update-inputs
pj-sullivan Jul 13, 2026
853221c
update links with v2.0.0 release
sickler-alex Jul 15, 2026
f4a7208
Merge branch 'main' into feature/as/make_release
sickler-alex Jul 15, 2026
2471ea8
:fire: remove default col names from cwl
sickler-alex Jul 21, 2026
3a25dfb
:fire: remove more default colnames
sickler-alex Jul 21, 2026
4c37bb5
:whale: update autopvs1 and autogvp dockers to latest versions
sickler-alex Jul 24, 2026
03331d1
rename output colnames input again
sickler-alex Jul 24, 2026
ef1c203
update reference file ids and add update_intervar step
sickler-alex Jul 28, 2026
4a1d0af
use correct tool name
sickler-alex Jul 28, 2026
925ed0c
fix inputs
sickler-alex Jul 28, 2026
e58e24f
run the rscript as an Rscript
sickler-alex Jul 28, 2026
d022f16
update result dir
sickler-alex Jul 28, 2026
d943312
Merge pull request #10 from childrens-bti/feature/as/col_file_optional
sickler-alex Jul 30, 2026
973e75f
update links with v2.0.0 release
sickler-alex Jul 15, 2026
3eb3521
Merge branch 'feature/as/make_release' of github.com:childrens-bti/D3…
sickler-alex Jul 30, 2026
e1937aa
update readme to point to d3b repo
sickler-alex Jul 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Pathogenicity Preprocessing Workflow
To run, please see the [CAVATICA app](https://cavatica.sbgenomics.com/public/apps/cavatica/apps-publisher/d3b-diskin-pathogenicity-preprocess-wf). Each version should correspond with a git release. This repo makes use of the git submodule feature for ease of code maintenance. To properly retrieve all relevant code:
This repo makes use of the git submodule feature for ease of code maintenance. To properly retrieve all relevant code:
```sh
git clone https://github.com/d3b-center/D3b-Pathogenicity-Preprocessing
git clone https://github.com/d3b-center/D3b-Pathogenicity-Preprocessing
git submodule init
git submodule update
```
Expand Down
14 changes: 7 additions & 7 deletions tools/autogvp_annotate_cavatica.cwl
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
cwlVersion: v1.2
class: CommandLineTool
id: autogvp_annotate_cavatica
id: autogvp_annotate
doc: |
Tool for the 02-annotate_variants_CAVATICA_input.R script from AutoGVP
Tool for the 02-annotate_variants.R script from AutoGVP
requirements:
- class: ShellCommandRequirement
- class: InlineJavascriptRequirement
- class: ResourceRequirement
ramMin: $(inputs.ram * 1000)
coresMin: $(inputs.cpu)
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v1.0.3'
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1'

baseCommand: []
arguments:
- position: 0
shellQuote: false
valueFrom: >-
Rscript /rocker-build/AutoGVP/scripts/02-annotate_variants_CAVATICA_input.R --outdir .
Rscript /rocker-build/AutoGVP/scripts/02-annotate_variants.R --outdir .

inputs:
vcf_file: { type: 'File', inputBinding: { position: 2, prefix: "--vcf" }, doc: "Input vcf file with VEP annotations" }
clinvar_file: { type: 'File?', inputBinding: { position: 2, prefix: "--clinvar" }, doc: "specific clinVar file (format: clinvar_20211225.vcf.gz)" }
clinvar_file: { type: 'File', inputBinding: { position: 2, prefix: "--clinvar" }, doc: "ClinVar resolved clinical significance file (format: resolved-clinvar-interpretations.tsv)" }
multianno_file: { type: 'File', inputBinding: { position: 2, prefix: "--multianno" }, doc: "input multianno file" }
autopvs1_file: { type: 'File', inputBinding: { position: 2, prefix: "--autopvs1" }, doc: "input autopvs1 file" }
intervar_file: { type: 'File', inputBinding: { position: 2, prefix: "--intervar" }, doc: "input intervar file" }
variant_summary: { type: 'File', inputBinding: { position: 2, prefix: "--variant_summary" }, doc: "variant_summary file (format: variant_summary_2023-02.txt)" }
output_basename: { type: 'string?', default: "test", inputBinding: { position: 2, prefix: "--output" }, doc: "String to use as base for output filenames" }
sample_id: {type: 'string', inputBinding: { position: 2, prefix: "--sample_id" }, doc: "Input sample bioassay id."}
cpu: { type: 'int?', default: 1, doc: "CPUs to allocate to this task" }
ram: { type: 'int?', default: 2, doc: "GB of RAM to allocate to this task" }
outputs:
annotation_report: { type: 'File', outputBinding: { glob: '*.cavatica_input.annotations_report.abridged.tsv' }}
annotation_report: { type: 'File', outputBinding: { glob: '*.annotations_report.abridged.tsv' }}
33 changes: 0 additions & 33 deletions tools/autogvp_annotate_custom.cwl

This file was deleted.

4 changes: 2 additions & 2 deletions tools/autogvp_filter_annotations.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ requirements:
ramMin: $(inputs.ram * 1000)
coresMin: $(inputs.cpu)
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v1.0.3'
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1'
- class: InitialWorkDirRequirement
listing:
- $(inputs.csq_subfields)
Expand All @@ -30,7 +30,7 @@ arguments:
inputs:
vcf_file: { type: 'File', inputBinding: { position: 2, prefix: "--vcf" }, doc: "Input filtered and parsed VEP VCF file" }
autogvp_file: { type: 'File', inputBinding: { position: 2, prefix: "--autogvp" }, doc: "input AutoGVP annotated file" }
colnames_file: { type: 'File', inputBinding: { position: 2, prefix: "--colnames" }, doc: "file listing output colnames" }
output_colnames_file: { type: 'File?', inputBinding: { position: 2, prefix: "--output_colnames" }, doc: "file listing custom output colnames" }
csq_subfields: { type: 'File', doc: "VCF file CSQ field names" }
output_basename: { type: 'string?', default: "test", inputBinding: { position: 2, prefix: "--output" }, doc: "String to use as base for output filenames" }
cpu: { type: 'int?', default: 1, doc: "CPUs to allocate to this task" }
Expand Down
4 changes: 2 additions & 2 deletions tools/autogvp_filter_vcf.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ requirements:
ramMin: $(inputs.ram * 1000)
coresMin: $(inputs.cpu)
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v1.0.3'
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1'

baseCommand: []
arguments:
Expand All @@ -34,5 +34,5 @@ inputs:
outputs:
filtered_vcf: { type: File, outputBinding: { glob: '*.filtered.vcf' }}
filtered_multianno: { type: File, outputBinding: { glob: '*_multianno_filtered.txt' }}
filtered_autopsv: { type: File, outputBinding: { glob: '*_autopvs1_filtered.tsv' }}
filtered_autopvs1: { type: File, outputBinding: { glob: '*_autopvs1_filtered.tsv' }}
filtered_intervar: { type: File, outputBinding: { glob: '*_intervar_filtered.txt' }}
2 changes: 1 addition & 1 deletion tools/autogvp_parse_vcf.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ requirements:
ramMin: $(inputs.ram * 1000)
coresMin: $(inputs.cpu)
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v1.0.3'
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1'
- class: InitialWorkDirRequirement
listing:
- $(inputs.vcf_file)
Expand Down
10 changes: 5 additions & 5 deletions tools/autogvp_select_clinvar_subs.cwl
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
cwlVersion: v1.2
class: CommandLineTool
id: antogvp_select_clinvar_subs
id: autogvp_select_clinvar_subs
doc: |
Tool for the select-clinVar-submissions.R script from AutoGVP
Tool for the resolve-clinvar-intepretations.R script from AutoGVP
requirements:
- class: ShellCommandRequirement
- class: InlineJavascriptRequirement
- class: ResourceRequirement
ramMin: $(inputs.ram * 1000)
coresMin: $(inputs.cpu)
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v1.0.3'
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1'

baseCommand: []
arguments:
- position: 0
shellQuote: false
valueFrom: >-
Rscript /rocker-build/AutoGVP/scripts/select-clinVar-submissions.R --outdir .
Rscript /rocker-build/AutoGVP/scripts/resolve-clinvar-intepretations.R --outdir .

inputs:
variant_summary: { type: 'File', inputBinding: { prefix: "--variant_summary", position: 2 }, doc: "ClinVar variant summary file." }
Expand All @@ -27,4 +27,4 @@ inputs:
cpu: { type: 'int?', default: 1, doc: "CPUs to allocate to this task." }
ram: { type: 'int?', default: 2, doc: "GB of RAM to allocate to this task." }
outputs:
clinvar_submissions: { type: File, outputBinding: { glob: 'ClinVar-selected-submissions.tsv'} }
clinvar_submissions: { type: File, outputBinding: { glob: "resolved-clinvar-*.tsv"} }
27 changes: 27 additions & 0 deletions tools/autogvp_update_intervar.cwl
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cwlVersion: v1.2
class: CommandLineTool
id: autogvp_filter_vcf
doc: |
Tool for the 01-filter_vcf script from AutoGVP
requirements:
- class: ShellCommandRequirement
- class: InlineJavascriptRequirement
- class: ResourceRequirement
ramMin: $(inputs.ram * 1000)
coresMin: $(inputs.cpu)
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1'

baseCommand: []
arguments:
- position: 0
shellQuote: false
valueFrom: >-
Rscript /rocker-build/AutoGVP/scripts/update_intervar.R --outdir .

inputs:
intervar_file: { type: 'File', inputBinding: { position: 2, prefix: "--intervar_file" }, doc: "intervar results file" }
clinvar_file: { type: 'File', inputBinding: { position: 2, prefix: "--clinvar_file" }, doc: "ClinVar resolved clinical significance file (format: resolved-clinvar-interpretations.tsv)" }
clinvar_hgvs4_file: { type: 'File', inputBinding: { position: 2, prefix: "--clinvar_hgvs4_file" }, doc: "ClinVar hgvs4 file with amino acid changes" }
outputs:
updated_intervar: { type: File, outputBinding: { glob: '*updated*' }}
2 changes: 1 addition & 1 deletion tools/compress_annovar_output.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ requirements:
ramMin: 16000
coresMin: 8
- class: DockerRequirement
dockerPull: 'pgc-images.sbgenomics.com/d3b-bixu/autopvs1:v1.0.1'
dockerPull: 'pgc-images.sbgenomics.com/d3b-bixu/autopvs1:v2.0.0'

baseCommand: [pigz, -c, -p 8]
arguments:
Expand Down
87 changes: 38 additions & 49 deletions workflows/autogvp.cwl
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,12 @@ doc: |
## Inputs

```yaml
workflow: Indicate whether the input VCF is from a cavatica or custom workflow
vcf_file: Input VCF file. Can be either VEP-annotated VCF file or or VEP- and ClinVar-annotated VCF file
filter_criteria: Any additional VCF filtering criteria
clinvar_file: ClinVar file. Required for inputs from a custom workflow!
intevar_file: InterVar results file
autopsv1_file: AutoPVS1 results file
intervar_file: InterVar results file
autopvs1_file: AutoPVS1 results file
multianno_file: ANNOVAR multianno file
output_colnames: File with column name information
output_colnames: File with custom column name information
output_basename: String to use as the basename for stored outputs
selected_clinvar_submissions: ClinVar variant file with conflicts resolved. If not provided, this file will be generated in the workflow
variant_summary_file: ClinVar variant summary file
Expand All @@ -39,14 +37,13 @@ doc: |
```

The following files can be obtained from the [AutoGVP GitHub data directory](https://github.com/diskin-lab-chop/AutoGVP/tree/main/data):
- `autopsv1_file`
- `autopvs1_file`
- `concept_ids`
- `intevar_file`
- `intervar_file`
- `multianno_file`
- `output_colnames`

Additionally, AutoGVP provides [a bash script](https://github.com/diskin-lab-chop/AutoGVP/blob/main/scripts/download_db_files.sh) to obtain:
- `clinvar_file`
- `submission_summary_file`
- `variant_summary_file`

Expand All @@ -59,29 +56,33 @@ doc: |

## Resources

Dockerfile: pgc-images.sbgenomics.com/diskin-lab/autogvp:v1.0.3
Dockerfile: pgc-images.sbgenomics.com/diskin-lab/autogvp:v2.0.1
AutoGVP Paper: https://doi.org/10.1093/bioinformatics/btae114
AutoGVP GitHub: https://github.com/diskin-lab-chop/AutoGVP
requirements:
- class: InlineJavascriptRequirement
- class: StepInputExpressionRequirement
- class: MultipleInputFeatureRequirement
inputs:
workflow: {type: {type: enum, symbols: ["cavatica", "custom"], name: "workflow"}, doc: "Indicate whether the input VCF is from a
cavatica or custom workflow"}
vcf_file: {type: 'File', doc: "Input VCF file. Can be either VEP-annotated VCF file or or VEP- and ClinVar-annotated VCF file"}
filter_criteria: {type: 'string[]?', doc: "Any additional VCF filtering criteria"}
clinvar_file: {type: 'File?', doc: "ClinVar file. Required for inputs from a custom workflow!"}
intevar_file: {type: 'File', doc: "InterVar results file"}
autopsv1_file: {type: 'File', doc: "AutoPVS1 results file"}
intervar_file: {type: 'File', doc: "InterVar results file"}
autopvs1_file: {type: 'File', doc: "AutoPVS1 results file"}
multianno_file: {type: 'File', doc: "ANNOVAR multianno file"}
output_colnames: {type: 'File', doc: "File with column name information."}
output_colnames: {type: 'File?', doc: "File with custom column name information."}
output_basename: {type: 'string?', default: "out", doc: "String to use as the basename for stored outputs."}
sample_id: {type: 'string', doc: "Input sample bioassay id."}
selected_clinvar_submissions: {type: 'File?', doc: "ClinVar variant file with conflicts resolved. If not provided, this file will
be generated in the workflow"}
variant_summary_file: {type: 'File?', doc: "ClinVar variant summary file"}
submission_summary_file: {type: 'File?', doc: "ClinVar submission summary file"}
concept_ids: {type: 'File?', doc: "File containing list of conceptIDs to prioritize submissions for ClinVar variant conflict resolution"}
be generated in the workflow", "sbg:suggestedValue": {class: File,
path: 6a322ff1b729272b1d1bbea4, name: resolved-clinvar-2026-06-cancer-latest.tsv}}
variant_summary_file: {type: 'File?', doc: "ClinVar variant summary file", "sbg:suggestedValue": {class: File,
path: 6a322ff1b729272b1d1bbe9b, name: variant_summary_2026-06.txt.gz}}
clinvar_hgvs4_file: {type: 'File?', doc: "ClinVar hgvs4 file with amino acid changes", "sbg:suggestedValue": {class: File,
path: 6a68726f08505474f85a109b, name: hgvs4variation-2026-07.txt.gz}}
submission_summary_file: {type: 'File?', doc: "ClinVar submission summary file", "sbg:suggestedValue": {class: File,
path: 6a322ff1b729272b1d1bbea2, name: submission_summary_2026-06.txt.gz}}
concept_ids: {type: 'File?', doc: "File containing list of conceptIDs to prioritize submissions for ClinVar variant conflict resolution",
"sbg:suggestedValue": {class: File, path: 6a322ff1b729272b1d1bbe93, name: clinvar_cancer_concept_ids_20260130.txt}}
conflict_res: {type: ['null', {type: enum, symbols: ["latest", "most_severe"], name: "conflict_resolution"}], doc: "How to resolve
conflicts associated with conceptIDs: latest or most_severe"}
annotate_cpu: { type: 'int?', default: 1, doc: "CPUs to allocate to AutoGVP annotation" }
Expand All @@ -108,42 +109,32 @@ steps:
in:
vcf_file: vcf_file
multianno_file: multianno_file
autopvs1_file: autopsv1_file
intervar_file: intevar_file
autopvs1_file: autopvs1_file
intervar_file: intervar_file
output_basename: output_basename
filter_criteria: filter_criteria
out: [filtered_vcf, filtered_multianno, filtered_autopsv, filtered_intervar]
annotate_cavatica:
run: ../tools/autogvp_annotate_cavatica.cwl
when: $(inputs.workflow == "cavatica")
out: [filtered_vcf, filtered_multianno, filtered_autopvs1, filtered_intervar]
update_intervar:
run: ../tools/autogvp_update_intervar.cwl
in:
workflow: workflow
vcf_file: filter_vcf/filtered_vcf
clinvar_file: clinvar_file
multianno_file: filter_vcf/filtered_multianno
autopvs1_file: filter_vcf/filtered_autopsv
intervar_file: filter_vcf/filtered_intervar
variant_summary:
clinvar_file:
source: [selected_clinvar_submissions, select_clinvar_subs/clinvar_submissions]
pickValue: first_non_null
output_basename: output_basename
cpu: annotate_cpu
ram: annotate_ram
out: [annotation_report]
annotate_custom:
run: ../tools/autogvp_annotate_custom.cwl
when: $(inputs.workflow == "custom")
clinvar_hgvs4_file: clinvar_hgvs4_file
out: [updated_intervar]
annotate:
run: ../tools/autogvp_annotate_cavatica.cwl
in:
workflow: workflow
vcf_file: filter_vcf/filtered_vcf
clinvar_file: clinvar_file
multianno_file: filter_vcf/filtered_multianno
autopvs1_file: filter_vcf/filtered_autopsv
intervar_file: filter_vcf/filtered_intervar
variant_summary:
clinvar_file:
source: [selected_clinvar_submissions, select_clinvar_subs/clinvar_submissions]
pickValue: first_non_null
multianno_file: filter_vcf/filtered_multianno
autopvs1_file: filter_vcf/filtered_autopvs1
intervar_file: update_intervar/updated_intervar
output_basename: output_basename
sample_id: sample_id
cpu: annotate_cpu
ram: annotate_ram
out: [annotation_report]
Expand All @@ -156,10 +147,8 @@ steps:
run: ../tools/autogvp_filter_annotations.cwl
in:
vcf_file: parse_vcf/parsed_tsv
autogvp_file:
source: [annotate_cavatica/annotation_report, annotate_custom/annotation_report]
pickValue: the_only_non_null
colnames_file: output_colnames
autogvp_file: annotate/annotation_report
output_colnames_file: output_colnames
csq_subfields: parse_vcf/csq_subfields_tsv
output_basename: output_basename
cpu: filter_annot_cpu
Expand All @@ -172,7 +161,7 @@ hints:
- class: sbg:maxNumberOfParallelInstances
value: 2
"sbg:links":
- id: 'https://github.com/d3b-center/D3b-Pathogenicity-Preprocessing/releases/tag/v1.2.0'
- id: 'https://github.com/d3b-center/D3b-Pathogenicity-Assessment/releases/tag/v2.0.0'
label: github-release
sbg:license: Apache License 2.0
sbg:publisher: KFDRC
Loading