Skip to content
Snippets Groups Projects
Commit 1d54341f authored by nservant's avatar nservant
Browse files

[MODIF] issue with stats file

parent e2783e11
No related branches found
No related tags found
No related merge requests found
...@@ -682,15 +682,15 @@ else{ ...@@ -682,15 +682,15 @@ else{
process remove_duplicates { process remove_duplicates {
tag "$sample" tag "$sample"
label 'process_highmem' label 'process_highmem'
publishDir "${params.outdir}/hicpro/valid_pairs", mode: params.publish_dir_mode publishDir "${params.outdir}/hicpro/valid_pairs", mode: params.publish_dir_mode,
saveAs: {filename -> filename.endsWith("stat") ? "stats/$filename" : "$filename"}
input: input:
set val(sample), file(vpairs) from valid_pairs.groupTuple() set val(sample), file(vpairs) from valid_pairs.groupTuple()
output: output:
set val(sample), file("*.allValidPairs") into ch_vpairs, ch_vpairs_cool set val(sample), file("*.allValidPairs") into ch_vpairs, ch_vpairs_cool
file("stats/") into mqc_mergestat file("stats/") into mqc_mergestat
file("stats/*/*") into all_mergestat file("*mergestat") into all_mergestat
script: script:
if ( ! params.keep_dups ){ if ( ! params.keep_dups ){
...@@ -701,26 +701,32 @@ process remove_duplicates { ...@@ -701,26 +701,32 @@ process remove_duplicates {
sort -S 50% -k2,2V -k3,3n -k5,5V -k6,6n -m ${vpairs} | \ sort -S 50% -k2,2V -k3,3n -k5,5V -k6,6n -m ${vpairs} | \
awk -F"\\t" 'BEGIN{c1=0;c2=0;s1=0;s2=0}(c1!=\$2 || c2!=\$5 || s1!=\$3 || s2!=\$6){print;c1=\$2;c2=\$5;s1=\$3;s2=\$6}' > ${sample}.allValidPairs awk -F"\\t" 'BEGIN{c1=0;c2=0;s1=0;s2=0}(c1!=\$2 || c2!=\$5 || s1!=\$3 || s2!=\$6){print;c1=\$2;c2=\$5;s1=\$3;s2=\$6}' > ${sample}.allValidPairs
echo -n "valid_interaction\t" > stats/${sample}/${sample}_allValidPairs.mergestat echo -n "valid_interaction\t" > ${sample}_allValidPairs.mergestat
cat ${vpairs} | wc -l >> stats/${sample}/${sample}_allValidPairs.mergestat cat ${vpairs} | wc -l >> ${sample}_allValidPairs.mergestat
echo -n "valid_interaction_rmdup\t" >> stats/${sample}/${sample}_allValidPairs.mergestat echo -n "valid_interaction_rmdup\t" >> ${sample}_allValidPairs.mergestat
cat ${sample}.allValidPairs | wc -l >> stats/${sample}/${sample}_allValidPairs.mergestat cat ${sample}.allValidPairs | wc -l >> ${sample}_allValidPairs.mergestat
## Count short range (<20000) vs long range contacts ## Count short range (<20000) vs long range contacts
awk 'BEGIN{cis=0;trans=0;sr=0;lr=0} \$2 == \$5{cis=cis+1; d=\$6>\$3?\$6-\$3:\$3-\$6; if (d<=20000){sr=sr+1}else{lr=lr+1}} \$2!=\$5{trans=trans+1}END{print "trans_interaction\\t"trans"\\ncis_interaction\\t"cis"\\ncis_shortRange\\t"sr"\\ncis_longRange\\t"lr}' ${sample}.allValidPairs >> stats/${sample}/${sample}_allValidPairs.mergestat awk 'BEGIN{cis=0;trans=0;sr=0;lr=0} \$2 == \$5{cis=cis+1; d=\$6>\$3?\$6-\$3:\$3-\$6; if (d<=20000){sr=sr+1}else{lr=lr+1}} \$2!=\$5{trans=trans+1}END{print "trans_interaction\\t"trans"\\ncis_interaction\\t"cis"\\ncis_shortRange\\t"sr"\\ncis_longRange\\t"lr}' ${sample}.allValidPairs >> ${sample}_allValidPairs.mergestat
## For MultiQC
mkdir -p stats/${sample}
cp ${sample}_allValidPairs.mergestat stats/${sample}/
""" """
}else{ }else{
""" """
mkdir -p stats/${sample}
cat ${vpairs} > ${sample}.allValidPairs cat ${vpairs} > ${sample}.allValidPairs
echo -n "valid_interaction\t" > stats/${sample}/${sample}_allValidPairs.mergestat echo -n "valid_interaction\t" > ${sample}_allValidPairs.mergestat
cat ${vpairs} | wc -l >> stats/${sample}/${sample}_allValidPairs.mergestat cat ${vpairs} | wc -l >> ${sample}_allValidPairs.mergestat
echo -n "valid_interaction_rmdup\t" >> stats/${sample}/${sample}_allValidPairs.mergestat echo -n "valid_interaction_rmdup\t" >> ${sample}_allValidPairs.mergestat
cat ${sample}.allValidPairs | wc -l >> stats/${sample}/${sample}_allValidPairs.mergestat cat ${sample}.allValidPairs | wc -l >> ${sample}_allValidPairs.mergestat
## Count short range (<20000) vs long range contacts ## Count short range (<20000) vs long range contacts
awk 'BEGIN{cis=0;trans=0;sr=0;lr=0} \$2 == \$5{cis=cis+1; d=\$6>\$3?\$6-\$3:\$3-\$6; if (d<=20000){sr=sr+1}else{lr=lr+1}} \$2!=\$5{trans=trans+1}END{print "trans_interaction\\t"trans"\\ncis_interaction\\t"cis"\\ncis_shortRange\\t"sr"\\ncis_longRange\\t"lr}' ${sample}.allValidPairs >> stats/${sample}/${sample}_allValidPairs.mergestat awk 'BEGIN{cis=0;trans=0;sr=0;lr=0} \$2 == \$5{cis=cis+1; d=\$6>\$3?\$6-\$3:\$3-\$6; if (d<=20000){sr=sr+1}else{lr=lr+1}} \$2!=\$5{trans=trans+1}END{print "trans_interaction\\t"trans"\\ncis_interaction\\t"cis"\\ncis_shortRange\\t"sr"\\ncis_longRange\\t"lr}' ${sample}.allValidPairs >> ${sample}_allValidPairs.mergestat
## For MultiQC
mkdir -p stats/${sample}
cp ${sample}_allValidPairs.mergestat stats/${sample}/
""" """
} }
} }
...@@ -728,14 +734,15 @@ process remove_duplicates { ...@@ -728,14 +734,15 @@ process remove_duplicates {
process merge_stats { process merge_stats {
tag "$ext" tag "$ext"
label 'process_low' label 'process_low'
publishDir "${params.outdir}/hicpro/", mode: params.publish_dir_mode publishDir "${params.outdir}/hicpro/", mode: params.publish_dir_mode,
saveAs: {filename -> filename.endsWith("stat") ? "stats/$filename" : "$filename"}
input: input:
set val(prefix), file(fstat) from all_mapstat.groupTuple().concat(all_pairstat.groupTuple(), all_rsstat.groupTuple()) set val(prefix), file(fstat) from all_mapstat.groupTuple().concat(all_pairstat.groupTuple(), all_rsstat.groupTuple())
output: output:
file("stats/") into mqc_mstats file("stats/") into mqc_mstats
file("stats/*/*") into all_mstats file("*stat") into all_mstats
script: script:
sample = prefix.toString() - ~/(_R1|_R2|_val_1|_val_2|_1|_2)/ sample = prefix.toString() - ~/(_R1|_R2|_val_1|_val_2|_1|_2)/
...@@ -743,8 +750,9 @@ process merge_stats { ...@@ -743,8 +750,9 @@ process merge_stats {
if ( (fstat =~ /.pairstat/) ){ ext = "mpairstat" } if ( (fstat =~ /.pairstat/) ){ ext = "mpairstat" }
if ( (fstat =~ /.RSstat/) ){ ext = "mRSstat" } if ( (fstat =~ /.RSstat/) ){ ext = "mRSstat" }
""" """
merge_statfiles.py -f ${fstat} > ${prefix}.${ext}
mkdir -p stats/${sample} mkdir -p stats/${sample}
merge_statfiles.py -f ${fstat} > stats/${sample}/${prefix}.${ext} cp ${prefix}.${ext} stats/${sample}/
""" """
} }
......
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