A tool for Genome Specific Primers design in polyploid species
C++ CMake
Latest commit 428a2f3 Mar 5, 2016 @bioinfogenome upload
Failed to load latest commit information.



A tool for Genome Specific Primers design in polyploid species

In a polyploid species, genes from the homeologous genomes exhibit a very high sequence similarity, especially in the coding regions. This makes it difficult to design genome-specific primers to amplify specific sequences from the individual genomes in the polyploid genome background. Development of genome-specific primers for important genes in polyploid species is very useful and critical not only for the study of sequence diversity and association mapping of genes in natural populations, but also for the development of gene-based functional markers for marker-assisted breeding. GSP is a powerful tool for designing genome-specific primers that can distinguish the sequences among different genomes in a polypoid species. In additoon, GSP also allow user to design specific priemrs in multiple sequence alignment.

Web server: http://probes.pw.usda.gov/GSP/


There is number of additional dependencies not provided by GSP authors. Additional programs include:
1. bedtools: a powerful toolset for genome arithmetic (http://bedtools.readthedocs.org/en/latest/).
2. Muscle: Multiple sequence alignment program (http://www.drive5.com/muscle/).
3. Primer3: program for designing PCR primers (http://primer3.sourceforge.net/).


  1. Download and upzip.
  2. Enter the directory after extracting.
  3. type "cmake ./src"
  4. type "make"

1. If cmake is not installed, please go to https://cmake.org/.
2. If Boost is not installed, please go to http://www.boost.org/.


The project folder contains an excutable GSP file and the bin folder contains the executable files of the dependencies, all of them has tested in Ubuntu 14.04 (64-bit).


Before using GSP, please generate a blast result (tab format). For example, using query sequences blast polyploid genome.

Usage: GSP
-r       blast table result path
-d       sequence database path (blast database path)
-a       fasta file path (for design specefic priemrs in multiple sequences only)
-b       bedtools path (default: bedtools)
-m       muscle path (default: muscle)
-p       primer3 path (default: primer3_core)
-t       primer3 parameters file path
-o       output path
-q       number of hit sequences for perimer design of each query (default: 3)
-f       hit sequence flanking length (default: 200)
-s       product min size (default: 200)
-l       product max size (default: 1000)
-c       different site in primer (default: 2)
-e       different site in 3 end of primer (default: No)

1. Make sure that the dependencies (bedtools, muscle, primer3_core) are in the $PATH. If not, they must be specified (-b, -m, -p).
2. Please use absolute path

Example 1:
Design specific primers in polyploid based on blast result.

./GSP -r ./example/example1/blast.tab -d ./example/example1/sequences.fas -b ./bin/bedtools -m ./bin/muscle -p ./bin/primer3_core -o ./example1_result.csv -q 3

Example 2:
Design specific primers of multiple sequences.

./GSP -a ./example/example2/sequences.fas -b ./bin/bedtools -m ./bin/muscle -p ./bin/primer3_core -o ./example2_result.csv

Example 3:
Design specific primers in polyploid based on blast result with primer parameters setting.

./GSP -r ./example/example3/blast.tab -d ./example/example3/sequences.fas -b ./bin/bedtools -m ./bin/muscle -p ./bin/primer3_core -o ./example3_result.csv -q 3 -t ./example/example3/parameter_for_primer