Open rasools opened 2 years ago
This is a great idea. After comparing Cellfie's tasks with Human1's, you notice that theirs are more likely in human. For example, in Human1's essential tasks, de novo synthesis of nucleotides uses ammonia as input. This is more link to bacterial metabolism, not human. Did you think about integrating Cellfie's tasks into your task collection? I started importing Cellfie tasks so that we could use them with the functions developed for Human1. This is my current attempt : CONSENSUS_TASKS_tINIT_2.xlsx However, some tasks are currently not working. If it is something you are looking into, we could try to make it work in Human1.
@cherkaos thanks you for the nice input.
Did you think about integrating Cellfie's tasks into your task collection? I started importing Cellfie tasks so that we could use them with the functions developed for Human1. This is my current attempt : CONSENSUS_TASKS_tINIT_2.xlsx However, some tasks are currently not working. If it is something you are looking into, we could try to make it work in Human1.
It would be beneficial to integrate CellFie
tasks to Human-GEM for general usage. Please upload it into folder data/metabolicTasks/
with a PR, in which the source citation and involved adjustments are explicated.
@cherkaos and @Hao-Chalmers, thanks for your inputs and suggestions.
The first step for addressing the current issue is defining the desired set of metabolic tasks. Sarah, as you have suggested, it would be a good start to first develop a version of Human1
that can satisfy the maximum number of both CellFie
tasks and tasks mentioned in data/metabolicTasks/
I will investigate why some CellFie
tasks are not satisfied by Human1
and try to solve the problem. By this, probably we can also generate a list of suggestions for improving Human1
.
Great, I'm glad to hear that it is in your interest.
@Rasools - So far, I've only converted the Cellfie
's metabolites (Recon Ids) into Human1
. Only Tyr_ggn could not be converted (Task 37 Glycogen Biosynthesis). I also converted the compartment [x] into [s] as it was not accepted as input in Human1. Metabolites which were both IN and OUT generated also an error when using checkTasks.m
, which I removed from OUT. It was mainly H20.
@Hao-Chalmers - Sure, I can push the document I shared above in the data/metabolicTasks/
. However, it is not working in its current form. Is that okay?
@Hao-Chalmers - Sure, I can push the document I shared above in the data/metabolicTasks/. However, it is not working in its current form. Is that okay?
@cherkaos it's okay to begin with this, which can be improved in follow-up PRs.
@cherkaos another option is to mark the PR as a draft
if you prefer, and then mark it as ready for review whenever you feel it has reached that state.
By the way, I noticed some strange results using essential tasks (data/metabolicTasks/metabolicTasks_Essential.xlsx
) to create the models and the full tasks (data/metabolicTasks/metabolicTasks_Full.xlsx
) for functional comparison.
For example, heme biosynthesis is in both lists but it was reported in the Human1 manuscript that it doesn't pass in blood.
How could that be if it is essential ?
@Rasools @JonathanRob
@cherkaos
For example, heme biosynthesis is in both lists but it was reported in the Human1 manuscript that it doesn't pass in blood. How could that be if it is essential ?
This is due to a minor difference in the heme biosynthesis tasks between the two task files. I suspect it is because the task in the "full" task list requires production and excretion (to the extracellular compartment) of heme, whereas the "essential" task only requires that it is produced (in the cytosol).
I'm not saying that this was intentional or how I believe it should be formulated - we simply implemented these task lists as provided. But this highlights some issues with this approach, in particular some inconsistencies/overlaps between the two lists that likely could use some curation.
Thanks for the clarification!
This is an issue I am very interested in. I think one question to reconcile is how we define and check for tasks, since the Richelle et al paper does it without relaxing the pseudo steady state assumption and only constrains inputs/outputs at the flux level.
@CadavidJoseL the tasks collected to Human-GEM are normally defined according to textbook and/or published literature. They are checked by checkTasks function that basically simulate model with inputs/outputs constrains as defined in a task file .
Thanks for your answers, those issues were clear to me. I should have been clearer: What I mean is that the way tasks are checked in this related paper by Richelle et al (and in COBRA toolbox in general) and in the RAVEN toolbox are slightly different in terms of how the LP is set up: "We also propose to define a metabolic task as the capacity of producing a defined list of output products when only a defined list of input substrates is available. However, we modified the way to implement it from the RAVEN toolbox. Instead of relying on the relaxation of the steady-state assumption, we take an approach more similar to that proposed by [14] by imposing constraints only at the flux level. Therefore, a model successfully passes a task if the associated LP problem is still solvable when the sole exchange reactions allowed carrying flux in the model are temporary sink reactions associated with each of the inputs and outputs listed in the task". I will check whether the LPs are equivalent, but maybe this can be a source of discrepancy?
I will check whether the LPs are equivalent
Look forward to the comparison
Hi @CadavidJoseL, I think I partially answered this question in the Gitter chat, but let me know if not. It's true that the checkTasks and tINIT algorithms modify the pseudo steady state assumption (i.e., the b
value) for metabolites rather than adjusting reaction flux bounds. The optimization problem works out to be effectively the same for this approach as for the flux-based method, since they're both testing feasibility of the LP for each task. It should be relatively straightforward to implement the tasks from Richelle et al. using the same formulation as expected by checkTasks
, just may require some additional testing.
Hi @CadavidJoseL I started doing the import from Cellfie Consensus Tasks to Human-GEM but a non-negligible number of them are failing (not just the ones that are supposed to fail) and I was wondering why. I originally thought it was due to compartments but maybe the point you raised about the differences in checking tasks also matters. Hi @JonathanRob - Thanks for the explanation. Where is the Gitter chat? Would like to see what you wrote.
@cherkaos thank you Sara for translating tasks from Cellfie
paper to be tested by Human1. I checked these tasks on Human1 to see how many of them can reproduce expected results (pass/fail). Out of 195 tasks included in Cellfie Consensus Tasks, 168 of them passed (86%), while 17 of them are failed and 10 tasks generate errors.
Error-making tasks are mainly because of undetected metabolites either among substrates or products of the task.
However, failed tasks probably need more investigations for finding the reason and each could be treated as a separate issue. Here is a list of failed tasks based on my analysis. Could you please share your results to see if it is a similar list of failed tasks?
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
Task status | Task name -- | -- FAIL | Deoxyguanosine triphosphate synthesis (dGTP) FAIL | Deoxyuridine triphosphate synthesis (dUTP) FAIL | Deoxythymidine triphosphate synthesis (dTTP) FAIL | 3'-Phospho-5'-adenylyl sulfate synthesis FAIL | Degradation of guanine to urate FAIL | Conversion of 1-phosphatidyl-1D-myo-inositol 4,5-bisphosphate to 1D-myo-inositol 1,4,5-trisphosphate FAIL | Arginine synthesis FAIL | Aspartate synthesis FAIL | Synthesis of taurine from cysteine FAIL | Glutamate synthesis FAIL | Glutamine synthesis FAIL | Glycine synthesis FAIL | Conversion of lysine to L-2-Aminoadipate FAIL | Methionine degradation FAIL | Tyrosine synthesis (need phenylalanine) FAIL | Triacylglycerol synthesis FAIL | Synthesis of palmitoyl-CoA
Description of the issue:
Richelle et al., in a recent research article suggested an approach for interpretation of omics data using GEMs. The key idea behind the suggested approach is to connect changes in transcriptomics/proteomics data to changes in cell functions using defining metabolic tasks. To do this, we first need to define a list of metabolic tasks that human cells can accomplish (similar to defined tasks used by automatic GEM reconstruction approaches such as tINIT) and then extract gene sets associated with each metabolic task. Finally, we need to overly the omics dataset and measure the pathway usage for each metabolic task. Developed functions potentially could be used alongside functions in GeneSetAnalysisMatlab to provide more biological insights from changes in transcriptomics data.
Questions to answer:
Expected feature/value/output:
Developing a pack of functions for performing metabolic tasks-based gene set analysis.
I hereby confirm that I have: