-
Notifications
You must be signed in to change notification settings - Fork 27
/
ChangeLog
3966 lines (3663 loc) · 150 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
################################################################################
#
# Change log of IntaRNA available at
#
# https://github.com/BackofenLab/IntaRNA
#
################################################################################
################################################################################
# changes in development version since last release
################################################################################
# IntaRNA
################################################################################
################################################################################
################################################################################
### version 3.4.1
################################################################################
# IntaRNA
- BUGFIX : seed order check was buggy
- BUGFIX : explizit seed : wrong direction of query base pair parsing (thanks to Tim15-tech)
################################################################################
################################################################################
240918 Martin Raden
* IntaRNA/SeedHandlerExplicit :
* SeedData() :
+ BUGFIX : reversal of dotBar2 was missing
240430 Martin Raden
* IntaRNA/PredictorMfeEns :
* updateZ()
* BUGFIX : no handling of partial Z including ED values (so far not used)
240429 Martin Raden
* IntaRNA/Interaction
* Seed::operator"<"
* BUGFIX: less-than check fixed
+ operator<<(Boundary)
+ BasePair (explicit class definition)
* IntaRNA/PredictorMfe :
* updateOptima() :
+ no interaction update if "n==0"
* IntaRNA/SeedHandler :
* addSeeds()
* BUGFIX : if internal seed base pairs were not found seed was still added
################################################################################
### version 3.4.0
################################################################################
# IntaRNA
- new arguments t|qPfScale for sequence-specific ViennaRNA pf_scale parameter used
to scale partition functions for ED value computation to avoid overflows
- BUGFIX : when using sequence subset selection in combination with precomputed
accessibilities from file, wrong accessibilities were loaded for the selected
sequences
- BUGFIX : seed-extension-based predictions (default prediction mode) were not
heeding accessibility constraints
- BUGFIX : query accessibility constraints were applied in reversed indexing
################################################################################
################################################################################
240124 Martin Raden
* IntaRNA/AccessibilityConstraint() :
* AccessibilityConstraint() :
* BUGFIX: reversed index ranges were not stored
* PredictorMfe2dHeuristicSeedExtension :
* PredictorMfe2dSeedExtension :
* PredictorMfe2dSeedExtensionRIblast :
* PredictorMfeEns2sSeedExtension:
* BUGFIX: missing isAccessible() checks added
231201 Martin Raden
* IntaRNA/RNASequence :
+ seqNumber : index of this sequence among its input sequence set.
relevant for accessibility loading from file
* bin/CommandLineParsing :
* getFullFilename() : uses RNASequence::seqNumber instead of index within sequence
vector. this enables the correct loading of respective accessibility files in
case only a subset of the sequences is used for prediction (--tSet or --qSet)
230201 Martin Raden
* IntaRNA/AccessibilityVrna :
* constructor() :
* fillByRNAplfold()
+ pfScale parameter
* bin/CommandLineParsing :
+ t|qPfScale : sequence-specific parameters for explicit pf_scale setup for
accessibility computation of long sequences
* IntaRNA/VrnaHandler :
* getModel()
+ explicit pfScale parameter for rescaling of VRNA exp_params if pfScale >= 1.0
+ getPfScaleDefault() : provides default value from Vienna package
* README.md :
+ docu of Q overflow and pfScale usage
################################################################################
### version 3.3.2
################################################################################
# IntaRNA
- compilation fix: correcting shared variables for parallelization
- BUGFIX debug check
- BUGFIX IntaRNAhelix traceback of helices where seed is not at right end
################################################################################
################################################################################
220913 Martin Raden
* IntaRNA/HelixHandlerNoBulgeMax:
* traceBackHelixSeed() : bugfix: tracing of helices with seed-trailing bps
220505 Martin Raden
* bin/IntaRNA :
* compilation fix: removing queryNumber from shared variables, since constant
* IntaRNA/PredictorMfe2d:
* predict() : bugfix: debug check was calling wrong function
################################################################################
### version 3.3.1
################################################################################
# IntaRNA
- BUGFIX: empty lines with white spaces within FASTA input were causing parsing
errors
################################################################################
################################################################################
220328 Martin Raden
* bin/CommandLineParsing :
* parseSequencesFasta() :
* BUGFIX: missing handling of empty lines with white spaces only within
FASTA input (were causing parsing errors)
################################################################################
### version 3.3.0
################################################################################
# IntaRNA
- `--outPairwise` enables pairwise sequence processing instead of all-vs-all
- input range for `--q|tIdxPos0` is now +-2,000,000,000 (was +-9,999,999) to
enable genomic position settings
################################################################################
################################################################################
220215 Martin Raden
* bin/CommandLineParsing :
+ outPairwise : switch to trigger pairwise vs. all-vs-all sequence processing
+ getQueryNumberForTarget() : target-specific query sequence number
+ getQueryIndexForTarget() : index getter for target-specific query sequences
* bin/IntaRNA :
* query iteration now based on target-specific sequence number to enable
pairwise sequence processing
220214 Martin Raden
* bin/CommandLineParsing :
* idxpos0 range now +-2,000,000,000 (was +-9,999,999) for genomic positions
################################################################################
### version 3.2.2
################################################################################
# IntaRNA
- BUGFIX: maximal interaction length correction for precomputed accessibility
data was one to large (wrong dangling end computation for maximally long RRIs)
(thanks to Sabine Reisser)
- BUGFIX: explicit seed encodings within last 7 nucleotides (seedBP) were
ignored (thanks to Sebastian Holler)
- BUGFIX: outNoLP option was not correctly implemented (missing recursion cases)
and was thus missing interactions
- BUGFIX: osx: configure adaptation to old grep version in osx
################################################################################
################################################################################
220110 Martin Raden
* configure.ac :
* rewrite of grep personality call to be compatible with old grep version on osx
201204 Simon Bray (thanks!) :
* replace travis with github action
210211 Martin Raden
* IntaRNA/SeedConstraint :
* constructor: bp>2 check only if no explicit seed present
* IntaRNA/SeedHandlerExplicit :
- getSeedMaxBP() : obsolete, replaced by getSeedMinBP()
+ getSeedMinBP() : minimal number of bps within encoded seeds; used for seed
constraint initialization
* traceBackSeed() :
* bugfix: check for minimal seed length sufficient on one side
* bin/CommandLineParsing :
* seedBP now set to getSeedMinBP() if explicit seeds present
* bin/IntaRNA :
* exception information now motivates to send input along with report
+ docs/recursions : recursion depictions for sanity checks of implementations
+ PredictorMfe2d (+outNoLP)
+ PredictorMfe2dSeed (+outNoLP)
* IntaRNA/PredictorMfe2dSeed :
* IntaRNA/PredictorMfe2dHeuristic :
* IntaRNA/PredictorMfe2dHeuristicSeed :
* IntaRNA/PredictorMfeEns2dHeuristic :
* bugfix outNoLP : missing recursion cases
* IntaRNA/AccessibilityFromStream :
* bugfix read from stream
* test updated
201210 Martin Raden
* IntaRNA/AccessibilityFromStream :
* bugfix: max length == 1 smaller than max-accessibility-data-length due to
dangling-end treatment (thanks to Sabine Reisser)
################################################################################
### version 3.2.1
################################################################################
# IntaRNA
- support for multi-seq input when `seedQ|TRange` given
- BUGFIX: Andronescu07 energy parameter set was not loaded by name without file
- BUGFIX: 'outMinPu' was not fully implemented
- BUILDFIX: non-global import of boost::bind
# CopomuS :
- exit value 0 if no favorable interaction was found
################################################################################
201127 Martin Raden
* bin/CommandLineParsing :
* changing import and usage of boost::bind and boost::placeholders namespace
(thanks to Behra Phani Rama Krishna)
* R/IntaRNA_plotRegions.R :
* replace deprecated expand_scale() with expansion()
200615 Martin Raden
* IntaRNA/OutputConstraint :
+ maxED : maximal ED penalty of each interacting subsequence
* bin/CommandLineParsing :
* getOutputConstraint() :
+ energy argument to setup OutputConstraint constructor call
* IntaRNA/Predictor :
* updateZall() :
+ check for OutputConstraint.maxED
* IntaRNA/PredictorMfe :
* updateOptima() :
+ check for OutputConstraint.maxED
* IntaRNA/PredictorMfe* :
* obsolete OutputConstraint variable removed
200602 Martin Raden
* bin/CommandLineParsing :
+ sequence error information now with sequence ID rather than number
200602 Martin Raden
* bin/CommandLineParsing :
+ explicit seedQ|TRange check for each sequence (support for multi-seq input)
200429 Martin Raden
* python/copomus/candidate_selectors.py :
* bugfix: sys.exit(0) if not favorable interaction was found
200312 Martin Raden
* bin/CommandLineParsing :
* validate_energyFile() :
+ bugfix: missing check for predefined Andronescu07 data set name
################################################################################
### version 3.2.0
################################################################################
# IntaRNA
- BUGFIX: accessibility blocking constraints were only applied to seed location
- improved Zall estimate (and depending values) for `--model=X` (default)
- new arguments:
- `qId|tId` : optional id (FASTA prefix) setup for sequence naming
- `acc|accW|accL` : meta accessibility setup for both query and target
- `intLenMax|intLoopMax` : meta interaction and interior loop length setup
# CopomuS
- Compensatory mutation selector to support interaction validation experiments
################################################################################
200302 Martin Raden
* IntaRNA/IndexRange :
* fromString() :
* bugfix: + missing parsing of negative indices
* IntaRNA/InteractionEnergy :
* areComplementary() :
+ check if both positions are accessible (to avoid additional checks in
predictor recursions)
* bin/IntaRNA :
* ambiguous nt warning now in verbose log (was info log)
200217 Martin Raden
* bin/CommandLineParsing :
* NumericParameter :
* CharParameter :
+ isSet() : checks if value and default differ
+ qId|tId : id (prefix) for sequence naming
+ acc|accW|accL : meta for q|t*
+ intLenMax|intLoopMax : meta for q|t*
* resetParamDefault() :
+ overwrite value (since set to default in constructor)
+ validate_region|shape|shapeMethod|shapeConversion : generic checks for q|t
+ validate_seedRange : generic checks for q|t
+ validate_numberArgumentExcludeRange() : generic check excluding a range
+ validate_id() : checks for line breaks in q|tId
* parseSequences() :
* parseSequencesFasta() :
+ idPrefix handling
- obsolete functions
- validate_query|target
- validate_qAccW|L|Constr
- validate_q|tRegion|Shape|ShapeMethod|ShapeConversion
- validate_seedQ|TRange
* constructor() :
+ extended default reset for new arguments
* q|tAcc* arguments now hidden
* validation calls refactored
+ model|acc|intLenMax|intLoopMax now general arguments
* parse() :
+ additional checks for meta arguments with setup of q|t variables
+ usage of .isSet() where appropriate
+ check that outSep is not within id prefix in outMode=C
+ ensure intLenMax >= seedBP
200207 Martin Raden + Fabio Gutmann
+ python/CopomuS.py : Compensatory mutation selector to support interaction
validation experiments
+ python/copomus/* : utility functions of CopomuS
* python/README.md : links to dedicated README.md of subfolders
200131 Martin Raden
* IntaRNA/PredictorMfe2dHeuristicSeedExtension :
* fillHybridE_left() :
+ extended Zall update (additional save cases considered)
################################################################################
### version 3.1.5
################################################################################
# IntaRNA :
- bugfix traceback of interactions with seed on right-boundary
- bugfix traceback of seeds with bulges when outNoLP present
################################################################################
200131 Martin Raden
* IntaRNA/PredictorMfe*SeedExtension* :
* undo bugfix
* traceback() :
+ additional check if seed exceeds right interaction boundary
* IntaRNA/SeedHandler :
* isFeasibleSeedBasePair() :
* debug checks obsolete since part of the check
* updateToNextSeed() :
* bugfix : right boundary was exclusive (but has to be inclusive)
* IntaRNA/SeedHandlerMfe :
* getSeedE()
* setSeedE()
* traceBackSeed()
* now using global indices (offset shift done internally)
* fillSeed() :
+ additional feasibility test for noLP
* traceback() :
* bugfix noLP energy trace : energy was from wrong cells
* trace small to large gaps (should be faster)
* test/SeedHandlerMfe :
+ traceback tests (number of bps in traced seeds)
################################################################################
### version 3.1.4
################################################################################
# IntaRNA
- bugfix generation and tracing of seeds with bulges and no GU ends
- bugfix seed-extension prediction for seeds with bulges
- noLP for seeds with bulges enabled
# R
- `IntaRNA_CSV_p-value.R` script to estimate p-values based on energy values
- `IntaRNA_plotRegions.R` = renaming of former `plotRegions.R`
################################################################################
200130 Martin Raden
* IntaRNA/SeedHandlerMfe :
* bugfix generation and tracing of seeds with bulges and no GU ends
* IntaRNA/PredictorMfe*SeedExtension* :
* bugfix enumeration of seeds with bulges
* bin/CommandLineParseing :
* error msgs rephrased
+ noLP for seeds with bulges enabled
+ setup noLP for seed constraints via outNoLP
* IntaRNA/SeedConstraint :
+ isLpAllowed : whether or not lps are allowed in seeds
* IntaRNA/SeedHandlerMfe :
+ support for noLP constraint
* test/SeedHandlerMfe :
+ test with lp
+ test no lp (boundary)
+ test no lp (internal)
* test/*
* adaptation to SeedConstraint constructor changes
200121 Martin Raden
+ R/IntaRNA_CSV_p-value.R : former addPvalues2csv.R
+ R/IntaRNA_plotRegions.R : former plotRegions.R
- R/addPvalues2csv.R : renamed
- R/plotRegions.R : renamed
* README.md : adapted to renamings
+ R/Makefile.am : install R scripts
191115 Martin Raden
+ R/addPvalues2csv.R
* R/README.md :
+ docu of addPvalue2csv.R
################################################################################
### version 3.1.3
################################################################################
# IntaRNA
- bugfix latest changes on traceback
################################################################################
191104 Martin Raden
* PredictorMfe2dSeedExtension::
* traceBack()
* bugfix tracback (reset of k2 iteration)
191031 Martin Raden
* using c++11 raw strings where appropriate
################################################################################
### version 3.1.2
################################################################################
# IntaRNA
- `--outSep` = user-defined column separator for tabular CSV output
- bugfix non-overlapping suboptimal enumeration
- bugfix noLP optimization (missing case of direct left-stack extension)
- CSV output
- new ensemble energy and partition function output for intra-molecular
structures formed by seq1 and seq2 (`Eall1, Eall2, Zall1, Zall2`)
- new total energy output `Etotal` = (E+Eall1+Eall2) and
`EallTotal` = (Eall+Eall1+Eall2)
- new `RT` output
- new `bpList` output
# auxiliary R scripts
- plotRegions.py - visualization of sequence regions covered by IntaRNA
predictions, similar to the IntaRNA webserver output (thanks to @dgelsin)
################################################################################
191030 Martin Raden
* IntaRNA/OutputHandlerCsv :
+ RT
* string2list() :
+ support of '*' encoding to generate full list
* bin/CommandLineParsing :
+ docu and implementation of '*' outCsvCol behaviour
* IntaRNA/InteractionEnergyBasePair :
+ computeIntraEall() : computes Eall1|2 via NussinovHandler
* getEall1|2() : call computeIntraEall if needed
* README.md
+ RT CSV col
191029 Martin Raden
* IntaRNA/PredictorMfe :
* getNextBest() :
* bugfix: energy check was applying duplicated ED values
(thanks to Jens Georg)
* IntaRNA/PredictorMfe2dSeedExtension :
* IntaRNA/PredictorMfe2dHeuristicSeedExtension :
* IntaRNA/PredictorMfeEns2dSeedExtension :
* fillHybrid*_left() :
* traceBack() :
* bugfix: missing case in noLP mode (direct left-stack extension)
* IntaRNA/AccessibilityVrna :
+ addConstraints() : dedicated function to add constraint to VrnaFoldCompound
* fillByRNAplfold() : using addConstraints()
* IntaRNA/InteractionEnergy :
+ getBoltzmannWeight( Z_type ) : conversion from kcal/mol-based energies
+ getEall1|2() : ensemble energy for seq1|2
* IntaRNA/InteractionEnergyBasePair :
+ getEall1|2() : NOT IMPLEMENTED YET
* IntaRNA/InteractionEnergyIdxOffset :
+ getEall1|2() : forward to wrapped energy handler
* IntaRNA/InteractionEnergyVrna :
+ Eall1|2 : ensemble energies for seq1|2
+ getEall1|2() : lazy computation of Eall1|2 using computeIntraEall()
+ computeIntraEall() : Eall* computation via vrna_pf() using the respective
accessibility constraints
* IntaRNA/OutputHandlerEnsemble :
- no output of Zall
+ output of RT, Eall1, Eall2, EallTotal
* IntaRNA/OutputHandlerCsv :
+ Eall1, Eall2, EallTotal, Etotal, Zall1, Zall2
* README.md :
+ docu of new CSV columns (Eall1, Eall2, Zall1, Zall2, Etotal, EallTotal)
* ensemble output docu updated
191021 Martin Raden
+ R/plotRegions.R : visualization of sequence regions covered by RRI
+ R/README.md : plotRegions docu
* README.md : link to R/README.md
191008 Martin Raden
* IntaRNA/OutputHandlerCsv :
+ bpList output : list of base pairs
* README.md :
+ bpList
+ outSep
191008 Martin Raden
* bin/CommandLineParsing :
+ 'outSep' argument to set column separator for tabular CSV output
* outSep applied to PredictionTracker*
* IntaRNA/PredictionTracker* :
+ explicit output column separator
* IntaRNA/OutputHandlerCsv :
* needsZall() :
* needBPs() :
- colSep argument : obsolete
191007 Martin Raden
* bin/CommandLineParsing :
* bugfix accNoLP and accNoGUend checks for energy!=V
* IntaRNA/NussinovHandler :
* getQ() :
* fix: return 1 if (i==j)
* IntaRNA/AccessibilityVrna :
* construction() :
+ bugfix: missing ED initialization for short sequences
* tests/AccessibilityBasePair :
+ short sequence test
+ tests/AccessibilityVrna :
+ short sequence test to validate ED initialization
################################################################################
### version 3.1.1
################################################################################
# IntaRNA
- base pairs details only computed if needed for output (speedup for large -n)
- predefined parameter sets for loading (Turner04, Turner99, Andronescu07)
- 'tRegion' and 'qRegion' now available for and applied to multi-sequence input
################################################################################
190924 Martin Raden
* IntaRNA/general :
- numStringLength() : obsolete
* IntaRNA/OutputHandlerText :
+ explicit '+' for positive indices if relative indexing enabled
* bin/CommandLineParsing :
* validate_indexRangeList() :
+ sequence id in error message
* parseRegion() :
+ range check per sequence with sequence-specific error message
- single sequence input condition removed : ranges applied on all sequences
* IntaRNA/AccessibilityVrna :
* construction() :
+ bugfix: only call VRNA routines if seq.size() > 4
190923 Martin Raden
+ m4/m4-ax_boost_iostreams.m4
+ m4/m4-ax_check_zlib.m4
* configure.ac :
* ViennaRNA version >= 2.4.14
+ check for boost::iostreams library
+ check for zlib library
* IntaRNA/OutputConstraint :
+ needBPs : whether or not traceback of interaction base pairs is needed
* IntaRNA/PredictorMfe :
* reportOptima() :
+ traceback now optional based on OutputConstraint::needBPs
* IntaRNA/OutputHandlerCsv :
+ needBPs() : checks whether or not base pair information is needed for the
CSV columns to print
* IntaRNA/VrnaHandler :
+ Turner99 : const string representing RNA-Turner-1999 energy file
+ Turner04 : const string representing RNA-Turner-2004 energy file
+ Andronescu07 : const string representing RNA-Andronescu-2007 energy file
* constructor() :
* Turner04 = default parameter set
+ load of Turner99/04 and Andronescu07 parameters via new VRNA-2.4.14 API
* bin/CommandLineParsing :
+ outNeedsBPs : whether or not output requires interaction traceback
* energyVRNA :
+ docu of Turner99/04 and Andronescu07 predefined models for loading
+ default value = Turner04
* IntaRNA1 :
+ default energyVRNA = Turner99
* getOutputHandler() :
+ setup of outNeedsBPs
* IntaRNA/Interaction :
* dotBar : indexing based on RnaSequence::getInOutIndex()
* IntaRNA/OutputHandlerText :
* add() :
* bugfix: isGU() test was using non-transformed bp indices
* README.md :
+ docu of predefined parameter sets
################################################################################
### version 3.1.0.2
################################################################################
190920 Martin Raden :
* IntaRNA/PredictorMfe :
* getNextBest() :
* ensure deterministic output for degenerate bestE interactions (left most)
* tests updated
################################################################################
### version 3.1.0.1
################################################################################
# IntaRNA
+ Zall (estimates) and derived output now available for all prediction models
+ outMode=E : report of ensemble information only
* ensemble-based prediction revised
* seed-extension-based prediction revised
+ --seedNoGUend : prohibit GU base pairs at seed ends
+ outNoLP support in all prediction modes
* FASTA input: sequence id = prefix up to first whitespace from FASTA header
* new default for outOverlap = B: overlapping output enabled (was Q)
+ gzip-compressed file input/output if file name ends in '.gz'
+ --outNoGUend : omit interactions with GU-helix ends
+ --accNoLP : exclude lonely base pair in accessibility computation (energy==V)
+ --accNoGUend : exclude GU-helix ends in accessibility computation (energy==V)
* outMode=D : subsequence range now "START..END" instead of "START--END"
+ --q|tIdxPos0 : user defined sequence indexing for input parsing and output
# package
+ (optional) intarnapvalue python3 module to compute p-values of IntaRNA mfe
predictions based on sequence shuffling and distribution fitting
# API
* OutputHandler requires an OutputConstraint instances in construction
* Predictor objects now access OutputConstraint instances via the OutputHandler;
this simplifies the signature of the member functions
* OutputConstraint now guides whether or not Zall is required for output
################################################################################
190919 Martin Raden :
* bin/CommandLineParsing :
* argument validation revised
190918 Martin Raden :
* IntaRNA/general :
* numStringLength() : now template function
* IntaRNA/RnaSequence :
+ idxPos0 : input/output index of first position
+ getInOutIndex() : converts internal to in/out index
+ getIndex() : converts in/out index to internal indexing
+ getReversedIndex() : backward internal index
* IntaRNA/AccessibilityConstraint :
* construction from string now based on RnaSequence::getIndex()
* regionIndexList : allows for negative input indices
* IntaRNA/IndexRange :
+ regexString : static string encoding of regex : allows for neg. in indices
* regex : init based on regexString
* construction from string now based on RnaSequence::getIndex()
* fromString() now based on RnaSequence::getIndex()
* IntaRNA/IndexRangeList :
* regexString : now based on IndexRange::regexString
* construction from string now based on RnaSequence::getIndex()
* fromString() now based on RnaSequence::getIndex()
* IntaRNA/InteractionEnergy :
* getE_contributions()
* simplification using class members getIndex*()
* IntaRNA/OutputHandlerCsv :
* IntaRNA/OutputHandlerText :
* add() :
* index shifting for output based on RnaSequence::getInOutIndex()
* IntaRNA/OutputHandlerEnsemble :
- outputDone : obsolete
* IntaRNA/PredictionTrackerPairMinE :
* IntaRNA/PredictionTrackerSpotProbAll :
* writeData() :
* index shifting for output based on RnaSequence::getInOutIndex()
* IntaRNA/PredictionTrackerProfileMinE :
* IntaRNA/PredictionTrackerProfileSpotProb :
* writeProfile() :
* index shifting for output based on RnaSequence::getInOutIndex()
* IntaRNA/PredictionTrackerSpotProb :
* str_spot : allows for negative input indices
* destructor() :
* index shifting for output based on RnaSequence::getInOutIndex()
* "0&0" output changed to "idxPos0-1" to be more general
* Spot :
- construction from string
+ fromString() : creates a Spot from string using RnaSequence::getIndex()
* IntaRNA/ReverseAccessibility :
* getReversedIndex() : now based on RnaSequence::getReversedIndex()
* IntaRNA/SeedHandlerExplicit :
* checkSeedEncoding() : regex now allows for neg. input indices
* SeedData :
* construction from string now based on RnaSequence::getIndex()
* tests :
* adaptation of negative index input tests (now valid)
* RnaSequence :
+ test for getInOutIndex() + getIndex()
* bin/CommandLineParsing :
+ q|tIdxPos0 : start of indexing for query|target
* validate_indexRangeList(.., RnaSequence) : to get index shifting
* README.md :
+ documentation of q|tIdxPos0 effects
+ q|tIdxPos0 sequence indexing section
190913 Martin Raden :
* configure.ac :
* LIBS exended
* IntaRNA/general :
* new|deleteOutStream :
+ gzip-compression support enabled
* fstream replaced with boost::iostreams::filtering_ostream
+ new|deleteInStream : analog to outstream handling to enable gzip support
* IntaRNA/InteractionEnergy :
- getBestE*() : obsolete
* isValidInternalLoop() : now public
+ internalLoopGU : whether or not GU is allowed in non-stacked interior loops
+ isInternalLoopGUallowed() : returns internalLoopGU
* isValidInternalLoop() :
+ check internalLoopGU constraint
* IntaRNA/Predictor :
* updateZall() :
+ bugfix: additional check for outConstraint.needZall
* IntaRNA/PredictorMfe :
- min*Energy : obsolete
* IntaRNA/PredictorMfe2dHeuristicSeed :
* fillHybridE() :
* bugfix Zall update : seed-only also if !noLP
* IntaRNA/InteractionEnergyIdxOffset :
+ bugfix: adding missing offset-based overwrites
* IntaRNA/OutputConstraint :
+ noGUend : whether or not GU is allowed at interaction ends
* bin/CommandLineParsing :
* input file handling replaced with new|deleteInStream
+ outNoGUend : whether or not GU is allowed at interaction and helix ends
* IntaRNAsTar :
+ outNoGUend
+ outNoLP
* README.md :
+ gzip compression docu
+ outNoGUend docu
* IntaRNAsTar docu
* tests :
+ outNoGUend
190912 Martin Raden :
+ python/intarnapvalue : p-value computation for IntaRNA energy scores
(thanks to Fabio Gutmann)
* configure :
+ check for python >= 3.6
+ optional enabling of intarnapvalue installation (disabled by default)
* tests/data/Makefile.am :
+ distribution of all tests ensured
190911 Martin Raden :
* IntaRNA/SeedHandler :
* isFeasibleSeedBasePair() : now virtual and public
* IntaRNA/SeedHandlerIdxOffset :
+ addSeeds()
+ isFeasibleSeedBasePair()
+ areLoopOverlapping()
* IntaRNA/PredictorMfe2dSeedExtension :
* traceBack() :
* trace order optimized
* IntaRNA/PredictorMfeEns2dSeedExtensionHeuristic :
* fill*() : reduced to updateZ() calls to reduce code redundancy
190910 Martin Raden :
* IntaRNA/PredictorMfe2d*SeedExtension :
+ noLP support
+ tests for noLP seed extension (model=X)
* bin/CommandLineParsing :
* parseSequencesFasta() :
* name = FASTA header prefix up to first whitespace
* IntaRNA/PredictorMfe :
+ HashIdx2E : hash for base pair to BestInteractionE objects
+ mfe4leftEnd : (optional) hash to store best interaction for left boundary;
filled by updateMfe4leftEnd()
+ updateMfe4leftEnd() : updates mfe4leftEnd
* getNextBest() :
+ default implementation based on mfe4leftEnd
* updateOptima() :
+ calls updateMfe4leftEnd() if outconstraint.reportOverlap != BOTH
* exact + seed-extension predictors :
- getNextBest() dummy functions : obsolete
- outConstraint.reportOverlap != BOTH error : obsolete
* heuristic non-seed-extension predictors :
+ updateMfe4leftEnd() : dummy function to avoid mfe4leftEnd updates; since
local getNextBest() is based on local data member
+ tests for outOverlap=NQTB (model=X)
190909 Martin Raden :
* Makefile.am :
- explicit personality list for link generation; replaced by
+ automatic link generation for each personality
* IntaRNA/OutputHandlerCsv :
+ 'w' = Boltzmann weight output
* IntaRNA/Predictor :
+ updateZall() : updates Zall with a given interaction energy
* IntaRNA/PredictorMfe :
* updateOptima() :
+ calls updateZall() if needed
* IntaRNA/PredictorMfe2dHeuristic :
+ update of Zall
* IntaRNA/PredictorMfe2dHeuristicSeed :
* bugfix Zall update
* IntaRNA/PredictorMfe2dSeed :
* bugfix updateOptima() call
* IntaRNA/PredictorMfeEns2dHeuristic :
* bugfix total energy computation
+ updateZ() call corrected
* IntaRNA/PredictorMfeEns2dSeedHeuristic :
* updateZ() call order changed to reduce for-loop iterations
* README.md :
+ w CVS output documentation
+ E_add CVS output documentation
+ RT(37Celsius)=0.6163173043012 docu
190906 Martin Raden :
* IntaRNA/Interaction
+ Boundary : 4-tuple of indices to store boundaries of an interaction site
* tests/runIntaRNA.sh :
* tests are run for all data/*.parameter files (no explicit listing anymore)
+ tests/*-modelX|S : explicitly testing model=X or =S
* IntaRNA/PredictorMfe2dHeuristicSeed :
* fillHybridE() : updateOptima() now called for all tested cases to reduce
heuristic bias in subopt listing
* IntaRNA/PredictorMfeEns :
* renaming Z_partitions to Z_partition
+ updateOptimaUsingZ() : calls updateOptima() for all Z_partition entries
+ reportOptima() : calls updateOptimaUsingZ() and super class reportOptima()
+ traceBack() : central traceback for all ensemble-based predictors
+ BestInteraction template class
+ BestInteractionE|Z typedefs
* Z_partition now hash of Interaction::Boundary keys that map to Z_type
- checkKeyBoundaries() : obsolete
* IntaRNA/PredictorMfeEns2d :
- traceBack()
* predict() :
- explicit updateOptima() calls
* IntaRNA/PredictorMfeEns2dHeuristic :
* predict() :
- explicit updateOptima() calls
* fillHybridZ() :
+ explicit updateZ() calls for all recursion cases to reduce heuristic bias
- BestInteraction : replaced by PredictorMfe::BestInteraction
* IntaRNA/PredictorMfe2dSeedExtension :
- updateOptima() : obsolete
* predict() :
+ explicit j boundary computation to reduce considered index tuples when
updating optima
* IntaRNA/PredictorMfe2dSeedExtensionRIblast :
- updateOptima() : obsolete
* IntaRNA/PredictorMfe2dHeuristicSeedExtension :
* rename updateOptima() to updateOptimalRightExt()
+ updateOptima() called for all tested right extensions
+ updateOptima() called for all tested seed+leftExtension
+ extended search range for seed+leftExtension (so far limited by jOptRight)
* IntaRNA/PredictorMfeEns2dSeedExtension :
- explicit updateOptima() calls
* traceBack() : reduced to super class traceBack() call seed addition
* IntaRNA/PredictorMfeEns2dHeuristicSeedExtension :
- explicit updateOptima() calls
+ extended search range for seed+leftExtension (so far limited by jOptRight)
+ updateZ() called for all tested right extensions
+ updateZ() called for all tested seed+leftExtension
* bin/CommandLineParsing :
+ check for outOverlap=B if window-based computation with subopt output (n>1)
* IntaRNA/PredictorMfe2dHeuristic :
- BestInteraction : replaced by PredictorMfe::BestInteraction
* IntaRNA/SeedConstraint :
+ bpGUendAllowed + is*() : whether or not GU is allowed at seed ends
* IntaRNA/SeedHandler :
* isFeasibleBasePair() :
+ atSeedEnd argument: to enable seed end check if needed
+ explicit GU-end checks if atSeedEnd==true
* IntaRNA/SeedHandlerMfe :
+ check for GU ends
* IntaRNA/SeedHandlerNoBulge :
* storeSeed() :
+ check for GU ends
* README.md :
+ seedNoGUend documentation
190905 Martin Raden :
* IntaRNA/PredictorMfe2dHeuristicSeedExtension :
+ updateOptima() also for left+seed called (less heuristic bias)
* IntaRNA/PredictorMfeEns* : ensemble-mfe prediction revised
190830 Martin Raden :
+ IntaRNA/OutputHandlerEnsemble : reports ensemble information only
190828 Martin Raden :
* Makefile.am :
+ show test log if tests failed
* IntaRNA/OutputHandler* :
* bugfix: outConstraint was reference instead of full object
190827 Martin Raden :
* IntaRNA/OutputConstraint :
+ needZall : whether or not Zall is needed for output generation
* IntaRNA/OutputHandler* :
+ outConstraint : OutputConstraint to be heeded
* constructor : required OutputConstraint object
* add() : outConstraint parameter obsolete
* IntaRNA/OutputHandlerCsv :
+ needsZall() : checks whether or not the requested column types require Zall
* IntaRNA/Predictor* :
* outConstraint parameter in member functions obsolete
* bin/CommandLineParsing :
+ outNeedsZall : flag to check whether or not Zall is needed for output
* IntaRNA/Predictor :
+ Zall : overall partition function
* updateOptima( ..., incrementZall = true ) : Zall is incremented
if output.outConstraint.needZall == true
+ getZall() : access to overall partition function
+ incrementZall() : increments Zall (+ overflow check in debug mode)
* reportOptima() :
+ calls output.incrementZ()
* initOptima() :
+ init of Zall if needed
* IntaRNA/PredictorMfeEns :
- overallZ : replaced by Predictor::Zall
- reportOptima() : obsolete
* IntaRNA/PredictorMfeEns* :
* call of updateOptima( ..., incrementZall = false ) to avoid duplicated Zall
updates
* initZ() : - no init of Zall
################################################################################
##### version 3.0.0
################################################################################
+ personality
+ IntaRNA1,2,3
+ IntaRNAexact
+ IntaRNAhelix
+ IntaRNAduplex
+ outNoLP
+ outCsvSort
+ output of all putative seeds (unless outMode=N or outBestSeedOnly)
+ seed bps are highlighted with '+' in text output mode (minimal + detailed)
* model=X : new default = seed-extension-based prediction
+ model=P
+ support for multi-precision Z (via GNU quadmath library) : configure
+ mode=S
+ energyNoDangles
+ parameterFile
+ seedNoGU
+ seedMaxEhybrid
+ helixMinPu (replaces helixMaxED)
+ helixFullE : replaces helixNoED
+ model=B (replaces L)
* reporting best (mfe) seed per interaction
* outMode=C
+ sorting
+ columns Eall, Zall, P_E
* marker "NAN" for not available values
* outMode=D
* index ranges without whitespaces, i.e. "1--5" instead of "1 -- 5"
+ highlighting of all bps part of putative seeds
* gaped loop positions now represented by '-'
* E_type now int (was float)
- IntaRNA v1 output support not continued
################################################################################
190809 Martin Raden :
* IntaRNA/general :
* deleteOutStream() :
* now reference to stream pointer to ensure update of original pointer
* E_INF = INTMAX / 8 (to ensure correct boundary checks in predictors)
* IntaRNA/OutputStreamHandlerSortedCsv :
* destructor() :
* BUGFIX: double deletion of outstream (fixes #157)
* IntaRNA/PredictorMfe2dSeed :
* traceback() :