Skip to content
Snippets Groups Projects
Verified Commit bc0cf956 authored by Mia Croiset's avatar Mia Croiset
Browse files

TEST alignement bowtie2

parent 9b7e1961
No related branches found
No related tags found
No related merge requests found
process {
//Default
publishDir = [
path: { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" },
mode: 'copy',
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
params {
// Input options
input = null
// References
genome = null
igenomes_base = 's3://ngi-igenomes/igenomes'
igenomes_ignore = false
chromosome_size = null
restriction_fragments = null
save_reference = false
// Mapping
split_fastq = false
fastq_chunks_size = 20000000
save_interaction_bam = false
save_aligned_intermediates = false
bwt2_opts_end2end = '--very-sensitive -L 30 --score-min L,-0.6,-0.2 --end-to-end --reorder'
bwt2_opts_trimmed = '--very-sensitive -L 20 --score-min L,-0.6,-0.2 --end-to-end --reorder'
keep_dups = false
keep_multi = false
min_mapq = 10
// Digestion Hi-C
digestion = null
ligation_site = null
restriction_site = null
digest {
'hindiii'{
restriction_site='A^AGCTT'
ligation_site='AAGCTAGCTT'
}
'mboi' {
restriction_site='^GATC'
ligation_site='GATCGATC'
}
'dpnii' {
restriction_site='^GATC'
ligation_site='GATCGATC'
}
'arima' {
restriction_site='^GATC,G^ANTC'
ligation_site='GATCGATC,GATCANTC,GANTGATC,GANTANTC'
}
}
min_restriction_fragment_size = 0
max_restriction_fragment_size = 0
min_insert_size = 0
max_insert_size = 0
save_pairs_intermediates = false
// Dnase Hi-C
dnase = false
min_cis_dist = 0
// Contact maps
save_raw_maps = false
bin_size = '1000000'
res_zoomify = null
hicpro_maps = false
ice_max_iter = 100
ice_filter_low_count_perc = 0.02
ice_filter_high_count_perc = 0
ice_eps = 0.1
// Downstream Analysis
res_dist_decay = '250000'
tads_caller = 'insulation'
res_tads = '40000'
res_compartments = '250000'
// Workflow
skip_maps = false
skip_balancing = false
skip_mcool = false
skip_dist_decay = false
skip_compartments = false
skip_tads = false
skip_multiqc = false
// MultiQC options
multiqc_config = null
multiqc_title = null
multiqc_logo = null
max_multiqc_email_size = '25.MB'
multiqc_methods_description = null
// Boilerplate options
outdir = './results'
tracedir = "${params.outdir}/pipeline_info"
publish_dir_mode = 'copy'
email = null
email_on_fail = null
plaintext_email = false
monochrome_logs = false
hook_url = null
help = false
version = false
validate_params = true
show_hidden_params = false
schema_ignore_params = 'genomes,digest'
// Config options
custom_config_version = 'master'
custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}"
config_profile_description = null
config_profile_contact = null
config_profile_url = null
config_profile_name = null
// Max resource options
// Defaults only, expecting to be overwritten
max_memory = '128.GB'
max_cpus = 16
max_time = '240.h'
}
profiles {
debug { process.beforeScript = 'echo $HOSTNAME' }
conda {
conda.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
mamba {
conda.enabled = true
conda.useMamba = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
docker {
docker.enabled = true
docker.userEmulation = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
arm {
docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64'
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
podman {
podman.enabled = true
docker.enabled = false
singularity.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
shifter {
shifter.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
charliecloud.enabled = false
}
charliecloud {
charliecloud.enabled = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
}
gitpod {
executor.name = 'local'
executor.cpus = 16
executor.memory = 60.GB
}
test { includeConfig 'conf/test.config' }
test_full { includeConfig 'conf/test_full.config' }
}
process BOWTIE2_ALIGNMENT {
tag "$meta.id"
label "process_high"
conda "bioconda::bowtie2=2.4.4 bioconda::samtools=1.16.1 conda-forge::pigz=2.6"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-ac74a7f02cebcfcc07d8e8d1d750af9c83b4d45a:a0ffedb52808e102887f6ce600d092675bf3528a-0' :
'quay.io/biocontainers/mulled-v2-ac74a7f02cebcfcc07d8e8d1d750af9c83b4d45a:a0ffedb52808e102887f6ce600d092675bf3528a-0' }"
input:
tuple val(meta), path(reads)
tuple val(meta2), path(index)
output:
tuple val(meta), path ("*.bam"), emit: bam
script:
def prefix = task.ext.prefix ?: "${meta.id}"
"""
INDEX=`find -L ./ -name "*.rev.1.bt2" | sed "s/\\.rev.1.bt2\$//"`
[ -z "\$INDEX" ] && INDEX=`find -L ./ -name "*.rev.1.bt2l" | sed "s/\\.rev.1.bt2l\$//"`
[ -z "\$INDEX" ] && echo "Bowtie2 index files not found" 1>&2 && exit 1
bowtie2 --very-sensitive-local -p $task.cpus -x \$INDEX -U $reads > ${prefix}.tmp
samtools view -F 2048 -h -@ $task.cpus ${prefix}.tmp | samtools sort -n -@ $task.cpus -o ${prefix}.bam -
"""
}
test.nf 0 → 100644
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GENOME PARAMETER VALUES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
params.fasta = WorkflowMain.getGenomeAttribute(params, 'fasta')
params.bwt2_index = WorkflowMain.getGenomeAttribute(params, 'bowtie2')
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VALIDATE & PRINT PARAMETER SUMMARY
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
WorkflowMain.initialise(workflow, params, log)
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NAMED WORKFLOW FOR PIPELINE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
include { HICSTUFF } from './workflows/hicstuff'
//
// WORKFLOW: Run main nf-core/hic analysis pipeline
//
workflow TEST_HICSTUFF {
HICSTUFF ()
}
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RUN ALL WORKFLOWS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
//
// WORKFLOW: Execute a single named workflow for the pipeline
// See: https://github.com/nf-core/rnaseq/issues/619
//
workflow {
TEST_HICSTUFF ()
}
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THE END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
def summary_params = NfcoreSchema.paramsSummaryMap(workflow, params)
// Validate input parameters
WorkflowHic.initialise(params, log)
// Check mandatory parameters
if (params.input) { ch_input = file(params.input) } else { exit 1, 'Input samplesheet not specified!' }
// Digestion parameters
if (params.digestion){
restriction_site = params.digestion ? params.digest[ params.digestion ].restriction_site ?: false : false
ch_restriction_site = Channel.value(restriction_site)
ligation_site = params.digestion ? params.digest[ params.digestion ].ligation_site ?: false : false
ch_ligation_site = Channel.value(ligation_site)
}else if (params.dnase){
ch_restriction_site = Channel.empty()
ch_ligation_site = Channel.empty()
}else{
exit 1, "Ligation motif not found. Please either use the `--digestion` parameters or specify the `--restriction_site` and `--ligation_site`. For DNase Hi-C, please use '--dnase' option"
}
Channel.fromPath( params.fasta )
.ifEmpty { exit 1, "Genome index: Fasta file not found: ${params.fasta}" }
.map{it->[[:],it]}
.set { ch_fasta }
include { INPUT_CHECK } from '../subworkflows/local/input_check'
include { PREPARE_GENOME } from '../subworkflows/local/prepare_genome'
include { BOWTIE2_ALIGNMENT } from '../modules/local/hicstuff/align_bowtie2'
workflow HICSTUFF {
INPUT_CHECK (
ch_input
)
PREPARE_GENOME(
ch_fasta,
ch_restriction_site
)
BOWTIE2_ALIGNMENT(
INPUT_CHECK.out.reads,
PREPARE_GENOME.out.index
)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment