Skip to content
This repository has been archived by the owner on Oct 2, 2020. It is now read-only.

[WIP] pRESTO pipeline #9

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions tools/pRESTO/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.cwl
19 changes: 19 additions & 0 deletions tools/pRESTO/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM debian:testing
RUN apt-get -y update && apt-get install -y --no-install-recommends \
muscle \
vsearch \
python-biopython \
python-numpy \
python-scipy \
python-numpy \
python-pandas \
curl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
ENV p_MAJOR=0
ENV p_MINOR=4
ENV p_PATCH=8
ENV p_ARCHIVE=pRESTO_v${p_MAJOR}.${p_MINOR}.${p_PATCH}.tar.gz
RUN curl -SL \
"http://clip.med.yale.edu/presto/downloadHelper.php?dbTable=presto&downloadFile=${p_ARCHIVE}" \
| tar xzC /usr/local
112 changes: 112 additions & 0 deletions tools/pRESTO/MaskPrimers.py.cwl
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
class: CommandLineTool
id: MaskPrimers.py
label: pRESTO MaskPrimers.py

description: |
usage: MaskPrimers.py [-h] [-v] ...

Removes primers and annotates sequences with primer and barcode identifiers

optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit

subcommands:
Alignment method
align Find primer matches using pairwise local alignment
score Find primer matches by scoring primers at a fixed position

output files:
mask-pass processed reads with successful primer matches.
mask-fail raw reads failing primer identification.

output annotation fields:
SEQORIENT the orientation of the output sequence. Either F (input)
or RC (reverse complement of input).
PRIMER name of the best primer match.
BARCODE the sequence preceding the primer match. Only output when
the --barcode flag is specified.

requirements:
- import: node-engine.cwl

inputs:
- id: "#subcommand"
type: enum
symbols: ["score", "align"]
inputBinding:
position: 0

- id: "#input_files"
type: File
inputBinding:
prefix: "-s"

- id: "#primer_file"
type: File
inputBinding:
prefix: "-p"

- id: "#mode"
type: enum
symbols: ["cut","mask","trim","tag"]
inputBinding:
prefix: "--mode"

- id: "#barcode"
type: boolean
inputBinding:
prefix: "--barcode"

- id: "#start"
type: int
inputBinding:
prefix: "--start"

- id: "#maxerror"
type: float
inputBinding:
prefix: "--maxerror"

- id: "#nproc"
type: int
inputBinding:
prefix: "--nproc"

- id: "#outname"
type: string
inputBinding:
prefix: "--outname"

- id: "#outdir"
type: string
default:"outdir"
inputBinding:
prefix: "--outdir"

- id: "#error_log"
type: string
default: "Pipeline.err"

- id: "#pipeline_log"
type: string
default: "Pipeline.log"

outputs:
- id: "#outputs"
type: File
outputBinding:
glob:
engine: "node-engine.cwl"
script: >
$job.outname + '_quality-pass.fastq'

stdout:
engine: cwl:JsonPointer
script: /job/pipeline_log

# stderr:
# engine: cwl:JsonPointer
# script: /job/error_log

# _primers-pass.fastq
Empty file added workflows/pRESTO/.keep
Empty file.