MFEprimer

MFEprimer-3.1 #

Big change from v3.0

Major changes from v3.0 #

  • merge several tools into one single execute file mfeprimer
  • support major platforms: Linux, Mac and Windows
  • bug fixed and faster than v3.0
  • fix thermodynamics calculation bugs for dimers and hairpins
  • local web server version is available

Summary of different versions #

Before getting started, I’d like to make a summary for different versions. Please choose the right version for you.

Title web server by the author command-line local web server
primer number <= 50 no limit usually <= 50
database pre-indexed by the author no limit no limit
user interface graphic and easy to use terminal and requires essential Linux skills graphic and easy to use
users from worldwide the owner usually all members of the institution
workflow no yes and can be integrated into user defined primer design workflows no

1. Web servers maintained by the author‌ #

Online Servers

2. Command-line version #

Install #

  1. Please download the right version for your machine: https://github.com/quwubin/MFEprimer-3.0/releases (take Linux version as an example).
  2. Uncompress the file.
  3. Make sure the file has the execute permission.
  4. Run with option “-h” to get help message. You can rename the file to mfeprimer as you wish.
# download the executable mfeprimer filewget -c https://github.com/quwubin/MFEprimer-3.0/releases/download/v3.1.0/mfeprimer-3.1.0-linux-amd64.gz# uncompress the filegzip -d mfeprimer-3.1.0-linux-amd64.gz# make it executablechmod +x mfeprimer-3.1.0-linux-amd64# test it./mfeprimer-3.1.0-linux-amd64 -hMFEprimer-3.1.0, a functional primer quality control program for checkingnon-specific amplicons, dimers, hairpins and others.Web site: https://www.mfeprimer.com/Cite: Wang, K., Li, H., Xu, Y., Shao, Q., Yi, J., Wang, R., … Qu, W. (2019).MFEprimer-3.0: quality control for PCR primers. Nucleic Acids Research.https://doi.org/10.1093/nar/gkz351.Usage: mfeprimer [flags] mfeprimer [command]Available Commands: dimer analysis primer dimers hairpin analysis primer hairpins help Help about any command index index fasta file for mfeprimer indexcmp Compare the old and the new index file, return false when they are not same spec analysis specificity of primers version print version numberFlags: -b, --bind print specific and nonspecific binding sites and patterns for each primer -d, --db strings [*] database indexed for specificity check: -d hg19.fa -d mrna.fa --diva float concentration of divalent cations [mM] (default 1.5) --dntp float concentration of dNTPs [mM] (default 0.25) -h, --help help for mfeprimer -i, --in string [*] a file contains primer sequences in fasta format -j, --json output in json format -k, --kvalue int k value for format, defaut is 9 (default 9) -S, --maxSize int max product size for the predicted amplicons [bp] (default 2000) -s, --minSize int min product size for the predicted amplicons [bp] --misEnd int mis-match ends to the position of 3' end, 9 (kvalue) for the 9th base from the 3'end (default 9) --misMatch int max allowed mismatches between kmer and its binding sites --misStart int mis-match starts from the position of 3' end, 1 is for the very end of primer. (default 1) --mono float concentration of monovalent cations [mM] (default 50) --oligo float concentration of annealing oligos [nM] (default 50) -o, --out string output file name, e.g., primer.mfe.txt --snp string SNP file name in bed format, e.g., dbsnp151.bed -t, --tm float tm cutoff value to filter the amplicons (default 30)Use 'mfeprimer [command] --help' for more information about a command.

In v3.1.0, I make index,dimer,hairpin as sub-commands to mfeprimer, each sub-command has their own arguments and options to set.

I manually tested the Mac and Linux version, and I will find time to test the Windows version.

Usage #

I’d like to do some examples with sample files, let’s prepare the test files:

# make a test directorymkdir testcd test# chrM.fa as databasewget -c https://github.com/quwubin/MFEprimer-3.0/raw/master/chrM.fa# p.fa test primer sequences in fasta formatwget -c https://github.com/quwubin/MFEprimer-3.0/raw/master/p.fa# snp in bed format to check whether a primers bind to a snp sitewget -c https://github.com/quwubin/MFEprimer-3.0/raw/master/snp.bed# make a softlinkln -s ../mfeprimer-3.1.0-linux-amd64 mfeprimer 

The file tree is:

tree ..├── chrM.fa├── mfeprimer -> ../mfeprimer-3.1.0-linux-amd64├── p.fa└── snp.bed

Index databases #

./mfeprimer index -i chrM.fa

After index, the file tree is:

tree ..├── chrM.fa├── chrM.fa.fai├── chrM.fa.json├── chrM.fa.log├── chrM.fa.primerqc├── chrM.fa.primerqc.fai├── mfeprimer -> ../mfeprimer-3.1.0-linux-amd64├── p.fa└── snp.bed

mfeprimer index will add 5 files with suffixes: “.fai”, “.json”, “.primerqc”, “.primerqc.fai” and “.log”.

Run mfeprimer for full quality control #

# run mfeprimer./mfeprimer -i p.fa -d chrM.fa

Without “-o” options, the result will print to the screen:

MFEprimer-3.0 Primer Quality Reports (2019-10-17 11:29:18)Primer ID Sequence (5'-->3') Length GC Tm Dg Binding Number (bp) (%) (°C) (kcal/mol) Plus Minusp1 CTACAACCCCACCACGTACC 20 60.00 60.55 -22.23 0 0p2 CGTTACACACTTTGCGGCAA 20 50.00 60.47 -22.43 0 0p3 CTTAAATAGGGACCTGTATGAATGGCTC 28 42.86 61.98 -27.11 2 1p4 CCGAAATTTTTAATGCAGGTTTGGTAGT 28 35.71 61.97 -27.14 0 1p5 GGACACTCTATGGGAAAGAGTGTCC 25 52.00 62.91 -26.07 0 1Hairpin List (1)Hairpin 1: p5 Score: 9, Tm = 26.56 °C, Delta G = -4.48 kcal/mol /////////-------\\\\\\\\ GGACACTCTATGGGAAAGAGTGTCCDimer List (1)Dimer 1: p2 x p2 Score: 7, Tm = 14.55 °C, Delta G = -6.09 kcal/molCGTTACACACTTTGCGGCAA ::::.:::: AACGGCGTTTCACACATTGCDescriptions of [ 1 ] potential ampliconsAmpID HitID Size FpTm RpTm FpDg RpDg (bp) (°C) (°C) kcal/mol kcal/mol1 chrM 200 61.93 62.67 -27.40 -28.08Amplicon detailsAmp 1: p3 + p4 ==> chrM Size = 200 bp, GC content = 43.50% F: Tm = 61.93 °C, Delta G = -27.40 kcal/mol R: Tm = 62.67 °C, Delta G = -28.08 kcal/mol Binding sites: 2612(28/28) ... 2811(28/28)>>>p3 1 285' CTTAAATAGGGACCTGTATGAATGGCTC 3' :::::::::::::::::::::::::::: 28115' CTTAAATAGGGACCTGTATGAATGGCTCcacgagggttcagct...acccacaggtcctaaACTACCAAACCTGCATTAAAAATTTCGG 3' 2612 :::::::::::::::::::::::::::: 3' ACTACCAAACCTGCATTAAAAATTTCGG 5' 28 1 p4<<<>Amp_1 p3 + p4 ==> chrMCTTAAATAGGGACCTGTATGAATGGCTCcacgagggttcagctgtctcttacttttaaccagtgaaattgacctgcccgtgaagaggcgggcataacacagcaagacgagaagaccctatggagctttaatttattaatgcaaacagtacctaacaaacccacaggtcctaaACTACCAAACCTGCATTAAAAATTTCGGParameters Primer file: p.fa Database: chrM.fa Kvalue: 9 MisMatch: 0 Tm cutoff (°C): 30.00 Amplicon min size (bp): 0 Amplicon max size (bp): 2000 SNP: Monovalent cations [mM]: 50.00 Divalent cations [mM]: 1.50 dNTPs [mM]: 0.25 Annealing oligos [nM]: 50.00CiteKun Wang, Haiwei Li, Yue Xu, Qianzhi Shao, Jianming Yi, Ruichao Wang, Wanshi Cai, Xingyi Hang,Chenggang Zhang, Haoyang Cai, Wubin Qu, MFEprimer-3.0: quality control for PCR primers,Nucleic Acids Research, Volume 47, Issue W1, 02 July 2019, Pages W610–W613,https://doi.org/10.1093/nar/gkz351Web & Contacthttps://www.mfeprimer.comWubin Qu <quwubin@gmail.com>Total time used: 81.641035ms.

The relation between mfeprimer and its sub-commands: mfeprimer do a full quality control for primers for specificity, binding sites, dimers and hairpins. While, spec only for specificity, dimer is only for dimers and hairpin is only for hairpins, as their names indicated. The sub-commands have more options to control the behavious. mfeprimer only have default parameters for dimers and hairpins.

Run mfeprimer spec for specificity #

./mfeprimer spec -i p.fa -d chrM.fa

Run mfeprimer dimer for dimers #

./mfeprimer dimer -i p.fa

Run mfeprimer hairpin for hairpins #

./mfeprimer hairpin -i p.fa

3. Local web server #

Download and install #

  1. Please download the right version for your machine: https://github.com/quwubin/MFEprimer-3.0/releases (take the Mac version as an example).
  2. Uncompress the file.
  3. test it.
# download the executable mfeprimer-web filewget -c https://github.com/quwubin/MFEprimer-3.0/releases/download/v3.1.1/mfeprimer-web-3.1.1-darwin-amd64.tar.gz# uncompress the filetar zxvf mfeprimer-web-3.1.1-darwin-amd64.tar.gz# The file tree is:tree -L 2.├── conf│   └── app.conf├── mfedb│   ├── chrM.fa│   ├── chrM.fa.fai│   ├── chrM.fa.json│   ├── chrM.fa.log│   ├── chrM.fa.primerqc│   └── chrM.fa.primerqc.fai├── mfeprimer-web├── static│   ├── css│   ├── fonts│   ├── img│   └── js└── views ├── dimer ├── hairpin ├── layout.html ├── seq └── spec# test it./mfeprimer-web# open your browser and enter the following address, and you will see the default page.http://localhost:8080/

Configure the server #

Open the “conf/app.conf”, change the corresponding item following the references in the file.

Add database #

There is an example database named “chrM.fa” in “mfedb” directory. You can place any database hereand index the database with command mfeprimer index -i dbname.fasta.

(0)

相关推荐