Update ASCAT module (#1805)

* add unzip alleles + loci

* fix the partial absolute prefix path

* exchanged deprecated function + added metrics

* updated meta

* tested logRCorrection + cram input

* added BED for WES

* added outputs + alleleCounter version

* test samtools chr operations, fixed cancerit conda

* ch formatting, fasta, bed input

* comment out local tests

* added metrics, bed, ref_fasta

* rm print statement

* added stub outputs

* rm versions.yml

* fix linting

* rm fictitious md5sums for stub-run

* try fixing top-level of stub versions.yml

* ordered inputs alphabetically, ref_fasta -> fasta

* rm R system command, adjust meta.yml

* prettier yml
This commit is contained in:
SusiJo 2022-06-23 17:06:00 +02:00 committed by GitHub
parent e1a3ae6bf5
commit 7daba6a13f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 219 additions and 106 deletions

View file

@ -2,7 +2,7 @@ process ASCAT {
tag "$meta.id" tag "$meta.id"
label 'process_medium' label 'process_medium'
conda (params.enable_conda ? "bioconda::ascat=3.0.0 bioconda::cancerit-allelecount-4.3.0": null) conda (params.enable_conda ? "bioconda::ascat=3.0.0 bioconda::cancerit-allelecount=4.3.0" : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-c278c7398beb73294d78639a864352abef2931ce:dfe5aaa885de434adb2b490b68972c5840c6d761-0': 'https://depot.galaxyproject.org/singularity/mulled-v2-c278c7398beb73294d78639a864352abef2931ce:dfe5aaa885de434adb2b490b68972c5840c6d761-0':
'quay.io/biocontainers/mulled-v2-c278c7398beb73294d78639a864352abef2931ce:dfe5aaa885de434adb2b490b68972c5840c6d761-0' }" 'quay.io/biocontainers/mulled-v2-c278c7398beb73294d78639a864352abef2931ce:dfe5aaa885de434adb2b490b68972c5840c6d761-0' }"
@ -11,13 +11,19 @@ process ASCAT {
tuple val(meta), path(input_normal), path(index_normal), path(input_tumor), path(index_tumor) tuple val(meta), path(input_normal), path(index_normal), path(input_tumor), path(index_tumor)
path(allele_files) path(allele_files)
path(loci_files) path(loci_files)
path(bed_file) // optional
path(fasta) // optional
path(gc_file) // optional
path(rt_file) // optional
output: output:
tuple val(meta), path("*png"), emit: png tuple val(meta), path("*png"), emit: png
tuple val(meta), path("*cnvs.txt"), emit: cnvs tuple val(meta), path("*cnvs.txt"), emit: cnvs
tuple val(meta), path("*purityploidy.txt"), emit: purityploidy tuple val(meta), path("*metrics.txt"), emit: metrics
tuple val(meta), path("*segments.txt"), emit: segments tuple val(meta), path("*purityploidy.txt"), emit: purityploidy
path "versions.yml", emit: versions tuple val(meta), path("*segments.txt"), emit: segments
tuple val(meta), path("*alleleFrequencies_chr*.txt"), emit: allelefreqs
path "versions.yml", emit: versions
when: when:
task.ext.when == null || task.ext.when task.ext.when == null || task.ext.when
@ -29,24 +35,30 @@ process ASCAT {
def genomeVersion = args.genomeVersion ? "$args.genomeVersion" : "NULL" def genomeVersion = args.genomeVersion ? "$args.genomeVersion" : "NULL"
def purity = args.purity ? "$args.purity" : "NULL" def purity = args.purity ? "$args.purity" : "NULL"
def ploidy = args.ploidy ? "$args.ploidy" : "NULL" def ploidy = args.ploidy ? "$args.ploidy" : "NULL"
def gc_files = args.gc_files ? "$args.gc_files" : "NULL" def gc_input = gc_file ? "$gc_file" : "NULL"
def rt_input = rt_file ? "$rt_file" : "NULL"
def minCounts_arg = args.minCounts ? ",minCounts = $args.minCounts" : "" def minCounts_arg = args.minCounts ? ",minCounts = $args.minCounts" : ""
def bed_file_arg = bed_file ? ",BED_file = '$bed_file'": ""
def chrom_names_arg = args.chrom_names ? ",chrom_names = $args.chrom_names" : "" def chrom_names_arg = args.chrom_names ? ",chrom_names = $args.chrom_names" : ""
def min_base_qual_arg = args.min_base_qual ? ",min_base_qual = $args.min_base_qual" : "" def min_base_qual_arg = args.min_base_qual ? ",min_base_qual = $args.min_base_qual" : ""
def min_map_qual_arg = args.min_map_qual ? ",min_map_qual = $args.min_map_qual" : "" def min_map_qual_arg = args.min_map_qual ? ",min_map_qual = $args.min_map_qual" : ""
def ref_fasta_arg = args.ref_fasta ? ",ref.fasta = '$args.ref_fasta'" : "" def fasta_arg = fasta ? ",ref.fasta = '$fasta'" : ""
def skip_allele_counting_tumour_arg = args.skip_allele_counting_tumour ? ",skip_allele_counting_tumour = $args.skip_allele_counting_tumour" : "" def skip_allele_counting_tumour_arg = args.skip_allele_counting_tumour ? ",skip_allele_counting_tumour = $args.skip_allele_counting_tumour" : ""
def skip_allele_counting_normal_arg = args.skip_allele_counting_normal ? ",skip_allele_counting_normal = $args.skip_allele_counting_normal" : "" def skip_allele_counting_normal_arg = args.skip_allele_counting_normal ? ",skip_allele_counting_normal = $args.skip_allele_counting_normal" : ""
""" """
#!/usr/bin/env Rscript #!/usr/bin/env Rscript
library(RColorBrewer) library(RColorBrewer)
library(ASCAT) library(ASCAT)
options(bitmapType='cairo') options(bitmapType='cairo')
#build prefixes: <abspath_to_files/prefix_chr>
allele_path = normalizePath("$allele_files")
allele_prefix = paste0(allele_path, "/", "$allele_files", "_chr")
loci_path = normalizePath("$loci_files")
loci_prefix = paste0(loci_path, "/", "$loci_files", "_chr")
#prepare from BAM files #prepare from BAM files
ascat.prepareHTS( ascat.prepareHTS(
@ -55,16 +67,17 @@ process ASCAT {
tumourname = "Tumour", tumourname = "Tumour",
normalname = "Normal", normalname = "Normal",
allelecounter_exe = "alleleCounter", allelecounter_exe = "alleleCounter",
alleles.prefix = "$allele_files", alleles.prefix = allele_prefix,
loci.prefix = "$loci_files", loci.prefix = loci_prefix,
gender = "$gender", gender = "$gender",
genomeVersion = "$genomeVersion", genomeVersion = "$genomeVersion",
nthreads = $task.cpus nthreads = $task.cpus
$minCounts_arg $minCounts_arg
$bed_file_arg
$chrom_names_arg $chrom_names_arg
$min_base_qual_arg $min_base_qual_arg
$min_map_qual_arg $min_map_qual_arg
$ref_fasta_arg $fasta_arg
$skip_allele_counting_tumour_arg $skip_allele_counting_tumour_arg
$skip_allele_counting_normal_arg $skip_allele_counting_normal_arg
) )
@ -80,13 +93,25 @@ process ASCAT {
gender = "$gender" gender = "$gender"
) )
#optional GC wave correction
if(!is.null($gc_files)){
ascat.bc = ascat.GCcorrect(ascat.bc, $gc_files)
}
#Plot the raw data #Plot the raw data
ascat.plotRawData(ascat.bc) ascat.plotRawData(ascat.bc, img.prefix = "Before_correction_")
# optional LogRCorrection
if("$gc_input" != "NULL") {
gc_input = paste0(normalizePath("$gc_input"), "/", "$gc_input", ".txt")
if("$rt_input" != "NULL"){
rt_input = paste0(normalizePath("$rt_input"), "/", "$rt_input", ".txt")
ascat.bc = ascat.correctLogR(ascat.bc, GCcontentfile = gc_input, replictimingfile = rt_input)
#Plot raw data after correction
ascat.plotRawData(ascat.bc, img.prefix = "After_correction_GC_")
}
else {
ascat.bc = ascat.correctLogR(ascat.bc, GCcontentfile = gc_input, replictimingfile = $rt_input)
#Plot raw data after correction
ascat.plotRawData(ascat.bc, img.prefix = "After_correction_GC_RT_")
}
}
#Segment the data #Segment the data
ascat.bc = ascat.aspcf(ascat.bc) ascat.bc = ascat.aspcf(ascat.bc)
@ -106,6 +131,9 @@ process ASCAT {
ascat.output <- ascat.runAscat(ascat.bc, gamma=1) ascat.output <- ascat.runAscat(ascat.bc, gamma=1)
} }
#Extract metrics from ASCAT profiles
QC = ascat.metrics(ascat.bc,ascat.output)
#Write out segmented regions (including regions with one copy of each allele) #Write out segmented regions (including regions with one copy of each allele)
write.table(ascat.output[["segments"]], file=paste0("$prefix", ".segments.txt"), sep="\t", quote=F, row.names=F) write.table(ascat.output[["segments"]], file=paste0("$prefix", ".segments.txt"), sep="\t", quote=F, row.names=F)
@ -124,13 +152,17 @@ process ASCAT {
colnames(summary) <- c("AberrantCellFraction","Ploidy") colnames(summary) <- c("AberrantCellFraction","Ploidy")
write.table(summary, file=paste0("$prefix",".purityploidy.txt"), sep="\t", quote=F, row.names=F, col.names=T) write.table(summary, file=paste0("$prefix",".purityploidy.txt"), sep="\t", quote=F, row.names=F, col.names=T)
#version export. Have to hardcode process name and software name because write.table(QC, file=paste0("$prefix", ".metrics.txt"), sep="\t", quote=F, row.names=F)
#won't run inside an R-block
version_file_path="versions.yml" # version export
f <- file(version_file_path,"w") f <- file("versions.yml","w")
writeLines("ASCAT:", f) alleleCounter_version = system(paste("alleleCounter --version"), intern = T)
writeLines(" ascat: 3.0.0",f) ascat_version = sessionInfo()\$otherPkgs\$ASCAT\$Version
writeLines(paste0('"', "$task.process", '"', ":"), f)
writeLines(paste(" alleleCounter:", alleleCounter_version), f)
writeLines(paste(" ascat:", ascat_version), f)
close(f) close(f)
""" """
@ -138,17 +170,26 @@ process ASCAT {
def prefix = task.ext.prefix ?: "${meta.id}" def prefix = task.ext.prefix ?: "${meta.id}"
""" """
echo stub > ${prefix}.cnvs.txt echo stub > ${prefix}.cnvs.txt
echo stub > ${prefix}.metrics.txt
echo stub > ${prefix}.purityploidy.txt echo stub > ${prefix}.purityploidy.txt
echo stub > ${prefix}.segments.txt echo stub > ${prefix}.segments.txt
echo stub > Tumour.ASCATprofile.png echo stub > Tumour.ASCATprofile.png
echo stub > Tumour.ASPCF.png echo stub > Tumour.ASPCF.png
echo stub > Tumour.germline.png echo stub > Before_correction_Tumour.germline.png
echo stub > After_correction_GC_Tumour.germline.png
echo stub > Tumour.rawprofile.png echo stub > Tumour.rawprofile.png
echo stub > Tumour.sunrise.png echo stub > Tumour.sunrise.png
echo stub > Tumour.tumour.png echo stub > Before_correction_Tumour.tumour.png
echo stub > After_correction_GC_Tumour.tumour.png
echo stub > Tumour_alleleFrequencies_chr21.txt
echo stub > Tumour_alleleFrequencies_chr22.txt
echo stub > Normal_alleleFrequencies_chr21.txt
echo stub > Normal_alleleFrequencies_chr22.txt
echo 'ASCAT:' > versions.yml echo "${task.process}:" > versions.yml
echo ' alleleCounter: 4.3.0' >> versions.yml
echo ' ascat: 3.0.0' >> versions.yml echo ' ascat: 3.0.0' >> versions.yml
""" """

View file

@ -1,13 +1,15 @@
name: ascat name: ascat
description: copy number profiles of tumour cells. description: copy number profiles of tumour cells.
keywords: keywords:
- sort - bam
- copy number
- cram
tools: tools:
- ascat: - ascat:
description: ASCAT is a method to derive copy number profiles of tumour cells, accounting for normal cell admixture and tumour aneuploidy. ASCAT infers tumour purity (the fraction of tumour cells) and ploidy (the amount of DNA per tumour cell), expressed as multiples of haploid genomes from SNP array or massively parallel sequencing data, and calculates whole-genome allele-specific copy number profiles (the number of copies of both parental alleles for all SNP loci across the genome). description: ASCAT is a method to derive copy number profiles of tumour cells, accounting for normal cell admixture and tumour aneuploidy. ASCAT infers tumour purity (the fraction of tumour cells) and ploidy (the amount of DNA per tumour cell), expressed as multiples of haploid genomes from SNP array or massively parallel sequencing data, and calculates whole-genome allele-specific copy number profiles (the number of copies of both parental alleles for all SNP loci across the genome).
homepage: None homepage: None
documentation: None documentation: https://github.com/VanLoo-lab/ascat/tree/master/man
tool_dev_url: https://github.com/Crick-CancerGenomics/ascat tool_dev_url: https://github.com/VanLoo-lab/ascat
doi: "10.1093/bioinformatics/btaa538" doi: "10.1093/bioinformatics/btaa538"
licence: ["GPL v3"] licence: ["GPL v3"]
@ -26,6 +28,7 @@ input:
"ploidy": (optional), "ploidy": (optional),
"gc_files": (optional), "gc_files": (optional),
"minCounts": (optional), "minCounts": (optional),
"BED_file": (optional) but recommended for WES,
"chrom_names": (optional), "chrom_names": (optional),
"min_base_qual": (optional), "min_base_qual": (optional),
"min_map_qual": (optional), "min_map_qual": (optional),
@ -43,50 +46,75 @@ input:
e.g. [ id:'test', single_end:false ] e.g. [ id:'test', single_end:false ]
- input_normal: - input_normal:
type: file type: file
description: BAM/CRAM/SAM file description: BAM/CRAM file, must adhere to chr1, chr2, ...chrX notation
pattern: "*.{bam,cram,sam}" For modifying chromosome notation in bam files please follow https://josephcckuo.wordpress.com/2016/11/17/modify-chromosome-notation-in-bam-file/.
pattern: "*.{bam,cram}"
- index_normal: - index_normal:
type: file type: file
description: index for normal_bam description: index for normal_bam/cram
pattern: "*.{bai}" pattern: "*.{bai,crai}"
- input_tumor: - input_tumor:
type: file type: file
description: BAM/CRAM/SAM file description: BAM/CRAM file, must adhere to chr1, chr2, ...chrX notation
pattern: "*.{bam,cram,sam}" pattern: "*.{bam,cram}"
- index_tumor: - index_tumor:
type: file type: file
description: index for tumor_bam description: index for tumor_bam/cram
pattern: "*.{bai}" pattern: "*.{bai,crai}"
- allele_files: - allele_files:
type: file type: file
description: allele files for ASCAT. Can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS description: allele files for ASCAT WGS. Can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS
- loci_files: - loci_files:
type: file type: file
description: loci files for ASCAT. Can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS description:
loci files for ASCAT WGS. Loci files without chromosome notation can be downloaded here https://github.com/VanLoo-lab/ascat/tree/master/ReferenceFiles/WGS
Make sure the chromosome notation matches the bam/cram input files. To add the chromosome notation to loci files (hg19/hg38) if necessary, you can run this command
`if [[ $(samtools view <your_bam_file.bam> | head -n1 | cut -f3)\" == *\"chr\"* ]]; then for i in {1..22} X; do sed -i 's/^/chr/' G1000_loci_hg19_chr_${i}.txt; done; fi`
- bed_file:
type: file
description: Bed file for ASCAT WES (optional, but recommended for WES)
- fasta:
type: file
description: Reference fasta file (optional)
- gc_file:
type: file
description: GC correction file (optional) - Used to do logR correction of the tumour sample(s) with genomic GC content
- rt_file:
type: file
description: replication timing correction file (optional, provide only in combination with gc_file)
output: output:
- meta: - meta:
type: map type: map
description: | description: |
Groovy Map containing sample information Groovy Map containing sample information
e.g. [ id:'test', single_end:false ] e.g. [ id:'test', single_end:false ]
- versions: - allelefreqs:
type: file type: file
description: File containing software versions description: Files containing allee frequencies per chromosome
pattern: "versions.yml" pattern: "*{alleleFrequencies_chr*.txt}"
- metrics:
type: file
description: File containing quality metrics
pattern: "*.{metrics.txt}"
- png: - png:
type: file type: file
description: ASCAT plots description: ASCAT plots
pattern: "*.{png}" pattern: "*.{png}"
- purityploidy: - purityploidy:
type: file type: file
description: purity and ploidy data description: File with purity and ploidy data
pattern: "*.purityploidy.txt" pattern: "*.{purityploidy.txt}"
- segments: - segments:
type: file type: file
description: segments data description: File with segments data
pattern: "*.segments.txt" pattern: "*.{segments.txt}"
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"
authors: authors:
- "@aasNGC" - "@aasNGC"
- "@lassefolkersen" - "@lassefolkersen"
- "@FriederikeHanssen" - "@FriederikeHanssen"
- "@maxulysse" - "@maxulysse"
- "@SusiJo"

View file

@ -2,10 +2,13 @@
nextflow.enable.dsl = 2 nextflow.enable.dsl = 2
include { ASCAT as ASCAT_SIMPLE} from '../../../modules/ascat/main.nf' include { ASCAT as ASCAT_SIMPLE } from '../../../modules/ascat/main.nf'
include { ASCAT as ASCAT_PLOIDY_AND_PURITY} from '../../../modules/ascat/main.nf' include { ASCAT as ASCAT_PLOIDY_AND_PURITY } from '../../../modules/ascat/main.nf'
include { ASCAT as ASCAT_CRAM} from '../../../modules/ascat/main.nf' include { ASCAT as ASCAT_CRAM } from '../../../modules/ascat/main.nf'
include { UNZIP as UNZIP_ALLELES } from '../../../modules/unzip/main.nf'
include { UNZIP as UNZIP_LOCI } from '../../../modules/unzip/main.nf'
include { UNZIP as UNZIP_GC } from '../../../modules/unzip/main.nf'
include { UNZIP as UNZIP_RT } from '../../../modules/unzip/main.nf'
@ -18,47 +21,93 @@ workflow test_ascat {
file(params.test_data['homo_sapiens']['illumina']['test2_paired_end_sorted_bam_bai'], checkIfExists: true) file(params.test_data['homo_sapiens']['illumina']['test2_paired_end_sorted_bam_bai'], checkIfExists: true)
] ]
ASCAT_SIMPLE ( input , [], []) ASCAT_SIMPLE ( input , [], [], [], [], [], [])
} }
// extended tests running with 1000 genomes data. Data is downloaded as follows: // extended tests running with 1000 genomes data. Data is downloaded as follows:
// wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00154/alignment/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam // wget http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00154/alignment/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam
// wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00154/alignment/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai // wget http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00154/alignment/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai
// wget http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00155/alignment/HG00155.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam // wget http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00155/alignment/HG00155.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam
// wget http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00155/alignment/HG00155.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai // wget http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00155/alignment/HG00155.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai
//workflow test_ascat_with_ploidy_and_purity {
// input = [
// [ id:'test', single_end:false ], // meta map
// file("/home/ec2-user/input_files/bams/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam", checkIfExists: true),
// file("/home/ec2-user/input_files/bams/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai", checkIfExists: true),
// file("/home/ec2-user/input_files/bams/test2.bam", checkIfExists: true),
// file("/home/ec2-user/input_files/bams/test2.bam.bai", checkIfExists: true)
// ]
//
// ASCAT_PLOIDY_AND_PURITY ( input , "/home/ec2-user/input_files/allele_files/G1000_alleles_hg19_chr", "/home/ec2-user/input_files/loci_files/G1000_alleles_hg19_chr")
//}
// workflow test_ascat_with_ploidy_and_purity {
// input = [ [ id:'test', single_end:false ], // meta map
// file("/mnt/volume/ascat/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam", checkIfExists: true),
// file("/mnt/volume/ascat/HG00154.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai", checkIfExists: true),
// file("/mnt/volume/ascat/HG00155.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam", checkIfExists: true),
// file("/mnt/volume/ascat/HG00155.mapped.ILLUMINA.bwa.GBR.low_coverage.20101123.bam.bai", checkIfExists: true)
// ]
// allele_path = file("/mnt/volume/repos/modules/test_ascat2/G1000_alleles_hg19.zip", checkIfExists: true)
// allele_files = [[ id: allele_path.BaseName ], allele_path ]
// loci_path = file("/mnt/volume/repos/modules/test_ascat2/G1000_loci_hg19.zip", checkIfExists: true)
// loci_files = [[ id: loci_path.BaseName ], loci_path ]
// gc_path = file("/mnt/volume/repos/modules/test_ascat2/GC_G1000_hg19.zip", checkIfExists: true)
// gc_file = [[ id: gc_path.BaseName ], gc_path ]
// rt_path = file("/mnt/volume/repos/modules/test_ascat2/RT_G1000_hg19.zip", checkIfExists: true)
// rt_file = [[ id: rt_path.BaseName ], rt_path ]
// UNZIP_ALLELES(allele_files)
// UNZIP_LOCI(loci_files)
// UNZIP_GC(gc_file)
// ASCAT_PLOIDY_AND_PURITY ( input ,
// UNZIP_ALLELES.out.unzipped_archive.map{ it[1] },
// UNZIP_LOCI.out.unzipped_archive.map{ it[1] },
// [], // optional bed_file for WES
// [], // optional fasta
// UNZIP_GC.out.unzipped_archive.map{ it[1] }, // optional GC_correction
// []) // optional RT_correction
//
// }
// extended tests running with 1000 genomes data. Data is downloaded as follows: // extended tests running with 1000 genomes data. Data is downloaded as follows:
// wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00145/alignment/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai // wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00145/alignment/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai
// wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00145/alignment/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram // wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00145/alignment/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram
// wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00146/alignment/HG00146.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai // wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00146/alignment/HG00146.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai
// wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00146/alignment/HG00146.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram // wget ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00146/alignment/HG00146.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram
//workflow test_ascat_with_crams { // workflow test_ascat_with_crams {
// input = [ // input = [
// [ id:'test', single_end:false ], // meta map // [ id:'test', single_end:false ], // meta map
// file("/home/ec2-user/input_files/crams/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram", checkIfExists: true), // file("/mnt/volume/ascat/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram", checkIfExists: true),
// file("/home/ec2-user/input_files/crams/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai", checkIfExists: true), // file("/mnt/volume/ascat/HG00145.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai", checkIfExists: true),
// file("/home/ec2-user/input_files/crams/duplicate_test.cram", checkIfExists: true), // file("/mnt/volume/ascat/HG00146.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram", checkIfExists: true),
// file("/home/ec2-user/input_files/crams/duplicate_test.cram.crai", checkIfExists: true) // file("/mnt/volume/ascat/HG00146.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.cram.crai", checkIfExists: true)
// ] // ]
//
// ASCAT_CRAM ( input , "/home/ec2-user/input_files/allele_files/G1000_alleles_hg19_chr", "/home/ec2-user/input_files/loci_files/G1000_alleles_hg19_chr") // allele_path = file("/mnt/volume/repos/modules/test_ascat2/G1000_alleles_hg19.zip", checkIfExists: true)
//} // allele_files = [[ id: allele_path.BaseName ], allele_path ]
// loci_path = file("/mnt/volume/repos/modules/test_ascat2/G1000_loci_hg19.zip", checkIfExists: true)
// loci_files = [[ id: loci_path.BaseName ], loci_path ]
// gc_path = file("/mnt/volume/repos/modules/test_ascat2/GC_G1000_hg19.zip", checkIfExists: true)
// gc_file = [[ id: gc_path.BaseName ], gc_path ]
// rt_path = file("/mnt/volume/repos/modules/test_ascat2/RT_G1000_hg19.zip", checkIfExists: true)
// rt_file = [[ id: rt_path.BaseName ], rt_path ]
// fasta = file("/mnt/volume/ascat/human_g1k_v37.fasta", checkIfExists: true)
// UNZIP_ALLELES(allele_files)
// UNZIP_LOCI(loci_files)
// UNZIP_GC(gc_file)
// UNZIP_RT(rt_file)
// ASCAT_CRAM ( input ,
// UNZIP_ALLELES.out.unzipped_archive.map{ it[1] },
// UNZIP_LOCI.out.unzipped_archive.map{ it[1] },
// [],
// fasta,
// UNZIP_GC.out.unzipped_archive.map{ it[1] },
// UNZIP_RT.out.unzipped_archive.map{ it[1] })
// }

View file

@ -1,7 +1,7 @@
process { process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
withName: ASCAT_SIMPLE { withName: ASCAT_SIMPLE {
ext.args = [ ext.args = [
@ -11,28 +11,29 @@ process {
min_base_qual : '1', min_base_qual : '1',
min_map_qual : '1', min_map_qual : '1',
chrom_names : 'c("21","22")' chrom_names : 'c("21","22")'
] ]
} }
withName: ASCAT_PLOIDY_AND_PURITY { withName: ASCAT_PLOIDY_AND_PURITY {
ext.args = [ ext.args = [
gender : 'XX', gender : 'XX',
genomeVersion : 'hg19', genomeVersion : 'hg19',
ploidy : '1.7', ploidy : '1.7',
purity : '0.24', purity : '0.24',
chrom_names : 'c("21","22")' chrom_names : 'c("21","22")',
]
]
} }
withName: ASCAT_CRAM { withName: ASCAT_CRAM {
ext.args = [ ext.args = [
gender : 'XX', gender : 'XX',
genomeVersion : 'hg19', genomeVersion : 'hg19',
ref_fasta : '/home/ec2-user/input_files/fasta/human_g1k_v37.fasta', ref_fasta : '/mnt/volume/ascat/human_g1k_v37.fasta',
chrom_names : 'c("21","22")' chrom_names : 'c("21","22")'
] ]
} }
} }

View file

@ -3,23 +3,17 @@
tags: tags:
- ascat - ascat
files: files:
- path: output/ascat/Tumour.ASCATprofile.png - path: output/ascat/After_correction_GC_Tumour.germline.png
md5sum: f50b84b1db4b83ba62ec1deacc69c260 - path: output/ascat/After_correction_GC_Tumour.tumour.png
- path: output/ascat/Tumour.ASPCF.png - path: output/ascat/Before_correction_Tumour.germline.png
md5sum: f50b84b1db4b83ba62ec1deacc69c260 - path: output/ascat/Before_correction_Tumour.tumour.png
- path: output/ascat/Tumour.germline.png - path: output/ascat/Normal_alleleFrequencies_chr21.txt
md5sum: f50b84b1db4b83ba62ec1deacc69c260 - path: output/ascat/Normal_alleleFrequencies_chr22.txt
- path: output/ascat/Tumour.rawprofile.png
md5sum: f50b84b1db4b83ba62ec1deacc69c260
- path: output/ascat/Tumour.sunrise.png
md5sum: f50b84b1db4b83ba62ec1deacc69c260
- path: output/ascat/Tumour.tumour.png
md5sum: f50b84b1db4b83ba62ec1deacc69c260
- path: output/ascat/test.cnvs.txt - path: output/ascat/test.cnvs.txt
md5sum: f50b84b1db4b83ba62ec1deacc69c260
- path: output/ascat/test.purityploidy.txt - path: output/ascat/test.purityploidy.txt
md5sum: f50b84b1db4b83ba62ec1deacc69c260
- path: output/ascat/test.segments.txt - path: output/ascat/test.segments.txt
md5sum: f50b84b1db4b83ba62ec1deacc69c260 - path: output/ascat/Tumour_alleleFrequencies_chr21.txt
- path: output/ascat/versions.yml - path: output/ascat/Tumour_alleleFrequencies_chr22.txt
md5sum: 1af20694ec11004c4f8bc0c609b06386 - path: output/ascat/Tumour.ASCATprofile.png
- path: output/ascat/Tumour.rawprofile.png
- path: output/ascat/Tumour.sunrise.png