GithubHelp home page GithubHelp logo

billzt / primerserver2 Goto Github PK

View Code? Open in Web Editor NEW
71.0 6.0 14.0 984 KB

PrimerServer2: a high-throughput primer design and specificity-checking platform

License: GNU General Public License v3.0

Python 52.95% Shell 0.24% CSS 3.27% JavaScript 29.06% HTML 14.48%
primer-design thermodynamics html5 d3js blast throughput-primer specific-primers

primerserver2's Introduction

PrimerServer2

PrimerServer2: a high-throughput primer design and specificity-checking platform

screenshot

Description

PrimerServer was proposed to design genome-wide specific PCR primers. It uses candidate primers produced by Primer3, uses BLAST and nucleotide thermodynamics to search for possible amplicons and filters out specific primers for each site. By using multiple threads, it runs very fast, ~0.4s per site in our case study for more than 10000 sites.

This repository is based on Python3 and acts as the successor of legacy PrimerServer.

External Dependencies

Add these two softwares to your system PATH

Install

Don't use Python 3.9 or above since the primer3-py module hasn't supported Python 3.9 yet.

conda create -n primer python=3.8
conda activate primer

Via PIP (release only)

$ pip3 install primerserver2

Via Github

$ git clone https://github.com/billzt/PrimerServer2.git
$ cd PrimerServer2
$ python3 setup.py install

Run testing commands

** (if installed from pip,) tests/query_design_multiple and tests/example.fa can be obtained from this github repository.

** full mode: design primers and check specificity
$ primertool full tests/query_design_multiple tests/example.fa

** design mode: design primers only
$ primertool design tests/query_design_multiple tests/example.fa

** check mode: check specificity only
$ primertool check tests/query_check_multiple tests/example.fa

Input Format (The First Parameter)

in FASTA Format

If you have parts of template sequences, you can directly input in FASTA format:

>site1
TGTGATATTAAGTAAAGGAACATTAAACAATCTCGACACCAGATTGAATATCGATACAGA
TACCCCAACTGCCGCCAATTCAACCGACCCTTCACCACAAAAAAACTAATATTTATCAGC
CAATA[GTTACCTGTGTG]ATTAATAGATAAAGCTACAAAAGCAAGCTTGGTATGATAGT
TAATAATAAAAAAAGAAAAAACAAGTATCCAAATGGCCAACAAAGGCTGTATCAACAAGT
>site2
ACCAGATTGAATATCGATACAGATACCCCAACTGCCGCCAATTCAACCGACCCTTCACCA
CAAAAAAACTAATATTTATCA[GC]CAATAGTTACCTGTGTGATTAATAGATAAAGCTAC
AAGCAAGCTTGGTATGATAGTATTAATAATAAAAAAAGAAAAACAAGTATCCAAATGGCC

Note there is a pair of square brackets [] indicating target in each sequences. It means primers should be put around the target. This is the default mode.

in Text Format

If you have genomic coordinates for each site (e.g. SNPs), you can input coordinates like:

seq1 200 10
seq1 400 10

It means that two sites (one site per line) are needed to design primers. The first site is in seq1 and starts in position 200 and the region length is 10 (means seq1:200-209). The second site is in seq1 and starts in position 400 and the region length is 10 (means seq1:400-409).

For details, see the wiki.

Need to run the Web UI?

Please refer to the wiki.

Warning: About the reference genome

If you use reference genomes with many unplaced scaffolds, be caution since such scaffolds with great homology with main chromosomes might influence your results. If possible, delete (some or all of ) these unplaced scaffolds. For the human genome, we recommend the no_alt_analysis_set, which has all the PAR regions marked with N, to be used.

Comparison of the CLI and Web version

CLI Web UI
Design primers ✔️ ✔️
Checking specificity ✔️ ✔️
Progress monitor ✔️ ✔️
Number of tasks High Low
Alternative isoforms ✔️
Exon-exon junction ✔️
Pick internal oligos ✔️
Custom Tm temperature ✔️
Custom max amplicons ✔️
Visualization ✔️

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.