Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 1.45 KB | None | 0 0
  1. /*
  2.  * PREPROCESSING - Prepare genome intervals for filtering
  3.  */
  4. blacklistChannel = Channel.fromPath(params.blacklist)
  5. process makeGenomeFilter {
  6.     tag "$fasta"
  7.     publishDir "${params.outdir}/reference_genome", mode: 'copy'
  8.  
  9.     input:
  10.     file fasta from fasta_genome_filter
  11.     each file(blacklistFile) from blacklistChannel
  12.  
  13.     output:
  14.     file "$fasta" into genome_fasta                 // FASTA FILE FOR IGV
  15.     file "*.fai" into genome_fai                    // FAI INDEX FOR REFERENCE GENOME
  16.     file "*.txt" into genome_autosomes              // TEXT FILE CONTAINING LISTING OF AUTOSOMAL CHROMOSOMES FOR ATAQV
  17.     file "*.bed" into genome_filter_regions         // BED FILE WITHOUT BLACKLIST REGIONS & MITOCHONDRIAL CONTIG FOR FILTERING
  18.     file "*.sizes" into genome_sizes_mlib_bigwig,   // CHROMOSOME SIZES FILE FOR BEDTOOLS
  19.                         genome_sizes_mrep_bigwig
  20.  
  21.     script:
  22.     blacklist_filter = params.blacklist ? "sortBed -i ${blacklistFile} -g ${fasta}.sizes | complementBed -i stdin -g ${fasta}.sizes" : "awk '{print \$1, '0' , \$2}' OFS='\t' ${fasta}.sizes"
  23.     name_filter = params.mito_name ? "| awk '\$1 !~ /${params.mito_name}/ {print \$0}'": ""
  24.     mito_filter = params.keepMito ? "" : name_filter
  25.     """
  26.    samtools faidx $fasta
  27.    get_autosomes.py ${fasta}.fai ${fasta}.autosomes.txt
  28.    cut -f 1,2 ${fasta}.fai > ${fasta}.sizes
  29.    $blacklist_filter $mito_filter > ${fasta}.include_regions.bed
  30.    """
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement