quwubin / mfeprimer-2.0 Goto Github PK
View Code? Open in Web Editor NEWMFEprimer-2.0: A fast thermodynamics-based program for checking PCR primer specificity
Home Page: http://www.mfeprimer.com/
License: Other
MFEprimer-2.0: A fast thermodynamics-based program for checking PCR primer specificity
Home Page: http://www.mfeprimer.com/
License: Other
I remember http://www.mfeprimer.com/ is only available long long ago. It can't be accessed in these several months.
Sometimes I found negative PPC values. They always appear on Seq1xSeq1 or Seq2xSeq2 combinations (that is, FF or RR instead of normal FR combination). But I don't know why this could lead to negative PPC values.
Some new features will be reported later.
Suppose a pair of PCR primer:
F: ACCAAACCCCAGAGTCAATTAA
R: TCTATCTATTGCACTGCCTGTTG
And the database is:
>seq1
ACTGAGAGTACAACCGCTTCTGCAATGCCAAGTCCAGCAGCAAGTGCTAAGGAAGGGAAG
AACTTTCTTGCCTTGATGCTCAAATTCACCATCTTAATTATACCAAACCCCAGAGTCAAT
TAAAAGTTCAACCAAACGATCATTTTCATGAAGTATTGCAGTTATTGTATAATCTTTTCA
CTGAAAATTACCATCCTTGCTTTTACTAATCAATGCTTGCTCTTCAGCAACAAAGGATGT
TGTGATATTAAGTAAAGGAACATTAAACAATCTCGACACCAGATTGAATATCGATACAGA
TACCCCAACTGCCGCCAATTCAACCGACCCTTCACCACAAAAAAACTAATATTTATCAGC
CAATAGTTACCTGTGTGATTAATAGATAAAGCTACAAAAGCAAGCTTGGTATGATAGTAT
TAATAATAAAAAAAGAAAAAACAAGTATCCAAATGGCCAACAAAGGCTGTATCAACAAGT
GAAGCAATGGGATCAGCAGCCAAAGCCAATGCAACAGGCAGTGCAATAGATAGATGCCAA
TTTTTAACGATAGTTACATGATTCAACTAATTTGATGAATCAAGTCTTAAACTTTCTAAA
ACCTGAAACTAATGCATGATTCAATTTCTAGAAATGTTGAATCTTCCATCATAGA
>seq2
CAGCAAGTGCTAAGGAAGGGAAGAACTTTCTTGCCTTGATGCTCAAATTCACCATCTTAA
TTATACCAAACCCCAGAGTCAATTAAAAGTTCAACCAAACGATCATTTTCATGAAGTATT
GCAGTTATTGTATAATCTTTTCACTGAAAATTACCATCCTTGCTTTTACTAATCAATGCT
TGCTCTTCAGCAACAAAGGATGTTGTGATATTAAGTAAAGGAACATTAAACAATCTCGAC
ACCAGATTGAATATCGATACAGATACCCCAACTGCCGCCAATTCAACCGACCCTTCACCA
CAAAAAAACTAATATTTATCAGCCAATAGTTACCTGTGTGATTAATAGATAAAGCTACAA
AAGCAAGCTTGGTATGATAGTATTAATAATAAAAAAAGAAAAACAAGTATCCAAATGGCC
AACAAAGGCTGTATCAACAAGTGAAGCAATGGGATCAGCAGCCAAAGCCAATGCAGCAGG
CAGTGCAATAGATAGATGCCAATTTTTAACGATAGTTACATGATTCAACTAATTTGATGA
ATCAAGTCTTAAACTTTCTAAAAC
Index the database with all default parameters, and search the query primer in the database would leads to a single hit on seq1, seems as if the primer is unique in the database:
FP RP FP RP FP RP
Size PPC Tm Tm ΔG ΔG 3'ΔG 3'ΔG
Primers producing potential PCR products: (bp) (%) ℃ ℃ (kcal/mol) (kcal/mol)
1: seq1 433 96.9 58.1 59.1 -21.7 -23.0 -0.7 -2.6
>>>F
1 22
5' ACCAAACCCCAGAGTCAATTAA 3'
:::::::::::::::::::::: 534
5' ACCAAACCCCAGAGTCAATTAAaagttcaaccaaacgatcat...atcagcagccaaagccaatgCAACAGGCAGTGCAATAGATAGA 3'
102 :::::::::::::::::::::::
3' CAACAGGCAGTGCAATAGATAGA 5'
23 1
R<<<
However, in fact, this primer might also target on seq2, only one mismatch in the R primer (This graph is made manually, MFEPrimer can not report this hit):
>>>F
1 22
5' ACCAAACCCCAGAGTCAATTAA 3'
:::::::::::::::::::::: 496
5' ACCAAACCCCAGAGTCAATTAAaagttcaaccaaacgatcat...atcagcagccaaagccaatgCAGCAGGCAGTGCAATAGATAGA 3'
65 :: ::::::::::::::::::::
3' CAACAGGCAGTGCAATAGATAGA 5'
23 1
R<<<
In fact, this prodcut could still be produced in real PCR
It seems that the syntax of psutil has changed.
When running IndexDb.sh I got following the error
Begin indexing ...
Step 1/3: UniFasta done.
Step 2/3: faToTwoBit done.
Step 3/3: Index begin ...
0
Traceback (most recent call last):
File "/home/maxime/1_MFEprimer/MFEprimer/chilli/mfe_index_db.py", line 227, in <module>
main()
File "/home/maxime/1_MFEprimer/MFEprimer/chilli/mfe_index_db.py", line 224, in main
index(options.filename, options.k)
File "/home/maxime/1_MFEprimer/MFEprimer/chilli/mfe_index_db.py", line 196, in index
memory_percent = get_memory_percent()
File "/home/maxime/1_MFEprimer/MFEprimer/chilli/mfe_index_db.py", line 54, in get_memory_percent
return p.get_memory_percent()
AttributeError: 'Process' object has no attribute 'get_memory_percent'
Step 3/3: Index done
Changing return p.get_memory_percent()
by return p.memory_percent()
at line 54 of mfe_index_db.py
is fixing it.
See : This link
When the user doesn't have root access, all the functions using "/temp" directory will cause "No space left on device" error. I think it's better to change the default "parent_dir" in "chilli.session" function as the user output directory.
I don't know why, but when I intall a local mirror of MFEprimer-2.0 webserver in a new machine, after I follow https://github.com/quwubin/MFEprimer#create-a-local-mirror-of-mfeprimer-20 and installed Python (>= 2.7), psutil and Flask, it still encounter error:
$ ./MFEprimerWeb.py
Traceback (most recent call last):
File "./MFEprimerWeb.py", line 25, in <module>
from chilli import ve
File "/var/www/cgi-bin/MFEprimerWeb-master/chilli/ve.py", line 12, in <module>
import cairo
ImportError: No module named cairo
First I try to install pip install pycairo
, however it has been removed from the pypi, then I have to pip install cairocffi
, and then edit MFEprimerWeb-master/chilli/ve.py: change import cairo
to import cairocffi as cairo
After that, it still encounter error:
$ ./MFEprimerWeb.py
Traceback (most recent call last):
File "./MFEprimerWeb.py", line 35, in <module>
from cron import get_blog_news
File "/var/www/cgi-bin/MFEprimerWeb-master/cron/get_blog_news.py", line 6, in <module>
import pytumblr
ImportError: No module named pytumblr
What should I do is: pip install pytumblr
Then it is OK
I don't know how these errors come out. Several months later all are OK. However recently there are some JS errors.
(1) click " Example" in "Enter the primer sequences" leads to a JS error:
TypeError: who is null function.js:417:9
(2) select the background database leads to a JS error:
ReferenceError: db_selected_changed is not defined
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.