News and release notes for MICOM
News and release notes for MICOM#
This includes a list of major changes for each minor version starting from 0.19.0.
For information on how to use
micom please refer to
Suppresses some warning in annotations from cobrapy.
Fixes some CI and build issues.
n_jobs arguments to
threads across the code base for consistency and
updates the arguments for
workflow now does not spawn a process for single-threaded runs, reducing overhead.
Fixes an issue where
workflow would deadlock with pytest-cov.
Fixes an issue where an accumulation in warnings in spawned processes trips up jupyter.
Fixes a deployment issue with the previous build.
Annotations now include the molecular weight, number of carbon atoms, and the number of nitrogen atoms for each compound.
Now adjusts active demands to be optional. This was an issue with some models in AGORA that had forced biotin demands. This effectively prohibits zero growth rates and is problematic for MICOM.
Fix the logger for multiprocessing.
Handle CARVEME models better in
Workflows now have a deterministic return error (same order as inputs).
build_database now allows to set the compression algorithm and level.
Fixed settings to get better convergence behavior with OSQP.
MICOM now works with OSQP and works out of the box without a commercial QP solver. See the installation docs for more information.
The sample heatmap in
plot_exchanges_per_sample is now automatically rotated when
there are mores samples than reactions.
media workflows will use presolving by default since those are often numerically problematic.
Fix the signature and add deprecation warnings for optimize_* methods.
plot_exchanges_per_taxon will now use normalized fluxes (per 1 gDW for each taxon)
which allows better comparability. The old behavior can be enabled with
Avoid negative growth rate constraints in
Can now enable presolving/scaling in
Fix some warnings from pandas.
Avoid a crash in
reularize_l2_norm when all reactions for a taxon have been fixed to
Raise a better error if the minimal medium optimization fails in grow.
Use the right tolerance when setting atol and rtol automatically.
Fixed an error in
micom.workflows.build if build was run without a model database
but with a
file column in the taxonomy.
Fixed missing data files.
Improves version compatibility with cobrapy and QIIME 2.
Fixed a bug where incorrectly labeled biomass demand reactions were treated like an exchange.
Lowered the required version for pandas to re-enable compatibility with Python 3.6.
Docs are now built on all pushes.
rtol are now consistently exposed.
Remove six dependency.
Got a bit smarter in cleaning up compartment suffixes. This fixes the odd “_e_m” suffix in CARVEME-derived models. This will change the names of exchange reactions compared to version 0.21.x.
Stabilize minimal_medium a bit more.
The strategy to calculate fluxes in the grow workflow can now be set with the
strategy argument. For instance, you can now get fluxes via parsimonious FBA instead of
assuming minimal imports.
Fixed a bug where minimal media classification with
weights="mass" would fail due to
invalid elements in the formula (for instance “X”).
This version brings new functionality to design growth media from a skeleton medium. This also allows for a quicker verification of media against the model databases.
check_db_mediacheck if models in a model database can grow on a given medium
complete_db_mediacompletes a growth medium so all models in the db can grow on it
Together with this we now provide several new revised growth media for the gut on github.com/micom-dev/media. In particular, we finally provide the often requested growth medium for the carveME database.
minimal_medium now accepts weighting the fluxes bei molecular weight or
any elemental content. For instance, you can now calculate a minimal medium that
minimizes carbon import for instance. The used
weigths argument propagates
to any workflow using this function including
0.1.0 - 0.18.0#
minimal_medium now has an option to return all fluxes along with the
import and export fluxes. Useful if you want to check what every individual
Community.cooperative_tradeoff which brings a fast method to
get nearly unique growth rates for a particular growth tradeoff (for instance
50% maximal growth rate).
Addition of elasticity coefficients which allows you to study which import and export reactions are sensitive to changes in diet or taxa abundances.
Several changes to make
micom capable of handling numerical instable models.
This includes a crossover strategy to obtain an optimal or near-optimal
from an incomplete interior point optimization.