Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few fixes #1

Open
wants to merge 7 commits into
base: main
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
5 changes: 4 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ FROM continuumio/miniconda3
WORKDIR /app

# Install supervisord
RUN apt-get update && apt-get install -y supervisor
RUN apt-get update && apt-get install -y supervisor default-jre-headless

# Install slivka-bio using Conda
RUN conda install anaconda-client -n base \
Expand All @@ -17,6 +17,9 @@ COPY ./settings.yml /opt/conda/envs/compbio-services/var/slivka-bio/
# Copy supervisord config
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# Mark services directory as extrernally mounted volume
VOLUME /opt/conda/envs/compbio-services/var/slivka-bio/services

# Expose the port Slivka is running on
EXPOSE 8000

Expand Down
1 change: 1 addition & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ services:
slivka-bio:
build: .
volumes:
- ./services/:/opt/conda/envs/compbio-services/var/slivka-bio/services/:ro
- media:/app/media
ports:
- "8080:8000"
Expand Down
148 changes: 148 additions & 0 deletions services/aacon.service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
---
slivka-version: 0.8.3
name: AACon
description: AACon is a set of tools implementing 17 different conservation
scores reviewed by Valdar as well as the more complex SMERFS algorithm
for predicting protein functional sites.
author: "Agnieszka Golicz, Peter V. Troshin, F\xE1bio Madeira"
version: '1.1'
license: Apache 2.0

classifiers:
- 'Topic :: Computational biology :: Sequence analysis'
- 'Operation :: Analysis :: Sequence analysis :: Sequence alignment analysis
:: Sequence alignment analysis (conservation)'
- 'Operation :: Analysis :: Sequence analysis :: Protein sequence analysis'

parameters:
input:
name: Input file
type: file
required: true
media-type: application/fasta

normalize:
name: Normalize
description: Normalize the results. Normalized results have values between
0 and 1. Please note however, that some results cannot be normalized.
In such a case, the system returns not normalized value. The following
formula is used for normalization n = (d - dmin)/(dmax - dmin). Negative
results first converted to positive by adding a greatest absolute
result value.
type: boolean
required: false
default: false

method:
name: Calculation method
description: The method of the calculation to use
type: choice[]
required: false
default: [shenkin]
choices:
kabat: KABAT
jores: JORES
schneider: SCHNEIDER
shenkin: SHENKIN
gerstein: GERSTEIN
taylor gaps: TAYLOR_GAPS
taylor no gaps: TAYLOR_NO_GAPS
zvelibil: ZVELIBIL
karlin: KARLIN
armon: ARMON
thompson: THOMPSON
not lancet: NOT_LANCET
mirny: MIRNY
williamson: WILLIAMSON
landgraf: LANDGRAF
sander: SANDER
valdar: VALDAR
smerfs: SMERFS

smerfsww:
name: SMERFS Window Width
description: The width of the window for SMERFS. Optional, defaults to 7
type: int
required: false
min: 3
max: 100
default: 7

smerfscs:
name: SMERFS Column Scoring Method
description: 'SMERFS Column Score algorithm defines the window scores
to columns allocation, two methods are possible: MID_SCORE - gives
the window score to the middle column, MAX_SCORE - gives the column
the highest score of all the windows it belongs to. Optional defaults
to MID_SCORE.'
type: choice
required: false
choices:
max score: MAX_SCORE
mid score: MID_SCORE
default: mid score

smerfsgt:
name: SMERFS Gap Threshhold
description: a gap percentage cutoff - a float greater than 0 and smaller
or equal 1. Optional defaults to 0.1
type: float
required: false
min: 0.001
max: 1
default: 0.1

command:
- bash
- ${SLIVKA_HOME}/bin/AACon.sh

args:
input:
arg: -i=$(value)
symlink: data.align
normalize:
arg: -n
method:
arg: -m=$(value)
join: ','
smerfsww:
arg: -smerfsWW=$(value)
smerfscs:
arg: -smerfsCS=$(value)
smerfsgt:
arg: -smerfsGT=$(value)
_const0:
arg: -d=stat.txt
default: present
_const1:
arg: -f=RESULT_NO_ALIGNMENT
default: present
_const2:
arg: -o=output.txt
default: present

outputs:
raw-output:
path: output.txt
media-type: text/plain
jalview-annotations:
path: aacon.jvannot
media-type: application/jalview-annotations
log:
path: stat.txt
media-type: text/plain
error-log:
path: stderr
media-type: text/plain

execution:
runners:
default:
type: SlivkaQueueRunner

tests:
- applicable-runners: ["default"]
parameters:
input: ${SLIVKA_HOME}/testdata/uniref50.fa
timeout: 5
...
133 changes: 133 additions & 0 deletions services/clustalo.service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
slivka-version: 0.8.3
name: ClustalO
description: Clustal Omega is the latest addition to the Clustal family.
It offers a significant increase in scalability over previous versions,
allowing hundreds of thousands of sequences to be aligned in only
a few hours. It will also make use of multiple processors, where present.
In addition, the quality of alignments is superior to previous versions,
as measured by a range of popular benchmarks.
author: Fabian Sievers, Andreas Wilm, David Dineen, Johannes Söding,
Michael Remmert
version: '1.2.4'
license: GNU GPL ver. 2

classifiers:
- 'Topic :: Computational biology :: Sequence analysis'
- 'Operation :: Analysis :: Sequence analysis :: Sequence alignment :: Multiple
sequence alignment'

parameters:
input:
name: Input file
type: file
required: true
# max-size: 4MB
media-type: application/fasta

dealign:
name: Dealign
description: Dealign input sequences
type: boolean
default: false
required: false

full-distance:
name: Full distance matrix
description: Use full distance matrix for guide-tree calculation (slow;
mBed is default)
type: boolean
default: false
required: false

full-distance-iteration:
name: Full distance matrix for each iteration
description: Use full distance matrix for guide-tree calculation during
iteration (mBed is default)
type: boolean
default: false
required: false

max-hmm-iterations:
name: Max Guide tree iterations
description: Maximum number of HMM iterations
type: int
min: 1
max: 100
default: 1

iterations:
name: Number of iterations (combined)
description: Number of (combined guide tree/HMM) iterations
type: int
min: 1
max: 100
default: 1

max-guidetree-iterations:
name: Max Guide tree iterations
description: Maximum guide tree iterations
type: int
min: 1
max: 100
default: 1

command:
- clustalo

args:
input:
arg: --infile=$(value)
symlink: input.txt
dealign:
arg: --dealign
full-distance:
arg: --full
full-distance-iteration:
arg: --full-iter
max-hmm-iterations:
arg: --max-hmm-iterations=$(value)
iterations:
arg: --iter=$(value)
max-guidetree-iterations:
arg: --max-guidetree-iterations=$(value)
_const0:
arg: --outfile=output.txt
default: present
_const1:
arg: --outfmt=clustal
default: present
_const2:
arg: -v
default: present
_const3:
arg: --log=stat.log
default: present
_const4:
arg: --threads=1
default: present

outputs:
alignment:
path: output.txt
media-type: application/clustal
tree:
path: input.dnd
log:
path: stat.log
media-type: text/plain
error-log:
path: stderr
media-type: text/plain

execution:
runners:
default:
type: SlivkaQueueRunner

tests:
- applicable-runners: ["default"]
parameters:
input: ${SLIVKA_HOME}/testdata/uniref50.fa
timeout: 5
...
Loading