Fulanko / IntaRNA

Efficient target prediction incorporating accessibility of interaction sites
Other
1 stars 0 forks source link

int-based energy computation #1

Closed martin-raden closed 5 years ago

martin-raden commented 5 years ago

BEVOR DU ANFAENGST: starte einen neuen branch e2int in dem du die folgenden änderungen angehst!

was muss man wo ändern. am besten die erledigten sachen abhacken und auch pushen, auch wenn das jetzt ne weile nicht durch die travis checks durchlaufen wird. :)

IntaRNA/general

IntaRNA/InteractionEnergy und subklassen

IntaRNA/Accessibility und subclasses

bin/CommandLineParsing

user input bleibt weiterhin float, daher

IntaRNA/OutputHandlerCsv

... to be continued.. :grinning:

martin-raden commented 5 years ago

NussinovHandler.h

19: remove definition and replace 'P_type' with 'Z_type' 22: rename (globally) P2dMatrix -> Z2dMatrix 41/56/72/89: function return type = Z_type 42/57/73/90: Z_type basePairWeight 43/58/74/91: replace E2dMatrix mit Z2dMatrix, weil soll floats speichern 102: neues argument mit default value: 'E_type basePairEnergy = -100'

NussinovHandler.cpp

102: neues argument mit default value: 'E_type basePairEnergy = -100' 49: replace "+1" mit basePairEnergy 50: replace ">" mit "<" um zu minimieren ab 69: replace E_type mit Z_type

AccessibilityBasePair.h

43: default value -100 statt -1 44/69: Z_type RT 71: Z_type basePairWeight

AccessibilityBasePair.cpp

InteractionEnergyBasePair.h

48/266: Z_type RT 49: default -100 statt -1 228: return "this->RT" 226/268: Z_type replace all "return 0.0" with "return (E_type)0" 394: return basePairEnergy

InteractionEnergyBasePair.cpp

10/11 Z2dMatrix 27; replace with logQ(i,j) = getE(q_val);

martin-raden commented 5 years ago

@Fulanko hab mal noch ein bissl nachgegraben und noch einige gruselige hard coded values in meinem code gefunden.. danke fürs überarbeiten ;)

martin-raden commented 5 years ago

ok, es kompiliert soweit wieder. ich hab in den Makefile.am files in src und tests jeweils alles auskommentiert, was noch nicht auf den überarbeiteten Klassen arbeitet. Damit kannst du jetzt stückweise weiter anpassen und dann immer schauen, obs dafür schon einen Test gibt und den wieder aktivieren (wieder in die _src liste des entsprechenden Makefile.am einfügen).

martin-raden commented 5 years ago

@Fulanko new food... :+1:

AccessibilityFromStream.h

47,104,126: Z_type

AccessibilityFromStream.cpp

18,52: Z_type 143: Euser_2_E(-RT...) 152: Euser_2_E(curVal)

VrnaHandler.h

28,40,67,75,76,87: Z_type

VrnaHandler.cpp

23,118,120: Z_type

AccessibilityVrna.cpp

135: Euser_2_E(E_type(energy)) 230: Euser_2_E(calc... - E_all) 275,461: Euser_2_E(-RT..) 365,420: (double)(vrnaHand...)

InteractionEnergyVrna.h

define macro #define Evrna_2_E( e ) ( static_cast<E_type>(e) ) define macro #define Evrna_equal( e ) ( static_cast<E_type>(e) ) 279: Z_type 326,337,348,368,392,414,434,493,516: remove /(E_type)100.0 and use Evrna_2_E statt explicit cast (E_type)

InteractionEnergyVrna.h

106,149, : remove /(E_type)100.0 and use Evrna_2_E statt explicit cast (E_type) 169: Z_type 204: FLT_OR_DBL statt float 225: replace with Z_equal 229: Euser_2_E statt cast

OutputHandlerIntaRNA1.cpp

217,218,219,221: E_2_Euser

OutputHandlerText.cpp

300,305-312,324-325: E2Euser 313,314: E2Euser(-contr.ED12) 326,327: analog 313,314

martin-raden commented 5 years ago

wenn editiert, die entsprechenden .h und .cpp files im src/IntaRNA/Makefile.am wieder nach oben in die _HEADERS und _SOURCES variable schieben und schauen obs noch kompiliert.

wenn alle drin bitte folgende tests aktivieren und prüfen:

AccessibilityFromStream_test.cpp \
OutputHandlerRangeOnly_test.cpp \
OutputHandlerInteractionList_test.cpp \
Fulanko commented 5 years ago

Ich habe die Files angepasst und jetzt laufen alle Tests bis auf 2 ohne Fehler durch (bei SeedHandlerExplicit_test habe ich die empty energy von -1 auf -100 geändert).

Folgende Tests schlagen noch fehl:

Am Mo., 26. Nov. 2018 um 14:05 Uhr schrieb Martin Raden < notifications@github.com>:

wenn editiert, die entsprechenden .h und .cpp files im src/IntaRNA/Makefile.am wieder nach oben in die _HEADERS und _SOURCES variable schieben und schauen obs noch kompiliert.

wenn alle drin bitte folgende tests aktivieren und prüfen:

AccessibilityFromStream_test.cpp \ OutputHandlerRangeOnly_test.cpp \ OutputHandlerInteractionList_test.cpp \

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Fulanko/IntaRNA/issues/1#issuecomment-441632011, or mute the thread https://github.com/notifications/unsubscribe-auth/AQC9ZOxOPifXdTEzZFo2wGeZIYsTmE6kks5uy-cZgaJpZM4YdwJo .

martin-raden commented 5 years ago

super, schau ich mir nachher gleich an.

martin-raden commented 5 years ago

warst ein bissl schnell mit dem enablen der Klassen. ist noch ein bissl was übrig.

PredictionTrackerPairMinE.cpp

138: E2Euser

PredictionTrackerProfileMinE.h

181: E2Euser

PredictionTrackerProfileSpotProb.h

112,121,136,155,171: Z_type replace E_INF_string with Pu_INF_string 41,61,106,147: "for infinity entries" 129: replace "E" with "boltzmannWeight" 191: use Z_isINF(..)

PredictionTrackerProfileSpotProb.cpp

replace E_INF_string with Pu_INF_string 21,22,59,60: Z_INF 101,113,140: Z_type

PredictionTrackerSpotProb.h

98,152,155: Z_type

PredictionTrackerSpotProb.cpp

101: Z_equal 136: Z_type

PredictorMfe2d.cpp

115-118: remove local definition of E_MAX and minInitDangleEndEnergy

PredictorMfe2dHeuristic.cpp

67: remove line (obsolete)

PredictorMfe2dHeuristicSeed.cpp

83: remove line (obsolete)

SeedConstraint.h

380: E2Euser 381: new line <<", ED="<<c.getMaxED()

martin-raden commented 5 years ago

danach sollte auch der letzte test wieder durchlaufen. :+1:

martin-raden commented 5 years ago

und final:

PredictorMaxProb.h

rename "E2dMatrix" nach "Z2dMatrix" rename "E4dMatrix" nach "Z4dMatrix" 24,81,124: Z_type

PredictorMaxProb.cpp

162: Z_type

Danke dir!

Fulanko commented 5 years ago

Tests laufen jetzt alle durch.

Beim PredictionTrackerProfileMinE_test musste ich regex Vergleiche anpassen, zB: 2 -> 0.02

Am Di., 27. Nov. 2018 um 16:23 Uhr schrieb Martin Raden < notifications@github.com>:

und final: PredictorMaxProb.h

rename "E2dMatrix" nach "Z2dMatrix" rename "E4dMatrix" nach "Z4dMatrix" 24,81,124: Z_type PredictorMaxProb.cpp

162: Z_type

Danke dir!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Fulanko/IntaRNA/issues/1#issuecomment-442097968, or mute the thread https://github.com/notifications/unsubscribe-auth/AQC9ZNQgz6TR1rv8vbjkz6b1zzpUcOHOks5uzVjegaJpZM4YdwJo .

martin-raden commented 5 years ago

Daumenhoch! Dann fehlt nur noch die binary und wir können das testen und benchmarken anfangen! Bis morgen!

martin-raden commented 5 years ago

enable --enable-debug im configure call, damit wir auch die letzten kleinigkeiten rausbekommen

martin-raden commented 5 years ago

definier bitte ein E_2_Z und Z_2_E in general.h und ersetze E_2_Euser/Euser_2_E woimmer kein input/output

martin-raden commented 5 years ago

wenn alles fertig:

Fulanko commented 5 years ago

Ich habe E_2_Z und Z_2_E hinzugefügt und ein paar Tests gemacht und keine größeren zeitlichen Unterschiede zwischen floats und ints gefunden.

Hier sind ein paar Ergebnisse: https://github.com/Fulanko/IntaRNA-log

Am Mi., 28. Nov. 2018 um 15:14 Uhr schrieb Martin Raden < notifications@github.com>:

wenn alles fertig:

  • mail an martin
  • martin = compile on cluster
  • rick = run benchmark
  • frank = extend documentation mit figure

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Fulanko/IntaRNA/issues/1#issuecomment-442460842, or mute the thread https://github.com/notifications/unsubscribe-auth/AQC9ZEzy02OU5N_z2UGGliPpH2b1ICLgks5uzpo0gaJpZM4YdwJo .

martin-raden commented 5 years ago

Moin Frank, super, danke dir!

Könntest du das bitte nochmal für folgende lange sequence (oder subsequenzen) durchlaufen lassen, um mal werte im sekunden/minuten bereich zu erzwingen?

AGGTACTTGATAACTTCTGCGTAGCATACATGAGGTTTTGTATAAAAATGGCGGGCGATATCAACGCAGTGTCAGAAATCCGAAACAGTCTCGCCTGGCGATAACCGTCTTGTCGGCGGTTGCGCTGACGTTGCGTCGTGATATCATCAGGGCAGACCGGTTACATCCCCCTAACAAGCTGTTTAAAGAGAAATACTATCATGACGGACAAATTGACCTCCCTTCGTCAGTACACCACCGTAGTGGCCGACACTGGGGACATCGCGGCAATGAAGCTGTATCAACCGCAGGATGCCACAATGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAGTTTGCTATTGACCAGGAAAAACTGGAAAAAATGATCGGCGATCTGCTGTAATCATTCTTAGCGTGACCGGGAAGTCGGTCACGCTACCTCTTCTGAAGCCTGTCTGTCACTCCCTTCGCAGTGTATCATTCTGTTTAACGAGACTGTTTAAACGGAAAAATCTTGATGAATACTTTACGTATTGGCTTAGTTTCCATCTCTGATCGCGCATCCAGCGGCGTTTATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGGCTGACATCGTACTGCAAATCGCCTGCCTGCGCCGGATGGTTAGCGCCACTCAGGTCTGATACCGGAAACCGGGGAAAATTTTCATTTTCCCCTCAAAAGATCGTAGACACTGCCCCACTGGCTGATTATTATGCCGCGCCCTGAAAACACTACAGTTATTCAGGGAAATTATTTCACCATTCATTCGATGATGATTTTTGAGGAATTATGGGCAACACTAAGTTGGCTAATCCGGCACCGCTGGGCCTGATGGGCTTCGGCATGACCACCATTCTGCTTAACCTGCACAACGTGGGTTATTTCGCTCTAGCGCCAGTCAGAGCCTGAATATTCCTTCAGAAATAAAAGAAGGGCAAACCACTGACTGGATCAACATTAACAGCGATAACGACAATAAACGCTGCGTCTCAAAAATCACCTTTTCGGGTCATACGGTGAACTCATCGGATATGGCCACGCTGAAAATTATCGGCGACGACTAACGCCAGAATATAGAAGCCACAAAAAATGAATGTTAATTACCTGAATGATTCAGATCTGGATTTTCTTCAGCATTGTAGTGAGGAACAGTTGGCAAATTTCGCCCGATTGCTCACCCATAATGAAATTTGCGCAGAAATTTCGCGATATGGCAGGACAAGACGTAAAATTGACAGCAATTTTATTCATATAAAGAATGAATCGCAGCCAAGGCATTCATCAAAAAATTGTAATAAAAAGAAAAGATTACGTGCCTGAATCTTCTCTTTATCAGCAGTAAACTAGTGGGTATTCATCCCCCTACCTCTTCCCACTAAGAGAATCCTTATGAAATCCGTTTTTACGATTTCCGCCAGCCTGGCGATTAGCCTGATGCTGTGCTGCACGGCGCAGGCAAACGACCATAAACTCCTCGGCGCCATTGCAACATATCGCGAAATTTCTGCGCAAAAGCACAAAAAATTTTTGCATCTCCCCCTTGATGACGTGGTTTACGACCCCATTTAGTAGTCAACCGCAGTGAGTGAGTCTGCAAAAAAATGAAATTGGGCAGTTGAAACCAGACGTTTCGCCCCTATTACAGACTCACAACCACATGATGACCGAATATATAGTGGAGACGTTTAGATGGGTAAAATAATTGGTATCGACCTGGGTACTACCAACTCTTGTGTAGCGATTATGGATGGCACCACTCCTCGCGTGCTGGAGAACGCCGAAGGCGATC

das wär nochmal interessant.

ansonsten werd ichs die tage auf dem cluster installieren und Rick bescheid geben, dass mal auf den benchmark datensatz loszulassen..

Fulanko commented 5 years ago

mit Seed

auf master: 2070ms auf e2int: 2027ms

noSeed

auf master: 2023ms auf e2int: 2027ms

Am Do., 29. Nov. 2018 um 14:52 Uhr schrieb Martin Raden < notifications@github.com>:

Moin Frank, super, danke dir!

Könntest du das bitte nochmal für folgende lange sequence (oder subsequenzen) durchlaufen lassen, um mal werte im sekunden/minuten bereich zu erzwingen?

AGGTACTTGATAACTTCTGCGTAGCATACATGAGGTTTTGTATAAAAATGGCGGGCGATATCAACGCAGTGTCAGAAATCCGAAACAGTCTCGCCTGGCGATAACCGTCTTGTCGGCGGTTGCGCTGACGTTGCGTCGTGATATCATCAGGGCAGACCGGTTACATCCCCCTAACAAGCTGTTTAAAGAGAAATACTATCATGACGGACAAATTGACCTCCCTTCGTCAGTACACCACCGTAGTGGCCGACACTGGGGACATCGCGGCAATGAAGCTGTATCAACCGCAGGATGCCACAATGGCAGTAGATAAACTGGCGGAAGGTATCCGTAAGTTTGCTATTGACCAGGAAAAACTGGAAAAAATGATCGGCGATCTGCTGTAATCATTCTTAGCGTGACCGGGAAGTCGGTCACGCTACCTCTTCTGAAGCCTGTCTGTCACTCCCTTCGCAGTGTATCATTCTGTTTAACGAGACTGTTTAAACGGAAAAATCTTGATGAATACTTTACGTATTGGCTTAGTTTCCATCTCTGATCGCGCATCCAGCGGCGTTTATCAGGATAAAGGCATCCCTGCGCTGGAAGAATGGCTGACATCGTACTGCAAATCGCCTGCCTGCGCCGGATGGTTAGCGCCACTCAGGTCTGATACCGGAAACCGGGGAAAATTTTCATTTTCCCCTCAAAAGATCGTAGACACTGCCCCACTGGCTGATTATTATGCCGCGCCCTGAAAACACTACAGTTATTCAGGGAAATTATTTCACCATTCATTCGATGATGATTTTTGAGGAATTATGGGCAACACTAAGTTGGCTAATCCGGCACCGCTGGGCCTGATGGGCTTCGGCATGACCACCATTCTGCTTAACCTGCACAACGTGGGTTATTTCGCTCTAGCGCCAGTCAGAGCCTGAATATTCCTTCAGAAATAAAAGAAGGGCAAACCACTGACTGGATCAACATTAACAGCGATAACGACAATAAACGCTGCGTCTCAAAAATCACCTTTTCGGGTCATACGGTGAACTCATCGGATATGGCCACGCTGAAAATTATCGGCGACGACTAACGCCAGAATATAGAAGCCACAAAAAATGAATGTTAATTACCTGAATGATTCAGATCTGGATTTTCTTCAGCATTGTAGTGAGGAACAGTTGGCAAATTTCGCCCGATTGCTCACCCATAATGAAATTTGCGCAGAAATTTCGCGATATGGCAGGACAAGACGTAAAATTGACAGCAATTTTATTCATATAAAGAATGAATCGCAGCCAAGGCATTCATCAAAAAATTGTAATAAAAAGAAAAGATTACGTGCCTGAATCTTCTCTTTATCAGCAGTAAACTAGTGGGTATTCATCCCCCTACCTCTTCCCACTAAGAGAATCCTTATGAAATCCGTTTTTACGATTTCCGCCAGCCTGGCGATTAGCCTGATGCTGTGCTGCACGGCGCAGGCAAACGACCATAAACTCCTCGGCGCCATTGCAACATATCGCGAAATTTCTGCGCAAAAGCACAAAAAATTTTTGCATCTCCCCCTTGATGACGTGGTTTACGACCCCATTTAGTAGTCAACCGCAGTGAGTGAGTCTGCAAAAAAATGAAATTGGGCAGTTGAAACCAGACGTTTCGCCCCTATTACAGACTCACAACCACATGATGACCGAATATATAGTGGAGACGTTTAGATGGGTAAAATAATTGGTATCGACCTGGGTACTACCAACTCTTGTGTAGCGATTATGGATGGCACCACTCCTCGCGTGCTGGAGAACGCCGAAGGCGATC

das wär nochmal interessant.

ansonsten werd ichs die tage auf dem cluster installieren und Rick bescheid geben, dass mal auf den benchmark datensatz loszulassen..

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Fulanko/IntaRNA/issues/1#issuecomment-442840684, or mute the thread https://github.com/notifications/unsubscribe-auth/AQC9ZFcfaODXn1x2cGMZ3szktmPp7h6mks5uz-aVgaJpZM4YdwJo .

martin-raden commented 5 years ago

:+1: du bist der star! :)

fazit: no change.. schade, aber muss man hinnehmen. ;)

werd die installation angehen und dann dem rick bescheid geben.