Skip to content
/ RNAit Public
forked from bartongroup/RNAit

Reimplementation of RNAit RNAi primer selection tool

Notifications You must be signed in to change notification settings



Folders and files

Last commit message
Last commit date

Latest commit



65 Commits

Repository files navigation


Reimplementation of RNAit RNAi primer selection tool

RNAit is a tool for selecting RNAi primers for Trypanosome genomes, originally implemented in Perl (see Redmond et al. (2003) RNAit: an automated web-based tool for the selection of RNAi targets in Trypanosoma brucei, Mol. Biochem. Parasitol.)

This is a reimplementation to replace the now offline original deployment

Setting up a development instance (MacOS)

bash 4 is required for helper scripts, whereas the MacOS default is 3.2, so grab a newer version with brew...

brew install bash

Create a conda environment, and add the RNAIT_ROOT variable to point to the location of the RNAit software....

conda create -n RNAit
mkdir -p ~/miniconda3/envs/RNAit/etc/conda/activate.d
mkdir -p ~/miniconda3/envs/RNAit/etc/conda/deactivate.d
echo '#!/bin/env bash' > ~/miniconda3/envs/RNAit/etc/conda/activate.d/
echo "export RNAIT_ROOT=/path/to/RNAIT/" >>  ~/miniconda3/envs/RNAit/etc/conda/activate.d/
echo '#!/bin/env bash' > ~/miniconda3/envs/RNAit/etc/conda/deactivate.d/
echo "unset RNAIT_ROOT" >>  ~/miniconda3/envs/RNAit/etc/conda/deactivate.d/
source activate RNAit

We need to install nginx,uwsgi,nodejs,biopython,primer3,primer3-py and blast from conda, and symlink the nginx config in place...

conda install nginx uwsgi nodejs biopython primer3 primer3-py blast pyyaml
mv $CONDA_PREFIX/etc/nginx/sites.d/default-site.conf $CONDA_PREFIX/etc/nginx/sites.d/default-site.conf.hiding
ln -s ${RNAIT_ROOT}/etc/nginx-site.conf $CONDA_PREFIX/etc/nginx/sites.d/

The node.js broken-link-checker is used for verifying HTML pages, while vnu (available via brew) is used for HTML syntax validation

npm install -g broken-link-checker
brew install vnu
brew install java

Syntax and link checking is carried out using bin/ Ensure the correct path to the vnu installation is set in the script, since this will vary according to the version when installed with brew...

etc/uwsgi will need to be edited to set correct paths dependent upon the location of the RNAit directory

The nginx and uwsgi instances can be started and stopped using:


UWSGI can be made to reload the python scripts when these are modified by touching the uwsgi/reload file.

Setting up a production instance

TODO: WriteMe!

Blast Databases

Blast databases are obtained where possible from CDS sequences from ensembl distributions. Each database has a 'short name' which is the blast database name and is the value passed through the 'database' form parameter.

When adding a database, it also needs to be added to the 'database' input field of htdocs/index.html, and it's short name to the params_check.database which is used for server-side paramater validation.

Details on the databases are as follows:

Species Short name Source file Source
Trypanosoma brucei TREU927 TbruceiTREU927 TriTrypDB-37_TbruceiTREU927_AnnotatedCDSs.fasta TryTrypDB Release 39
Trypanosoma brucei lister 427 TbruceiLister427 TriTrypDB-37_TbruceiLister427_AnnotatedCDSs.fasta TryTrypDB Release 39
Trypanosoma brucei gambiense DAL972 TbruceiGambienseDAL972 TriTrypDB-37_TbruceigambienseDAL972_AnnotatedCDSs.fasta TryTrypDB Release 39
Trypanosoma congolense IL3000 TcongolenseIL3000 TriTrypDB-37_TcongolenseIL3000_AnnotatedCDSs.fasta TryTrypDB Release 39


Reimplementation of RNAit RNAi primer selection tool






No releases published




  • HTML 57.8%
  • Python 35.3%
  • JavaScript 2.7%
  • CSS 2.5%
  • Shell 1.7%