Skip to content

Add a new Pipeline to MACSEK

goymann edited this page Jan 7, 2020 · 21 revisions

To add a new Pipeline to MACSEK you first of all have to write a nextflow pipeline. The entry files for the Pipeline will be present in the same folder as the Pipeline start. So the input Channel of the nextflow pipeline must search for the input files in the present directory. The results must be saved also in the present directory in a Folder called 'out/'. In the up coming example we will add a fastqc/multiqc Pipeline to MACSEK. As disribed above write a pipeline with these requirements. The fastqc/multiqc Pipleine would be look like this.

Channel.fromPath('*.fq').set{channel_fastqc_file} \\input channel gets fastq file 

process fastqc{

  publishDir 'out/', mode:'copy' //the direcotry for the results
  maxForks 10 //restriction for number of Jobs startet in Parallel on your cluster 
  cpus 4 //if their are restrictions in Ressources on your Cluster add the CPUS and memory per Job as shown here
  memory '4 GB'
  input:
    file(fastq) from channel_fastqc_file
  output:
    file('*')
    file ('*.zip') into channel_multiqc
  script:
    """
      fastqc $fastq
    """
}

process multiqc{
  publishDir 'out/', mode:'copy' //the direcotry for the results
  maxForks 10 //restriction for number of Jobs startet in Parallel on the cluster 
  cpus 4 //if their are restrictions in ressources on your Cluster add the CPUS and memory per Job as shown here
  memory '4 GB'
  input:
    file(fastqc_result) from  channel_multiqc
  output:
    file('*')

  script:
    """
      multiqc $fastqc_result
    """
}