Closed lparsons closed 3 years ago
trying to do a little background reading, excepted from https://www.nature.com/articles/nature24057 "The circulatory turnover flux (Fcirc) of a given metabolite refers to the rate at which tissues collectively consume the metabolite from the arterial circulation (Fc) and produce and excrete the metabolite into the venous circulation (Fp)" "We measured Fcirc for most of these species following an approach classically used to measure whole-body glucose production flux7: for each metabolite M, a trace amount of 13C-labelled M is infused into the circulation at a constant rate R until steady-state labelling is achieved (Fig. 1b,c), at which point the labelled fraction L is related to the turnover flux as:"
@lparsons In the original issue description there is a tracer_Fcirc_avg_atom
that references a PeakGroup:label
in its formula, but I don't think that attribute exists in our model. Do you know the origin of that method, or if that component should be something else? Thanks for the clarification.
@lparsons In the original issue description there is a
tracer_Fcirc_avg_atom
that references aPeakGroup:label
in its formula, but I don't think that attribute exists in our model. Do you know the original of that method, or if that component should be something else? Thanks for the clarification.
@jcmatese I didn't dig too far, but I would guess that this should be PeakData:labeled_count
.
@lparsons OK, so I suppose that would be equivalent of animal.tracer_labeled_count
== peakdata.labeled_count
if the peakdata
instance was the intact version?
@lparsons OK, so I suppose that would be equivalent of
animal.tracer_labeled_count
==peakdata.labeled_count
if thepeakdata
instance was the intact version?
Yes, those two are equal for the "intact" version of the PeakData
instance.
FEATURE DESCRIPTION
Feature Inspiration
There are a number of Fcirc related values that are commonly used by researchers and are computed based off of the raw, stored data. The specific object(s) where these methods belong needs to be determined.
Feature Description
tracer_Fcirc_intact
- turnover of the tracer compound for this animal, as rate of appearance of any modified form of the tracer compound (nmol/min/gram body weight) = calculated using the infusion rate of tracer in this animal and the labeling in the tracer compound from the final serum timepoint = (Animal:tracer_infusion_rate Animal:tracer_infusion_concentration) / (Measurement:fraction) - (Animal:tracer_infusion_rate Animal:tracer_infusion_concentration)tracer_Fcirc_avg
- turnover of the tracer compound for this animal, as the rate of appearance of unlabeled atoms in the tracer compound = calculated using the infusion rate of tracer in this animal and the labeling in the tracer compound from the final serum timepoint. = (Animal:tracer_infusion_rate Animal:tracer_infusion_concentration) / (PeakGroup:enrichment_fraction) - (Animal:infusion_rate Animal:infusion_concentration)tracer_Fcirc_intact_perMouse
- tracer_Fcirc_intact * Animal:body_weight = nmol/min/mousetracer_Fcirc_avg_perMouse
- tracer_Fcirc_avg * Animal:body_weight = nmol/min/mousetracer_Fcirc_avg_atom
- tracer_Fcirc_avg * PeakGroup:label = nmol atom / min / gram = turnover of atoms in this compound = "nmol carbon / min / g"Examples
Example Fcirc Calculation
Bartman et al. - 2021 - Quantitative flux analysis in mammals.pdf
Alternatives Considered
John's 2¢
for each animal(s , in study) get (or pay attention to)
perhaps an animal method
serum_tracer_data
that returns a data structure containing the above?Rob's 2¢
We discussed this in the developer meeting on 9/7/2021 and I thought I would jot down the thoughts we had and I'll add some things to flesh it out more...
I'll leave the selection of the columns we display in the Fcirc output format to issue #130. WRT the collection of values we will compute, I think that if we assume one tracer compound per animal, we could have a row per animal can calculate the following values:
tracer_Fcirc_intact
- turnover of the tracer compound for this animal, as rate of appearance of any modified form of the tracer compound (nmol/min/gram body weight) = calculated using the infusion rate of tracer in this animal and the labeling in the tracer compound from the final serum timepoint = (Animal:tracer_infusion_rate * Animal:tracer_infusion_concentration) / (Measurement:fraction) - (Animal:tracer_infusion_rate * Animal:tracer_infusion_concentration)Ra_intact_g
Rd_intact_g
Ra_intact
Rd_intact
tracer_Fcirc_avg
- turnover of the tracer compound for this animal, as the rate of appearance of unlabeled atoms in the tracer compound = calculated using the infusion rate of tracer in this animal and the labeling in the tracer compound from the final serum timepoint. = (Animal:tracer_infusion_rate * Animal:tracer_infusion_concentration) / (PeakGroup:enrichment_fraction) - (Animal:infusion_rate * Animal:infusion_concentration)Ra_avg_g
Rd_avg_g
Ra_avg
Rd_avg
All, as calculated in the example Michael provided.
I think we should initially only do this for the last serum sample where steady state is assumed. We can add additional timepoints in another issue.
Comment
ISSUE OWNER SECTION
Assumptions
Requirements
Limitations
Affected/Changed Components
DESIGN
GUI Change description
Describe changes the user will see.
Code Change Description (Pseudocode optional)
Describe code changes planned for the feature.
Tests
A test should be planned for each requirement (above), where possible.