Giter Site home page Giter Site logo

quwubin / mfeprimer-2.0 Goto Github PK

View Code? Open in Web Editor NEW
35.0 5.0 16.0 473 KB

MFEprimer-2.0: A fast thermodynamics-based program for checking PCR primer specificity

Home Page: http://www.mfeprimer.com/

License: Other

Python 99.00% Shell 1.00%
pcr primer specificity

mfeprimer-2.0's People

Contributors

quwubin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mfeprimer-2.0's Issues

What's the meaning of negative PPC values

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.

missing possible amplicons

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

Incompatibility with actual version of psutil

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

"No space left on device" bug

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.

Some missing prerequisites to install MFEprimer server?

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

Some strang JS errors in MFEPrimerWeb

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

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.