Skip to content

Commit

Permalink
pull changes from master
Browse files Browse the repository at this point in the history
  • Loading branch information
Jwong684 committed Feb 18, 2022
2 parents 4abb545 + 11cc29f commit eb9875d
Show file tree
Hide file tree
Showing 297 changed files with 357,635 additions and 470 deletions.
11 changes: 10 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

- [ ] Input and output files are being symlinked into the `CFG["inputs"]` and `CFG["outputs"]` subdirectories, respectively.

- [ ] I grouped the input symlinking rule to the next job that uses the input files.

- [ ] I updated the final target rule (`*_all`) to include every output rule.

- [ ] I explained important module design decisions in `CHANGELOG.md`.
Expand Down Expand Up @@ -48,4 +50,11 @@

## Checklist for Updated Module

To be completed.
Important! If you are updating the module version, ensure the previous version of the module is restored from master.
If you want to restore a deleted file or directory from the remote master, you can use `git checkout origin/master path/to/file`,
then a `git commit` will ensure that file is tracked on your branch again.
Example:
```
mv modules/strelka/1.1 modules/strelka/1.2
git checkout origin/master modules/strelka/1.1
```
109 changes: 109 additions & 0 deletions demo/bonkbonk.smk
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#!/usr/bin/env snakemake


##### SETUP #####

import oncopipe as op

SAMPLES = op.load_samples("data/bonk.tsv")


##### REFERENCE_FILES WORKFLOW #####


subworkflow reference_files:
workdir:
"reference/"
snakefile:
"../workflows/reference_files/2.4/reference_files.smk"
configfile:
"../workflows/reference_files/2.4/config/default.yaml"


##### CONFIGURATION FILES #####


# Load module-specific configuration
# configfile: "../modules/utils/2.1/config/default.yaml"
# configfile: "../modules/picard_qc/1.0/config/default.yaml"
# configfile: "../modules/salmon/1.1/config/default.yaml"
# configfile: "../modules/bam2fastq/1.2/config/default.yaml"
# configfile: "../modules/star/1.4/config/default.yaml"
# configfile: "../modules/manta/2.3/config/default.yaml"
# configfile: "../modules/vcf2maf/1.0/config/default.yaml"
# configfile: "../modules/gridss/1.0/config/default.yaml"
# configfile: "../modules/sequenza/1.4/config/default.yaml"
# configfile: "../modules/strelka/1.1/config/default.yaml"
# configfile: "../modules/bwa_mem/1.1/config/default.yaml"
# configfile: "../modules/controlfreec/1.2/config/default.yaml"
# configfile: "../modules/lofreq/1.0/config/default.yaml"
# configfile: "../../modules/bonk/1.0/config/default.yaml"

# Load project-specific config, which includes the shared
# configuration and some module-specific config updates
configfile: "config.yaml"


##### CONFIGURATION UPDATES #####


# Use all samples as a default sample list for each module
config["lcr-modules"]["_shared"]["samples"] = SAMPLES

##### MODULE SNAKEFILES #####


# Load module-specific snakefiles

# include: "../modules/utils/2.1/utils.smk"
# include: "../modules/picard_qc/1.0/picard_qc.smk"
# include: "../modules/salmon/1.1/salmon.smk"
# include: "../modules/star/1.4/star.smk"
# include: "../modules/manta/2.3/manta.smk"
# include: "../modules/vcf2maf/1.0/vcf2maf.smk"
# include: "../modules/sequenza/1.4/sequenza.smk"
# include: "../modules/strelka/1.1/strelka.smk"
# include: "../modules/bwa_mem/1.1/bwa_mem.smk"
# include: "../modules/gridss/1.0/gridss.smk"
# include: "../modules/bam2fastq/1.2/bam2fastq.smk"
# include: "../modules/controlfreec/1.2/controlfreec.smk"
# include: "../modules/lofreq/1.0/lofreq.smk"
# include: "../../modules/bonk/1.0/bonk.smk"


rule _bonk_genome:
input:
sample = "data/{sample_id}.bam",
ref = reference_files("genomes/{genome_build}/genome_fasta/genome.fa"),
# index = reference_files("genomes/{genome_build}/genome_fasta/genome.fa.fai")
output:
done = touch(".{genome_build}.{sample_id}.ref_done")
shell:
"ls {input} "

rule _bonk_all:
input:
expand(
[
str(rules._bonk_genome.output.done)
],
zip,
genome_build = SAMPLES["genome_build"],
sample_id = SAMPLES["sample_id"])

##### TARGETS ######

rule all:
input:
# rules._picard_qc_all.input,
# rules._salmon_all.input,
# rules._bam2fastq_all.input,
# rules._star_all.input,
# rules._manta_all.input,
# rules._sequenza_all.input,
# rules._lofreq_all.input,
# rules._strelka_all.input,
# rules._bwa_mem_all.input,
# rules._gridss_all.input,
# rules._controlfreec_all.input,
rules._bonk_all.input
79 changes: 79 additions & 0 deletions demo/capture_Snakefile.smk
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#!/usr/bin/env snakemake

'''
This Snakefile is made to run all the modules compatible with Capture workflow.
Compatibility of a workflow can be checked by referring to the pairing_config parameter present in a default.yaml file of that module.
'''
##### SETUP #####

import oncopipe as op

# filter sample table to use only capture seq_type
SAMPLES = op.load_samples("data/samples.tsv")
CAPTURE = op.filter_samples(SAMPLES, seq_type = "capture")


##### REFERENCE_FILES WORKFLOW #####


subworkflow reference_files:
workdir:
"reference/"
snakefile:
"../workflows/reference_files/2.4/reference_files.smk"
configfile:
"../workflows/reference_files/2.4/config/default.yaml"


##### CONFIGURATION FILES #####


# Load module-specific configuration
configfile: "../modules/slms_3/1.0/config/default.yaml"
configfile: "../modules/picard_qc/1.0/config/default.yaml"
configfile: "../modules/bam2fastq/1.2/config/default.yaml"
configfile: "../modules/sequenza/1.4/config/default.yaml"
configfile: "../modules/bwa_mem/1.1/config/default.yaml"
configfile: "../modules/utils/2.1/config/default.yaml"
configfile: "../modules/liftover/1.2/config/default.yaml"
configfile: "../modules/battenberg/1.2/config/default.yaml"
configfile: "../modules/pathseq/1.0/config/default.yaml"

# Load project-specific config, which includes the shared
# configuration and some module-specific config updates
configfile: "capture_config.yaml"


##### CONFIGURATION UPDATES #####


# Use all samples as a default sample list for each module
config["lcr-modules"]["_shared"]["samples"] = CAPTURE

##### MODULE SNAKEFILES #####


# Load module-specific snakefiles
include: "../modules/slms_3/1.0/slms_3.smk"
include: "../modules/picard_qc/1.0/picard_qc.smk"
include: "../modules/bam2fastq/1.2/bam2fastq.smk"
include: "../modules/sequenza/1.4/sequenza.smk"
include: "../modules/bwa_mem/1.1/bwa_mem.smk"
include: "../modules/utils/2.1/utils.smk"
include: "../modules/liftover/1.2/liftover.smk"
include: "../modules/battenberg/1.2/battenberg.smk"
include: "../modules/pathseq/1.0/pathseq.smk"


##### TARGETS ######

rule all:
input:
rules._slms_3_all.input,
rules._picard_qc_all.input,
rules._bam2fastq_all.input,
rules._sequenza_all.input,
rules._bwa_mem_all.input,
rules._liftover_all.input,
rules._battenberg_all.input,
rules._pathseq_all.input
73 changes: 73 additions & 0 deletions demo/capture_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
lcr-modules:
_shared:
lcr-modules: "../"
lcr-scripts: "../../lcr-scripts/"
root_output_dir: "results/"
scratch_directory: "scratch/"
unmatched_normal_ids:
capture--grch37: "TCRBOA7-N-WEX"

slms_3:
inputs:
sample_bam: "data/{sample_id}.bam"
sample_bai: "data/{sample_id}.bam.bai"

picard_qc:
inputs:
sample_bam: "data/{sample_id}.bam"
sample_bai: "data/{sample_id}.bam.bai"
switches:
capture_intervals:
_default: "reference/exomes/grch37/interval/target_regions.nochr_intervals.txt"
# if 'capture_kit_id' is a column in samples.tsv and contain more than one kit_id, specify each kit using the values in the column. e.g. and add the corresponding bed file if needed
# S07604624: "reference/exomes/grch37/interval/S07604624_intervals.txt"
# <grch38_kit>: "reference/exomes/grch38/interval/<grch38_kit>_intervals.txt"

bam2fastq:
inputs:
sample_bam: "data/{sample_id}.bam"
temp_outputs: True # fastq outputs will be temporary

sequenza:
inputs:
sample_bam: "data/{sample_id}.bam"
sample_bai: "data/{sample_id}.bam.bai"
scratch_subdirectories: []

bwa_mem:
inputs:
sample_fastq_1: "results/bam2fastq-1.2/01-fastq/{seq_type}/{sample_id}.read1.fastq.gz"
sample_fastq_2: "results/bam2fastq-1.2/01-fastq/{seq_type}/{sample_id}.read2.fastq.gz"
scratch_subdirectories: []


liftover:
tool: "sequenza"
dirs:
_parent: "results/sequenza-1.4_liftover-1.2"
inputs:
sample_seg: "results/sequenza-1.4/99-outputs/filtered_seg/{seq_type}--{genome_build}/{tumour_sample_id}--{normal_sample_id}--{pair_status}.igv.seg"

utils:
inputs:
bed:
grch37: "data/exome_bed/hg19/target_regions.nochr.bed" # make sure this corresponds with config["lcr-modules"]["picard_qc"]["inputs"]["intervals"]
# if testing on GSC, use this file: "/projects/dscott_prj/CCSRI_1500/exomes/ref/agilent/hg19/target_regions.nochr.bed"
mem_mb:
bam_sort: 48000
threads:
bam_sort: 12

battenberg:
inputs:
# Available wildcards: {seq_type} {genome_build} {sample_id}
sample_bam: "data/{sample_id}.bam"

pathseq:
inputs:
sample_bam: "data/{sample_id}.bam"
sample_bai: "data/{sample_id}.bam.bai"

options:
min_read_length: 49
ebv_cutoff: [0.00004, 0.00008]
Loading

0 comments on commit eb9875d

Please sign in to comment.