Skip to content

Releases: mskilab-org/JaBbA

v1.1

10 Mar 14:08
3de4fc7
Compare
Choose a tag to compare

JaBbA v1.1

This is a minor release of JaBbA, a framework for genome graph inference from bulk whole-genome short read sequencing.

This release enables the use of Gurobi for MIP optimization. Like CPLEX, Gurobi is a proprietary solver but offers a free academic license. To run JaBbA with Gurobi, you will need to install Gurobi and its R interface.

Then, run with the flag --gurobi TRUE:

jba ${JABBA_PATH}/junctions.vcf ${JABBA_PATH}/coverage.txt --gurobi TRUE

Please note that you may also need to install an updated version of gGnome which supports Gurobi.

Additional changes are detailed in the changelog below.

What's Changed

Full Changelog: v1.0...v1.1

v1.0

13 Nov 21:20
8d97476
Compare
Choose a tag to compare

JaBbA v1.0 Release Notes

JaBbA builds genome graphs based on junctions and read depth from whole genome sequencing. A detailed introduction to JaBbA and its applications is in our paper Hadi et al. 2020.

Mixed integer linear programming

The main change to JaBbA in this release is the switch from mixed integer quadratic (QP) to linear programming (LP) for copy number inference; by default, the the L1 (rather than L2) norm of the read depth residual is minimized. The objective function can be reverted to the original quadratic formulation with the flag --lp FALSE.

Other parameters

epgap

epgap is the relative MIP gap tolerance between the objective function value at the best integer solution vs. the LP/QP relaxation. The suggested value for epgap when running JaBbA as an integer linear program (LP) is 1e-5 (default). For QP JaBbA, the suggested value is 1e-2.

tilim

tilim controls the alotted time in seconds for optimization. We recommend allowing at least 6000 s (default) although in practice the required time is substantially lower for moderately sized inputs (< 1K junctions and < 10K segments).

slack

slack is the L0 penalty on the number of loose ends. Higher values will result in fewer loose ends. The value for slack depends on the width of coverage bins. For 200 bp bins, we recommend a value of 100 (default).

Infinite sites constraints

According to the infinite sites model, multiple rearrangements are unlikely to occur at the same base pair. In JaBbA it is now possible to incorporate these constraints, which disallow multiple junctions/loose ends from occuring at the same site, by using the flag --ism.

Versioning

With this release we introduce versioning for the first time for JaBbA. Going forward, we plan to occasionally release minor versions that include minor enhancements and bug fixes. Minor releases should not fundamentally change the way JaBbA works. When we make significant changes that either significantly modify a major functionality or introduce a new major feature then we will release a major version (v2.0).