Skip to content
Snippets Groups Projects
Commit 88f9c053 authored by nservant's avatar nservant
Browse files

add mapstat

parent c0c6a0f8
Branches
Tags
No related merge requests found
#!/bin/bash
bam1=$1
bam2=$2
merged=$3
tag=$4
tot_reads=$(samtools view -c ${merged})
map_reads=$(samtools view -c -F 4 ${merged})
gmap_reads=$(samtools view -c -F 4 ${bam1})
lmap_reads=$(samtools view -c -F 4 ${bam2})
echo -e "total_${tag}\t$tot_reads"
echo -e "mapped_${tag}\t$map_reads"
echo -e "global_${tag}\t$gmap_reads"
echo -e "local_${tag}\t$lmap_reads"
...@@ -74,7 +74,7 @@ withName:run_ice { ...@@ -74,7 +74,7 @@ withName:run_ice {
params { params {
// Defaults only, expecting to be overwritten // Defaults only, expecting to be overwritten
max_memory = 8.GB max_memory = 8.GB
max_cpus = 2 max_cpus = 4
max_time = 24.h max_time = 24.h
igenomes_base = 's3://ngi-igenomes/igenomes/' igenomes_base = 's3://ngi-igenomes/igenomes/'
} }
...@@ -13,18 +13,18 @@ params { ...@@ -13,18 +13,18 @@ params {
splitFastq = false splitFastq = false
bwt2_opts_end2end = '--very-sensitive -L 30 --score-min L,-0.6,-0.2 --end-to-end --reorder' 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' bwt2_opts_trimmed = '--very-sensitive -L 20 --score-min L,-0.6,-0.2 --end-to-end --reorder'
min_mapq = 10 min_mapq = 0
// Digestion Hi-C // Digestion Hi-C
restriction_site = 'A^AGGCT' restriction_site = 'A^AGCTT'
ligation_site = 'AAGCTAGCTT' ligation_site = 'AAGCTAGCTT'
min_restriction_fragment_size = 0 min_restriction_fragment_size = 100
max_restriction_fragment_size = 1000 max_restriction_fragment_size = 100000
min_insert_size = 0 min_insert_size = 100
max_insert_size = 500 max_insert_size = 600
// Hi-C Processing // Hi-C Processing
min_cis_dist = 1000 min_cis_dist =
rm_singleton = true rm_singleton = true
rm_multi = true rm_multi = true
rm_dup = true rm_dup = true
......
...@@ -367,8 +367,8 @@ if(!params.chromosome_size && params.fasta){ ...@@ -367,8 +367,8 @@ if(!params.chromosome_size && params.fasta){
} }
if(!params.restriction_fragments && params.fasta){ if(!params.restriction_fragments && params.fasta){
process makeRestrictionFragments { process getRestrictionFragments {
tag "$fasta - ${params.restriction_site}" tag "$fasta [${params.restriction_site}]"
publishDir path: { params.saveReference ? "${params.outdir}/reference_genome" : params.outdir }, publishDir path: { params.saveReference ? "${params.outdir}/reference_genome" : params.outdir },
saveAs: { params.saveReference ? it : null }, mode: 'copy' saveAs: { params.saveReference ? it : null }, mode: 'copy'
...@@ -471,6 +471,7 @@ process merge_mapping_steps{ ...@@ -471,6 +471,7 @@ process merge_mapping_steps{
output: output:
set val(sample), file("${prefix}_bwt2merged.bam") into bwt2_merged_bam set val(sample), file("${prefix}_bwt2merged.bam") into bwt2_merged_bam
set val(prefix), file("${prefix}.mapstat") into all_mapstat
script: script:
sample = prefix.toString() - ~/(_R1|_R2|_val_1|_val_2)/ sample = prefix.toString() - ~/(_R1|_R2|_val_1|_val_2)/
...@@ -485,6 +486,9 @@ process merge_mapping_steps{ ...@@ -485,6 +486,9 @@ process merge_mapping_steps{
${prefix}_bwt2merged.bam ${prefix}_bwt2merged.bam
mv ${prefix}_bwt2merged.sorted.bam ${prefix}_bwt2merged.bam mv ${prefix}_bwt2merged.sorted.bam ${prefix}_bwt2merged.bam
if [[ "${prefix}" =~ _R1|_val_1 ]]; then mapping_stat.sh ${bam1} ${bam2} ${prefix}_bwt2merged.bam "R1" > ${prefix}.mapstat; fi
if [[ "${prefix}" =~ _R2|_val_2 ]]; then mapping_stat.sh ${bam1} ${bam2} ${prefix}_bwt2merged.bam "R2" > ${prefix}.mapstat; fi
""" """
} }
...@@ -498,7 +502,7 @@ process combine_mapped_files{ ...@@ -498,7 +502,7 @@ process combine_mapped_files{
output: output:
set val(sample), file("${sample}_bwt2pairs.bam") into paired_bam set val(sample), file("${sample}_bwt2pairs.bam") into paired_bam
file "*.pairstat" into combine_mapping_results file "*.pairstat" into all_pairstat
script: script:
r1_bam = aligned_bam[0] r1_bam = aligned_bam[0]
...@@ -509,8 +513,9 @@ process combine_mapped_files{ ...@@ -509,8 +513,9 @@ process combine_mapped_files{
def opts = "-t" def opts = "-t"
opts = params.rm_singleton ? "${opts}" : "--single ${opts}" opts = params.rm_singleton ? "${opts}" : "--single ${opts}"
opts = params.rm_multi ? "${opts}" : "--multi ${opts}" opts = params.rm_multi ? "${opts}" : "--multi ${opts}"
if ("$params.min_mapq".isInteger()) opts="${opts} -q ${params.min_mapq}"
""" """
mergeSAM.py -f ${r1_bam} -r ${r2_bam} -o ${sample}_bwt2pairs.bam -q ${params.min_mapq} ${opts} mergeSAM.py -f ${r1_bam} -r ${r2_bam} -o ${sample}_bwt2pairs.bam ${opts}
""" """
} }
...@@ -532,7 +537,7 @@ process get_valid_interaction{ ...@@ -532,7 +537,7 @@ process get_valid_interaction{
output: output:
set val(sample), file("*.validPairs") into valid_pairs set val(sample), file("*.validPairs") into valid_pairs
set val(sample), file("*.validPairs") into valid_pairs_4cool set val(sample), file("*.validPairs") into valid_pairs_4cool
file "*stat" into valid_interaction_results file "*RSstat" into all_rsstat
script: script:
...@@ -541,11 +546,11 @@ process get_valid_interaction{ ...@@ -541,11 +546,11 @@ process get_valid_interaction{
} }
def opts = "" def opts = ""
if (params.min_cis_dist != "") opts="${opts} -d ${params.min_cis_dist}" if ("$params.min_cis_dist".isInteger()) opts="${opts} -d ${params.min_cis_dist}"
if (params.min_insert_size != "") opts="${opts} -s ${params.min_insert_size}" if ("$params.min_insert_size".isInteger()) opts="${opts} -s ${params.min_insert_size}"
if (params.max_insert_size != "") opts="${opts} -l ${params.max_insert_size}" if ("$params.max_insert_size".isInteger()) opts="${opts} -l ${params.max_insert_size}"
if (params.min_restriction_fragment_size != "") opts="${opts} -t ${params.min_restriction_fragment_size}" if ("$params.min_restriction_fragment_size".isInteger()) opts="${opts} -t ${params.min_restriction_fragment_size}"
if (params.max_restriction_fragment_size != "") opts="${opts} -m ${params.max_restriction_fragment_size}" if ("$params.max_restriction_fragment_size".isInteger()) opts="${opts} -m ${params.max_restriction_fragment_size}"
""" """
mapped_2hic_fragments.py -f ${frag_file} -r ${pe_bam} ${opts} mapped_2hic_fragments.py -f ${frag_file} -r ${pe_bam} ${opts}
...@@ -580,7 +585,7 @@ if ( params.splitFastq ){ ...@@ -580,7 +585,7 @@ if ( params.splitFastq ){
process build_contact_maps{ process build_contact_maps{
tag "$sample - $mres" tag "$sample - $mres"
publishDir "${params.outdir}/hic_results/maps/iced", mode: 'copy' publishDir "${params.outdir}/hic_results/matrix/raw", mode: 'copy'
input: input:
set val(sample), file(vpairs), val(mres) from all_valid_pairs.combine(map_res) set val(sample), file(vpairs), val(mres) from all_valid_pairs.combine(map_res)
...@@ -651,8 +656,8 @@ process multiqc { ...@@ -651,8 +656,8 @@ process multiqc {
input: input:
file multiqc_config from ch_multiqc_config file multiqc_config from ch_multiqc_config
file ('mapping/stats/*') from combine_mapping_results.collect() //file ('mapping/stats/*') from combine_mapping_results.collect()
file ('hic_results/data/stats/*') from valid_interaction_results.collect() //file ('hic_results/data/stats/*') from valid_interaction_results.collect()
file ('software_versions/*') from software_versions_yaml file ('software_versions/*') from software_versions_yaml
file workflow_summary from create_workflow_summary(summary) file workflow_summary from create_workflow_summary(summary)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment