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
Fixes a bug where model annotation tables could not be generated if there were multiple exchange reactions for a single metabolite. This made MICOM not work with AGORA2 in some instances.
Now checks for demand reactions and in database construction as well.
Bump the required cobra version to avoid numpy version errors.
0.32.1 - 0.32.2#
Adjustments to solver settings and lost of improvements to Gurobi that make it much faster.
Helper functions to save results were added.
Fixed a bug where minimal_medium would maximize with OSQP instead of minimize.
More adjustments to OSQP.
Fix a bug in the stabilization term used for OSQP. Try to avoid fragmentation warning.
Fix regression in T-SNE.
0.31.2 - 0.31.3#
Some more fixes to the media completion.
Show added flux as fraction of total in
The medium completion functions now have a flag that allows adding additional flux
to components already in the candidate medium. The default is now changed to that
new non-strict mode which makes it much easier and more efficient to complete media.
In that case the
max_added_import amount now specifies the maximum flux added on top
the limit specified in the candidate medium.
Fixed a bug where T-SNE would complain in low sample numbers.
0.30.3 - 0.30.4#
Those were fixes to deployment and dependencies only.
Avoids a bug in COBRAPY that can yield to huge serialized versions of the models.
Fix compatibility with Python 3.7.
build will now detect existing models in the output folder and skip them. This now
allows to resume interrupted builds. Explicit rebuild requires you to delete the
Fixes a bug where using more than 1 thread for workflows would not return results in some cases.
Fixed some dependency errors on older Python versions.
Port tests to cobrapy 0.25 and above. Fix an import error in workflows.core.
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.