Installation
To install GeneCover, run:
pip install git+https://github.com/ANWANGJHU/GeneCover.git
Dependencies
Python >= 3.8
numpy, scipy, gurobipy, pyscipopt
GeneCover uses Gurobi for solving the minimal weight set cover problem via integer programming. To install Gurobi for Python, follow the official instructions here:
Gurobi requires a valid license. For instructions on obtaining one, see:
If you are unable to obtain a Gurobi license, GeneCover provides two alternative options:
1. PySCIPOpt: GeneCover includes a full integer‐programming implementation based on PySCIPOpt, a free Python interface to the SCIP solver with no licensing requirement. To enable this solver, pass the solver= “SCIP” flag when calling the algorithm.
2. Greedy heuristic: When integer programming fails to converge in reasonable amount of time (a rare occurrence in most use cases), we recommend using the built-in greedy heuristic of minimal weight set covering. It returns a set cover of weight at most \(\sum_{i=1}^s \frac{1}{i}\) times the optimal, where \(s\) is the size of the largest set. To use this option, pass the solver = “Greedy” flag when calling the algorithm. This option only requires NumPy.
Source Code: https://github.com/ANWANGJHU/GeneCover