mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-11-10 20:23:10 +00:00
commit
9036b90eb6
7 changed files with 135 additions and 0 deletions
37
modules/maxquant/lfq/main.nf
Normal file
37
modules/maxquant/lfq/main.nf
Normal file
|
@ -0,0 +1,37 @@
|
|||
process MAXQUANT_LFQ {
|
||||
tag "$meta.id"
|
||||
label 'process_long'
|
||||
conda (params.enable_conda ? "bioconda::maxquant=2.0.3.0=py310hdfd78af_1" : null)
|
||||
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
|
||||
container "https://depot.galaxyproject.org/singularity/maxquant:2.0.3.0--py310hdfd78af_1"
|
||||
} else {
|
||||
container "quay.io/biocontainers/maxquant:2.0.3.0--py310hdfd78af_1"
|
||||
}
|
||||
|
||||
input:
|
||||
tuple val(meta), path(fasta), path(paramfile)
|
||||
path raw
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.txt"), emit: maxquant_txt
|
||||
path "versions.yml" , emit: versions
|
||||
|
||||
when:
|
||||
task.ext.when == null || task.ext.when
|
||||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
||||
"""
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
maxquant: \$(maxquant --version 2>&1 > /dev/null | cut -f2 -d\" \")
|
||||
END_VERSIONS
|
||||
sed \"s_<numThreads>.*_<numThreads>$task.cpus</numThreads>_\" ${paramfile} > mqpar_changed.xml
|
||||
sed -i \"s|PLACEHOLDER|\$PWD/|g\" mqpar_changed.xml
|
||||
mkdir temp
|
||||
maxquant mqpar_changed.xml
|
||||
mv combined/txt/*.txt .
|
||||
"""
|
||||
}
|
52
modules/maxquant/lfq/meta.yml
Normal file
52
modules/maxquant/lfq/meta.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
name: maxquant_lfq
|
||||
description: Run standard proteomics data analysis with MaxQuant, mostly dedicated to label-free. Paths to fasta and raw files needs to be marked by "PLACEHOLDER"
|
||||
keywords:
|
||||
- sort
|
||||
tools:
|
||||
- maxquant:
|
||||
description: MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. License restricted.
|
||||
homepage: None
|
||||
documentation: None
|
||||
tool_dev_url: None
|
||||
doi: ""
|
||||
licence: ["http://www.coxdocs.org/lib/exe/fetch.php?media=license_agreement.pdf"]
|
||||
|
||||
input:
|
||||
- meta:
|
||||
type: map
|
||||
description: |
|
||||
Groovy Map containing sample information
|
||||
e.g. [ id:'test', single_end:false ]
|
||||
|
||||
- raw:
|
||||
type: file
|
||||
description: raw files with mass spectra
|
||||
pattern: "*.{raw,RAW,Raw}"
|
||||
|
||||
- fasta:
|
||||
type: file
|
||||
description: fasta file with protein sequences
|
||||
pattern: "*.{fasta}"
|
||||
|
||||
- parfile:
|
||||
type: file
|
||||
description: MaxQuant parameter file (XML)
|
||||
pattern: "*.{xml}"
|
||||
|
||||
output:
|
||||
- meta:
|
||||
type: map
|
||||
description: |
|
||||
Groovy Map containing sample information
|
||||
e.g. [ id:'test', single_end:false ]
|
||||
- versions:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "versions.yml"
|
||||
- maxquant_txt:
|
||||
type: file
|
||||
description: tables with peptides and protein information
|
||||
pattern: "*.{txt}"
|
||||
|
||||
authors:
|
||||
- "@veitveit"
|
|
@ -1210,6 +1210,10 @@ maxbin2:
|
|||
- modules/maxbin2/**
|
||||
- tests/modules/maxbin2/**
|
||||
|
||||
maxquant/lfq:
|
||||
- modules/maxquant/lfq/**
|
||||
- tests/modules/maxquant/lfq/**
|
||||
|
||||
md5sum:
|
||||
- modules/md5sum/**
|
||||
- tests/modules/md5sum/**
|
||||
|
|
|
@ -430,5 +430,17 @@ params {
|
|||
ncbi_user_settings = "${test_data_dir}/generic/config/ncbi_user_settings.mkfg"
|
||||
}
|
||||
}
|
||||
'proteomics' {
|
||||
'msspectra' {
|
||||
ups_file1 = "${test_data_dir}/proteomics/msspectra/OVEMB150205_12.raw"
|
||||
ups_file2 = "${test_data_dir}/proteomics/msspectra/OVEMB150205_14.raw"
|
||||
}
|
||||
'database' {
|
||||
yeast_ups = "${test_data_dir}/proteomics/database/yeast_UPS.fasta"
|
||||
}
|
||||
'parameter' {
|
||||
maxquant = "${test_data_dir}/proteomics/parameter/mqpar.xml"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
17
tests/modules/maxquant/lfq/main.nf
Normal file
17
tests/modules/maxquant/lfq/main.nf
Normal file
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl = 2
|
||||
|
||||
include { MAXQUANT_LFQ } from '../../../../modules/maxquant/lfq/main.nf' addParams( options: [:] )
|
||||
|
||||
workflow test_maxquant_lfq {
|
||||
|
||||
input = [ [ id:'test' ], // meta map
|
||||
file(params.test_data['proteomics']['database']['yeast_ups'], checkIfExists: true), file(params.test_data['proteomics']['parameter']['maxquant'] , checkIfExists: true)
|
||||
]
|
||||
|
||||
|
||||
rawfiles = [file(params.test_data['proteomics']['msspectra']['ups_file1']) , file(params.test_data['proteomics']['msspectra']['ups_file2'])]
|
||||
|
||||
MAXQUANT_LFQ ( input, rawfiles.collect() )
|
||||
}
|
5
tests/modules/maxquant/lfq/nextflow.config
Normal file
5
tests/modules/maxquant/lfq/nextflow.config
Normal file
|
@ -0,0 +1,5 @@
|
|||
process {
|
||||
|
||||
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
|
||||
|
||||
}
|
8
tests/modules/maxquant/lfq/test.yml
Normal file
8
tests/modules/maxquant/lfq/test.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
- name: maxquant lfq
|
||||
command: nextflow run ./tests/modules/maxquant/lfq -entry test_maxquant_lfq -c tests/config/nextflow.config
|
||||
tags:
|
||||
- maxquant
|
||||
- maxquant/lfq
|
||||
files:
|
||||
- path: output/maxquant/proteinGroups.txt
|
||||
md5sum: 0d0f6aab54fe6dc717d1307bbc207324
|
Loading…
Reference in a new issue