Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 20 23:16
    codecov-io commented #909
  • Sep 20 23:15
    codecov-io commented #909
  • Sep 20 23:14
    codecov-io commented #909
  • Sep 20 23:14
    codecov-io commented #909
  • Sep 20 23:14
    cdiener labeled #909
  • Sep 20 23:08
    cdiener commented #909
  • Sep 20 23:06
    Midnighter commented #909
  • Sep 20 22:58
    cdiener commented #909
  • Sep 20 22:54
    cdiener opened #909
  • Sep 19 15:08
    cdiener commented #517
  • Sep 19 05:10
    beacamara commented #517
  • Sep 18 14:42
    cdiener commented #517
  • Sep 17 12:48
    beacamara commented #517
  • Sep 17 12:37
    Midnighter commented #517
  • Sep 17 12:36
    Midnighter labeled #517
  • Sep 17 12:36
    Midnighter labeled #517
  • Sep 17 12:34
    Midnighter reopened #517
  • Sep 17 12:32
    beacamara commented #517
  • Sep 16 18:53
    cdiener commented #673
  • Sep 16 08:25
    ensakz commented #673
Moritz Stüve
@mostueve_gitlab
Hi everyone, does someone have experience with community modeling? I could use a pointer how to change compartments of all metabolites etc. (this seems to be kind of implicit if I understand correctly, so I tried changing the id to something with another ending (like '_XY' instead of '_c' )). So what I want to do is duplicate some metabolites and reactions into a new compartment, depending on which compartment they are in currently. So far, it only worked properly when I edited the sbml file in a text editor (which of course is an option...). Best, and thanks in advance! :-)
Christian Diener
@cdiener
Need to change the name and Metabolite.compartment as well. Also see https://github.com/micom-dev/micom which will manage that for you (sorry for the shameless plug) 😃
Moritz E. Beber
@Midnighter
No need to feel any shame, we want work to be re-used in this community, right? :slight_smile:
Moritz Stüve
@mostueve_gitlab
cool, does micom depend on a specific set of identifiers (the ones I use are customized...)? or can I just load any valid sbml model, for example?
Christian Diener
@cdiener
Does not depend on a specific set. However indentifiers have to match between models. So glucose has the same metabolite ID in both models.
Moritz Stüve
@mostueve_gitlab
nice, I am already reading up on it. thanks a lot for the help, hope it'll work :-)
Christian Diener
@cdiener
If not report an issue and we'll try to fix it :)
Moritz Stüve
@mostueve_gitlab
Hey, I am trying to use four xml files to build a community using micom - no matter what I choose as value in the "id" column, I always get a ValueError: 'The model already contains a reaction with the id:', 'RXN_var1xy_1' - does micom somewhere use this "var" part as an identifier? Because that is one of the peculiarities of the reaction identifiers of my models.
Christian Diener
@cdiener
The id is a unique name for the model. This should only happen if 2 models have the same name.
Could you paste your taxonomy table?
Christian Diener
@cdiener
Within a single model reactions need to have unique names. This is a general constraint from cobrapy.
Synchon Mandal
@synchon
Hi! Now that we have the docs fixed, can we make a release to get the latest docs in production?
Moritz E. Beber
@Midnighter
I wanted to get the summary changes in as well before a release.
Synchon Mandal
@synchon
Oh I see.
Christian Diener
@cdiener
Also should check the build hooks. Seems like the last doc trigger was 8 months ago even though there were many releases after that...
Christian Diener
@cdiener
There test failures on cplex again in devel and those seem to be present in the releases as well. Does not seem to be serious but we should run tests against cplex and/or gurobi before every release. You cna ping me if you don't have any of the two set up.
Moritz Stüve
@mostueve_gitlab
@cdiener Hi, sorry for replying so late, I was cutoff from the Interwebs (here, in the middle of nowhere :D). Anyway, I have just opened an Issue concerning this, with the related files available in a GitLab repository.
Rui Benfeitas
@Benfeitas
Hi! Is there any tool to integrate transcriptomics into cobrapy (similar to TINIT?)
Christian Diener
@cdiener
There are the ones listed here: https://opencobra.github.io/cobrapy/tags/reconstruction/. There is also https://github.com/migp11/fastcore but I don't know if that is still maintained.
Hi I updated the bioconda recipe for cobrapy and it should work. Not official yet but would appreciate some testers. In a fresh environment you can install cobrapy with conda install -c bioconda -c conda-forge cobra.
Greg Medlock
@gregmedlock
@Benfeitas also see riptide: https://github.com/mjenior/riptide
"Driven" is also a package from the DTU crowd that, if you're a power user, you could probably make work: https://github.com/opencobra/driven/tree/devel
Speaking of driven, @Midnighter are there any plans for further development of driven? Very few people seem to know it exists (name makes it difficult to find) but I'm sure many people would be willing to contribute.
ablazier
@ablazier

Hello! I am working with Recon3D and HMR2 .mat files. I am loading them into cobrapy using cobra.io.load_matlab_model('recon3D.mat'). I can't figure out where the subsystem assignments are stored - any insights?

I have another model (humanGEM) in both .mat and .xml formats. The .xml file has subsystem information stored in "groups", whereas for the .mat file, the groups attribute is empty and I can't find subsystem information. Just wondering if my .mat files are missing the information or if I am loading the .mat files into cobrapy incorrectly...Thank you!

Moritz E. Beber
@Midnighter
@gregmedlock the plan to improve driven and publish it on PyPI was loosely this summer. Due to several reasons that will be delayed by quite a bit.
Hi @ablazier, the subsystem is an attribute directly on a reaction object (https://cobrapy.readthedocs.io/en/latest/autoapi/cobra/core/reaction/index.html#module-contents). SBML groups are unfortunatley, not yet fully supported.
ablazier
@ablazier
Thank you, @Midnighter! That helps to explain why the functions I was using for my .xml loaded files were not working on my .mat loaded files...
Rui Benfeitas
@Benfeitas
Thanks a lot @cdiener and @gregmedlock
Matthias König
@matthiaskoenig
@ablazier You could just use the SBML version of Recon3D. The SBML parser is reading the subsystem information into the groups.
ablazier
@ablazier
Good point, @matthiaskoenig. I defaulted to using the files on The Virtual Metabolic Human database since that was referenced in the manuscript and I think these files are only in .mat format. I suppose I could download from BiGG or github instead.
Moritz Stüve
@mostueve_gitlab
Hi, this might seem a bit weird ... can someone click the link to lxml here: https://cobrapy.readthedocs.io/en/stable/io.html (3.1, SBML) and tell me where it takes them?
Greg Medlock
@gregmedlock
^ takes me to some climate advocacy site, https://www.fridaysforfuture.org
No idea what is up with lxml's site : |
Moritz E. Beber
@Midnighter
Some political activism? :slight_smile:
Christian Diener
@cdiener
Should update that as well. Libxml2 is statically linked into libsbml and does not need to be installed, not will it give a speed up. This is still from the old custom sbml parser...
Moritz E. Beber
@Midnighter
I removed lxml as an optional dependency but as usual the docs are outdated :crying_cat_face: I'll try to get cobrapy into https://developers.google.com/season-of-docs/ next year.
Synchon Mandal
@synchon
@mostueve_gitlab the lxml link works for me.
Moritz Stüve
@mostueve_gitlab
climate hackers :D
Matthias König
@matthiaskoenig
@ablazier yes, you can just download the SBML from http://bigg.ucsd.edu/models/Recon3D
Christian Diener
@cdiener
Hey, I feel that we should refactor the summary code a bit. It took me quite a while to understand whats going on there. Some more comments and better variable names would go a long way. I do think that summaries should be immutable (see #900 for the what can go wrong otherwise). Also I always get cobra/core/summary/summary.py:206 UserWarning: Setting float_format to anything other than None will cause nan to be present in the output. and really ugly output.
Moritz E. Beber
@Midnighter
I agree that we should improve it. I can push the work I had started to a branch and you can take a look at it if you like.
Synchon Mandal
@synchon
@cdiener I do agree that the present state of summary is a bit messy. @Midnighter 's #882 looked really clean and finishing that would be a nice change.
Christian Diener
@cdiener
I don't think it's messy. It's just very complex code and some comments and simplification would help. Definitely appreciate your contribution! Thanks!
Moritz Stüve
@mostueve_gitlab
@cdiener I have another question concerning micom and types of community models - micom makes compartmentalized models, right? Does it automatically create carrier reactions between the compartments? If I do not get a flux solution, could it be due to efflux carriers missing? I get an 'infeasible' result at the moment (using cplex in a conda environment). Is there also a way to make mixed-bag models with micom? Thanks in advance ;-)
Christian Diener
@cdiener
@mostueve_gitlab Yes every model has its own compartment and all of those are themselves embedded in a larger "medium" compartment that represents the environment. Micom will add an export/import reaction between the individual taxa and the medium for every external metabolite and an import/export into/from the medium as well. So of your metabolites have standardized names between all your models (true for Agora) they will be able to exchange them with each other. There is currently no support for mixed bag models mostly because it is unclear how you would integrate the individual abundances/biomasses in that case. If everything is equi-abundant you could use the join_models function in micom to get a mixed bag model...
Moritz Stüve
@mostueve_gitlab
@cdiener This clears it up, thanks a lot! This does also mean that cytosolic compounds are exchanged only if both species have an annotated transport reaction for them, right?
If I want to build mixed bag models with cobrapy (my models all have the same biomass function), is the merge() function the way to go? Seems to work very well, but I am not sure if I understand all the implications in the docstring (such as left and right, constraints etc).
Christian Diener
@cdiener
@mostueve_gitlab Yes, exactly cytosolic compounds would need export reactions for that. Model.merge will duplicate reactions that are present in both models which might be problematic if what you really want is a pan-genome model. Micom's join_models uses the union of all reactions (based on IDs) which is a bit different from merge and sets the biomass as the average of all biomass functions. So it depends on your usecase and the particular biological assumptions you make.
Moritz E. Beber
@Midnighter
Maybe interesting to those of you in the US https://bssw.io/fellowship