The major change in this version is the implementation of ViennaRNA's python API, which has the effect of reducing file IO (including eliminating the need for temp files, see 5) and dramatically reducing runtime. Single core performance is improved by ~16x on a 4.700GHz 11th Gen Intel i7-1165G7 as benchmarked by analyzing the T7 genome 100 times (17 minutes 48 seconds in version 1.1.0 versus 4 hours 42 minutes 16 seconds in version 1.0.6), but this pegs the used core at 100% so real gains may be higher.
This version also introduces folding constraints which are passed to ViennaRNA, available only through python and not the command line script for advanced usage.
Change log:
- Implements ViennaRNA python API in place of subprocess calls 7
- Implements constraints (python usage only) 6, 7
- Caches ViennaRNA parameters (reducing IO to RNA hybridization files) 7
- Better install location identification to find RNA hybridization files 7
- General code readability / PEP improvements 7