Skip to content
This repository has been archived by the owner on Aug 6, 2019. It is now read-only.

For System Administrators: Installation

billzt edited this page Sep 7, 2017 · 6 revisions

Requirements

Environment

  • OS: Linux
  • Environment: Perl (>=5.10), PHP (>=5.3) together with HTTP service

Software

Please set up Primer3 carefully to make sure it works properly, especially the PRIMER_THERMODYNAMIC_PARAMETERS_PATH

It must be BLAST+, not the legacy BLAST

Installation

  1. Clone the repository to a location where your HTTP server can visit
$ cd /var/www/html/
$ git clone https://github.com/billzt/PrimerServer.git
  1. (Important) Make the directory save writable by your HTTP server. For example, if you are using Apache HTTP server on CentOS system, you might try:
$ cd PrimerServer
$ sudo chgrp apache save
$ sudo chmod 775 save

For other HTTP server (such as Nigix) or other Linux distribution (such as Ubuntu), please refer to their documents

  1. Copy the configuration file as config.ini and do some necessary configuration.
$ cp config.sample.ini config.ini
  1. Visit on your web browser as: http://your.domain/PrimerServer

Configuration

Mandatory

  • Software Path (Absolute):
samtools = "/path/to/samtools"
primer3 = "/path/to/primer3_core"
blastn = "/path/to/blastn"
makeblastdb = "/path/to/makeblastdb"
  • NCBI BLAST Database Directory (Absolute):
database = "/path/to/db"

For tests, you can copy the example files in directory test_data to /path/to/db. In order to learn how to build your own BLAST database, see below.

Recommend

  • System Configuration
useCPU = 20

The number of CPUs used by PrimerServer. Suggesting to set it as many as possible, as this would strongly affect the running time.

showInfo = false

Whether to show detailed information of your server on the web UI. If you are deploying a product app, please turn it to false.
If you are deploying a developing or intranet app, you can turn it to true.

removeTmp = true

Whether to delete the tempory files after users closing the window. If you want to debug, please turn it to false.

Optional (The default values are usually OK)

limitSite = 100

The maximum number of input sites in a single run when design primers. Lower it if your server is poor.

limitPrimer = 1000

The maximum number of input primers in a single run when directly checking specificity. Lower it if your server is poor.

limitDatabase = 4

The maximum number of selected databases when doing specificity checking. Lower it if your server is poor.

; Database Alias
[Database.Cateogry1]
File1 = "Alias1"
File2 = "Alias2"

[Database.Cateogry2]
File3 = "Alias3"
File4 = "Alias4"

[Database.Example]
example.fa = "Example Database"

All the database items would be shown in a selection list. If you want to group your databases (For example, group by animal, plant, fungi, ...), you can add this setting. The keys should be database names and must be simple words (avoiding any special characters), and the values can be any descriptive words.

Test

A test database (including two sequences) has already been placed in the test_data directory. Copy all the five files to your database directory specified in the file config.ini

Test Primer Design

  1. Select the template database: Example Database
  2. Input Sites:
seq1 200 10
seq1 400 10
  1. Select the checking database: Example Database
  2. Run (time costs: ~2s)

If you see results like this, then it is OK

Test Specificity Check

  1. Input Primer sequences:
P1 CTTCTGCAATGCCAAGTCCAG   GTGGTGAAGGGTCGGTTGAA
P2 ACCAAACCCCAGAGTCAATTAA  TCTATCTATTGCACTGCCTGTTG
  1. Select the checking database: Example Database
  2. Run (time costs: ~0.5s)

If you see results like this, then it is OK

Test Result Saving

After running, click the save icon in the bottom. A modal would pop out to confirm your results. After confirmation, you would be taken to the result's page. If you see a table like this, then it is OK

Database Preparation

To prepare new databases, you need a FASTA file containing the genome (or cDNA) sequences. Place it in your database directory specified in the file config.ini. Then:

$ samtools faidx genome.fa
$ makeblastdb -dbtype nucl -in genome.fa

After this finished, you can add alias to your file config.ini.

About the save directory

Each result saved by users would be created as a HTML file in the save directory. As a System Administrator, you can delete files such as those too old (for example, ten years ago, 😄). Files deleted by system administrators would represented as a ❎ mark such as: