Add Nextflow pipeline for PROPKA with Docker configuration
Some checks failed
Tests / build (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.8) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.9) (push) Has been cancelled
Tests / build (windows-latest, 3.10) (push) Has been cancelled
Tests / build (windows-latest, 3.11) (push) Has been cancelled
Tests / build (windows-latest, 3.12) (push) Has been cancelled
Tests / build (windows-latest, 3.8) (push) Has been cancelled
Tests / build (windows-latest, 3.9) (push) Has been cancelled
Tests / static_type_check (push) Has been cancelled
Some checks failed
Tests / build (ubuntu-latest, 3.10) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.11) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.12) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.8) (push) Has been cancelled
Tests / build (ubuntu-latest, 3.9) (push) Has been cancelled
Tests / build (windows-latest, 3.10) (push) Has been cancelled
Tests / build (windows-latest, 3.11) (push) Has been cancelled
Tests / build (windows-latest, 3.12) (push) Has been cancelled
Tests / build (windows-latest, 3.8) (push) Has been cancelled
Tests / build (windows-latest, 3.9) (push) Has been cancelled
Tests / static_type_check (push) Has been cancelled
This commit is contained in:
23
Dockerfile
Normal file
23
Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
FROM python:3.10-slim-bullseye
|
||||
|
||||
# Update and install basic utilities and dependencies
|
||||
RUN apt-get update -y \
|
||||
&& apt-get -y upgrade --fix-missing \
|
||||
&& apt-get -y install git procps coreutils \
|
||||
build-essential \
|
||||
gcc \
|
||||
python3-dev \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /workspace
|
||||
|
||||
# Install PROPKA with dependencies
|
||||
RUN pip install --no-cache-dir numpy pytest \
|
||||
&& pip install --no-cache-dir propka
|
||||
|
||||
# Make propka3 available in PATH (should already be in path from pip install)
|
||||
ENV PATH="/usr/local/bin:${PATH}"
|
||||
|
||||
# Test that the installation worked
|
||||
RUN propka3 --help
|
||||
30
main.nf
Normal file
30
main.nf
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl=2
|
||||
|
||||
params.pdb = "/mnt/OmicNAS/private/old/olamide/propka/input/1HPX.pdb"
|
||||
params.outdir = "/mnt/OmicNAS/private/old/olamide/propka/output"
|
||||
params.ph = 7.0
|
||||
params.options = ""
|
||||
|
||||
process PROPKA {
|
||||
container 'propka:latest'
|
||||
publishDir params.outdir, mode: 'copy'
|
||||
|
||||
input:
|
||||
path pdb
|
||||
|
||||
output:
|
||||
path "${pdb.baseName}.pka", emit: pka_file
|
||||
path "run.log"
|
||||
|
||||
script:
|
||||
"""
|
||||
propka3 ${params.options} --pH ${params.ph} ${pdb} 2>&1 | tee run.log
|
||||
"""
|
||||
}
|
||||
|
||||
workflow {
|
||||
pdb_files = Channel.fromPath(params.pdb)
|
||||
PROPKA(pdb_files)
|
||||
}
|
||||
37
nextflow.config
Normal file
37
nextflow.config
Normal file
@@ -0,0 +1,37 @@
|
||||
// Manifest for Nextflow metadata
|
||||
manifest {
|
||||
name = 'PROPKA-Nextflow'
|
||||
author = 'Generated from PROPKA repository'
|
||||
homePage = 'https://github.com/jensengroup/propka'
|
||||
description = 'Nextflow pipeline for PROPKA - Empirical pKa prediction for proteins and protein-ligand complexes'
|
||||
mainScript = 'main.nf'
|
||||
version = '1.0.0'
|
||||
}
|
||||
|
||||
// Global default parameters
|
||||
params {
|
||||
pdb = "/mnt/OmicNAS/private/old/olamide/propka/input/1HPX.pdb"
|
||||
outdir = "/mnt/OmicNAS/private/old/olamide/propka/output"
|
||||
ph = 7.0
|
||||
options = ""
|
||||
}
|
||||
|
||||
// Container configurations
|
||||
docker {
|
||||
enabled = true
|
||||
runOptions = ''
|
||||
}
|
||||
|
||||
// Process configurations
|
||||
process {
|
||||
cpus = 1
|
||||
memory = '4 GB'
|
||||
}
|
||||
|
||||
// Execution configurations
|
||||
executor {
|
||||
$local {
|
||||
cpus = 2
|
||||
memory = '4 GB'
|
||||
}
|
||||
}
|
||||
69
params.json
Normal file
69
params.json
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"params": {
|
||||
"pdb": {
|
||||
"type": "file",
|
||||
"description": "Path pattern to PDB files for pKa prediction",
|
||||
"default": "/mnt/OmicNAS/private/old/olamide/propka/input/1HPX.pdb",
|
||||
"required": true,
|
||||
"pipeline_io": "input",
|
||||
"var_name": "params.pdb",
|
||||
"examples": [
|
||||
"/mnt/OmicNAS/private/old/olamide/propka/input/protein.pdb",
|
||||
"/mnt/OmicNAS/private/old/olamide/propka/input/*.pdb"
|
||||
],
|
||||
"pattern": ".*\\.pdb$",
|
||||
"enum": [],
|
||||
"validation": {},
|
||||
"notes": "Can be a single PDB file or a pattern to match multiple PDB files."
|
||||
},
|
||||
"outdir": {
|
||||
"type": "folder",
|
||||
"description": "Directory for PROPKA prediction results",
|
||||
"default": "/mnt/OmicNAS/private/old/olamide/propka/output",
|
||||
"required": true,
|
||||
"pipeline_io": "output",
|
||||
"var_name": "params.outdir",
|
||||
"examples": [
|
||||
"/mnt/OmicNAS/private/old/olamide/propka/output",
|
||||
"/path/to/custom/output"
|
||||
],
|
||||
"pattern": ".*",
|
||||
"enum": [],
|
||||
"validation": {},
|
||||
"notes": "Directory where pKa prediction results will be stored. Will be created if it doesn't exist."
|
||||
},
|
||||
"ph": {
|
||||
"type": "number",
|
||||
"description": "pH value for titration calculations",
|
||||
"default": 7.0,
|
||||
"required": false,
|
||||
"pipeline_io": "parameter",
|
||||
"var_name": "params.ph",
|
||||
"examples": [
|
||||
7.0,
|
||||
5.5
|
||||
],
|
||||
"validation": {
|
||||
"min": 0.0,
|
||||
"max": 14.0
|
||||
},
|
||||
"notes": "The pH value used for calculating residue protonation states."
|
||||
},
|
||||
"options": {
|
||||
"type": "string",
|
||||
"description": "Additional command-line options for PROPKA",
|
||||
"default": "",
|
||||
"required": false,
|
||||
"pipeline_io": "parameter",
|
||||
"var_name": "params.options",
|
||||
"examples": [
|
||||
"--titrate_only Asp,Glu",
|
||||
"--window 1.0"
|
||||
],
|
||||
"pattern": ".*",
|
||||
"enum": [],
|
||||
"validation": {},
|
||||
"notes": "Additional command-line options to pass to propka3. See propka3 --help for available options."
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user