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 Issues

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

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.

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

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.