Chapter 12 Protein postruminal supplies
![Depiction of protein flows in ruminant animals focused on postruminal flows.](images/protein_system_postrumen.png)
Figure 12.1: Depiction of protein flows in ruminant animals focused on postruminal flows.
Learning Objectives
Define MP.
Describe how the fractions of digested microbial TP and RUP are calculated.
Explain how to convert RUP and microbial TP supplies to an AA basis.
In the last chapter, we determined what fractions of protein were degraded and potentially contributed to microbial TP. We also learned that some protein passes out of the rumen without being altered by microbes. In this chapter, we will resume where we left off: with microbial TP and RUP exiting the rumen and entering the lower gastrointestinal tract where they can be digested and absorbed. In other words, the goal of this chapter is to move from rumen protein fractions to metabolizable protein and AA.
12.1 Digestion of microbial TP
Microbial TP is assumed to be 80% digestible (NASEM, 2021). \[\text{digestible MiTP (g/d)} = 0.80* \text{MiTP (g/d)}\]
Test Yourself:
True or false: The digestibility of microbial TP depends on the feeds in the diet.
12.2 Digestion of RUP
Each feed has its own intestinal digestibility coefficient (dRUP) listed in the Feed Tables. To calculate the amount of digestible RUP for a certain feed, multiply the feed's digestibility coefficient (\(dcRUP_i\)) by the RUP intake from that feed (\(RUPIn_i\)). All of digestible RUP is assumed to be TP.
\[\text{digestible RUP (g/d) from feed }i = {dcRUP_i} * RUPIn_i\]
The digestible RUP from each feed can be summed to create a diet-level digestible RUP.
\[\text{Diet digestible RUP}= \sum_{i = 1}^{n \space feeds} ({dcRUP_i} * RUPIn_i) \]
where: \(dcRUP_i\) is the RUP digestibility coefficient (g RUP digested / 100 g RUP supply) \(RUPIn_i\) is the RUP supply from feed \(i\) in g/d
Feed | dcRUP |
---|---|
Wheat grain | 87.734 |
Corn silage, typical | 70.000 |
Legume silage, mid-maturity | 70.000 |
Soybean meal, solvent 48CP | 91.000 |
12.3 Metabolizable protein
The true protein digested postruminally is absorbed as AA that reach the blood stream (portal vein) for transport to the liver. This pool of AA circulating in the blood is called Metabolizable Protein (MP). Thus similar to the metabolizable energy concept, MP refers to the "useful" nutrients (in this case AA) absorbed in the blood. MP is the sum of digestible RUP and digestible microbial TP.
\[\text{MP (g/d)} = (\text{digestible MiTP (g/d)}) + (\text{digestible RUP (g/d)})\]
12.4 AA basis
According to the NASEM (2021) committee, although MP should be used to describe and assess diets, it is intestinally-absorbed AAs (rather than protein) that are metabolized. In other words, the nutrients used by tissues are AA, not protein.
12.5 AA in microbial protein
NASEM (2021) gives an average AA composition of microbial protein that is used across dietary and animal conditions. After estimating the microbial true protein supply, it can be multiplied by the AA composition to determine the amounts of each AA supplied per day. For example,
\[ \text{MiTP_AA, g/d} = \text{MiTP, g/d} * \begin{bmatrix} \text{Arg % of TP} \\ \text{His % of TP} \\ \text{Ile % of TP} \\ \text{Leu % of TP} \\ \text{Lys % of TP} \\ \text{Met % of TP} \\ \text{Phe % of TP} \\ \text{Thr % of TP} \\ \text{Trp % of TP} \\ \text{Val % of TP} \\ \end{bmatrix} \]
![Essential amino acid profile (% of true protein) of microbial true protein in NASEM (2021, p. 79).](_main_files/figure-html/unnamed-chunk-111-1.png)
Figure 12.2: Essential amino acid profile (% of true protein) of microbial true protein in NASEM (2021, p. 79).
12.6 AA in RUP
The EAA composition of RUP is assumed to be the same as the EAA composition of CP in the feed ingredient. Therefore, to convert RUP to an AA basis, we can multiply the RUP (g/d) by the EAA composition of the feed.
\[ \text{RUPEAA, g/d} = \text{RUP, g/d} * \begin{bmatrix} \text{Arg % of CP} \\ \text{His % of CP} \\ \text{Ile % of CP} \\ \text{Leu % of CP} \\ \text{Lys % of CP} \\ \text{Met % of CP} \\ \text{Phe % of CP} \\ \text{Thr % of CP} \\ \text{Trp % of CP} \\ \text{Val % of CP} \\ \end{bmatrix} \]
![Essential amino acid (EAA, % of true protein) composition of selected feeds from the NASEM (2021) feed tables, which is equivalent to the EAA composition of rumen undegraded protein from these feeds.](_main_files/figure-html/unnamed-chunk-112-1.png)
Figure 12.3: Essential amino acid (EAA, % of true protein) composition of selected feeds from the NASEM (2021) feed tables, which is equivalent to the EAA composition of rumen undegraded protein from these feeds.
NASEM (2021) assumed that the digestibility of each individual AA in RUP was the same as the digestibility of RUP (p. 78). The committee noted that this assumption is likely incorrect, but they had insufficient data to recommend digestibility coefficients for each individual AA.
For a given feed, the digested fraction of each EAA can be calculated using the digestibility coefficient of RUP for that feed (\(dcRUP\)) multiplied by the total supply of each EAA in RUP supply. In the NASEM (2021) model, these AA supplies are corrected for incomplete recovery during hydrolysis to correct for errors introduced by laboratory methods. This aspect is omitted from our interactive textbook.
\[ \text{dRUPEAA, g/d} = dcRUP * \begin{bmatrix} \text{Arg, g/d} \\ \text{His, g/d} \\ \text{Ile, g/d} \\ \text{Leu, g/d} \\ \text{Lys, g/d} \\ \text{Met, g/d} \\ \text{Phe, g/d} \\ \text{Thr, g/d} \\ \text{Trp, g/d} \\ \text{Val, g/d} \\ \end{bmatrix} \]
Test Yourself:
True or false: The digestibility of each individual AA in RUP is assumed to be the same as the overall digestibility of RUP.
True or false: In many feeds, only a small portion (10-20%) of RUP is digestible.
12.7 Examples
- Open NASEM dairy-8.
- Load one of the default simulations, for example by clicking File > Load Simulation > "Example-Lactating-Cow-DIM-150." The default simulation is pre-populated with inputs, so there is no need to add information about the animal. However, this information can be modified if you are interested in seeing the results.
- Click "Reports" tile in the top menu.
- Check "All" under "Select one or more reports." Then hit the button "Generate Selected Reports." A Word Document will appear for download.
- In the Word Document, find "Report 6. Protein and Amino Acid Supply and Requirements." This report shows the Metabolized Protein Supply including the fractions derived from microbial CP versus RUP. Then, scroll down a few pages to find "6.4 Duodenal AA Flows, g/d." This table shows the supply of EAA from RUP and MiCP as calculated above. Note that NASEM (2021) includes a correction for incomplete recovery of AA during laboratory analysis that was not discussed in this chapter.
# load required packages
library(dplyr)
# Inputs - these were generated in examples for last chapter
= 903.3779 # g/d
MiTP = c('Wheat grain',' Corn silage, typical','Legume silage, mid-maturity','Soybean meal, solvent 48CP')
Feed = c(28.6788318293683, 32.9167509509957, 26.8887175712971, 32.7318319327731)
rup_ests = c(87.734, 70, 70, 91)
dcRUP
# Calculate microbial TP and digestible MiTP and RUP, calculate MP
= 0.80 * MiTP
dMiTP = dcRUP * rup_ests # rup_ests g/d
dRUP = dMiTP + dRUP
MP
# Dataframe with selected feeds
# Fd_CP is a percent of DM
# Fd_RUP_base is the RUP as a % of CP
# Fd_dcRUP is the digestibility coefficient of RUP
# AAname is the name of AA
# AApercent of CP is the percent of CP from that AA
# Inclusion is the proportion of the diet DM made up by this ingredient.
# Diet DMI is the kg/d intake of the entire diet
<- structure(list(Fd_Name = c(
feed_aa_rup_info "Wheat grain", "Wheat grain", "Wheat grain",
"Wheat grain", "Wheat grain", "Wheat grain", "Wheat grain", "Wheat grain",
"Wheat grain", "Wheat grain", "Corn silage, typical", "Corn silage, typical",
"Corn silage, typical", "Corn silage, typical", "Corn silage, typical",
"Corn silage, typical", "Corn silage, typical", "Corn silage, typical",
"Corn silage, typical", "Corn silage, typical", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Soybean meal, solvent 48CP",
"Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP",
"Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP",
"Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP"
Fd_CP = c(
), 13.485, 13.485, 13.485, 13.485, 13.485, 13.485,
13.485, 13.485, 13.485, 13.485, 7.707, 7.707, 7.707, 7.707, 7.707,
7.707, 7.707, 7.707, 7.707, 7.707, 20.471, 20.471, 20.471, 20.471,
20.471, 20.471, 20.471, 20.471, 20.471, 20.471, 52.644, 52.644,
52.644, 52.644, 52.644, 52.644, 52.644, 52.644, 52.644, 52.644
Fd_RUP_base = c(
), 28.686, 28.686, 28.686, 28.686, 28.686, 28.686,
28.686, 28.686, 28.686, 28.686, 32.917, 32.917, 32.917, 32.917,
32.917, 32.917, 32.917, 32.917, 32.917, 32.917, 26.89, 26.89,
26.89, 26.89, 26.89, 26.89, 26.89, 26.89, 26.89, 26.89, 32.746,
32.746, 32.746, 32.746, 32.746, 32.746, 32.746, 32.746, 32.746,
32.746
Fd_dcRUP = c(
), 87.734, 87.734, 87.734, 87.734, 87.734,
87.734, 87.734, 87.734, 87.734, 87.734, 70, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 91, 91,
91, 91, 91, 91, 91, 91, 91, 91
AAname = c(
), "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP", "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP", "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP", "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP"
AApercentofCP = c(
), 4.794,
2.154, 3.445, 6.537, 2.761, 1.537, 4.447, 2.946, 1.357, 4.444,
2.317, 1.707, 3.415, 8.537, 2.805, 1.585, 3.902, 3.415, 0.732,
4.512, 1.762, 1.917, 4.145, 6.736, 4.715, 1.347, 4.352, 3.834,
1.192, 5.078, 7.291, 2.641, 4.537, 7.63, 6.163, 1.377, 5.034,
3.95, 1.377, 4.763
Inclusion = c(
), 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
0.1, 0.1, 0.1, 0.1, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.3, 0.3,
0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3
DMI = c(
), 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25
class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -40L))
)),
# Calculate AA flows in digestible RUP, g/d for each feed
# The resulting calculations are new columns in the dataframe
# Each result is specific to FEED, or specific to FEED and AA (AAgperd)
%>%
feed_aa_rup_info mutate(CPgperd = DMI*Inclusion*(Fd_CP/100), # NOTE this is repeated across AA
RUPgperd = DMI*Inclusion*(Fd_CP/100)*(Fd_RUP_base/100), # NOTE this is repeated across AA
dRUPgperd = DMI*Inclusion*(Fd_CP/100)*(Fd_RUP_base/100)*(Fd_dcRUP/100)*1000, # NOTE this is repeated across AA
dRUPEAAgperd = dRUPgperd*(AApercentofCP/100)) # grams of individual AA.
# Note - must use list evaluation: dRUP = [dcRUP[i] * rup_ests[i] for i in range(len(rup_ests))] or the alternative.
import pandas as pd
# Inputs - these were generated in examples for last chapter
= 903.3779 # g/d
MiTP = ['Wheat grain', 'Corn silage, typical', 'Legume silage, mid-maturity', 'Soybean meal, solvent 48CP']
Feed = [28.6788318293683, 32.9167509509957, 26.8887175712971, 32.7318319327731]
rup_ests = [87.734, 70, 70, 91]
dcRUP
# Calculate microbial TP and digestible MiTP and RUP, calculate MP
= 0.80 * MiTP
dMiTP = [r * e for r, e in zip(dcRUP, rup_ests)]
dRUP = [dMiTP + r for r in dRUP]
MP
# Dataframe with selected feeds
# Fd_CP is a percent of DM
# Fd_RUP_base is the RUP as a % of CP
# Fd_dcRUP is the digestibility coefficient of RUP
# AAname is the name of AA
# AApercent of CP is the percent of CP from that AA
# Inclusion is the proportion of the diet DM made up by this ingredient.
# Diet DMI is the kg/d intake of the entire diet
= [
Fd_Name "Wheat grain", "Wheat grain", "Wheat grain",
"Wheat grain", "Wheat grain", "Wheat grain", "Wheat grain", "Wheat grain",
"Wheat grain", "Wheat grain", "Corn silage, typical", "Corn silage, typical",
"Corn silage, typical", "Corn silage, typical", "Corn silage, typical",
"Corn silage, typical", "Corn silage, typical", "Corn silage, typical",
"Corn silage, typical", "Corn silage, typical", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Legume silage, mid-maturity",
"Legume silage, mid-maturity", "Soybean meal, solvent 48CP",
"Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP",
"Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP",
"Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP", "Soybean meal, solvent 48CP"
]= [
Fd_CP 13.485, 13.485, 13.485, 13.485, 13.485, 13.485,
13.485, 13.485, 13.485, 13.485, 7.707, 7.707, 7.707, 7.707, 7.707,
7.707, 7.707, 7.707, 7.707, 7.707, 20.471, 20.471, 20.471, 20.471,
20.471, 20.471, 20.471, 20.471, 20.471, 20.471, 52.644, 52.644,
52.644, 52.644, 52.644, 52.644, 52.644, 52.644, 52.644, 52.644
]
= [
Fd_RUP_base 28.686, 28.686, 28.686, 28.686, 28.686, 28.686,
28.686, 28.686, 28.686, 28.686, 32.917, 32.917, 32.917, 32.917,
32.917, 32.917, 32.917, 32.917, 32.917, 32.917, 26.89, 26.89,
26.89, 26.89, 26.89, 26.89, 26.89, 26.89, 26.89, 26.89, 32.746,
32.746, 32.746, 32.746, 32.746, 32.746, 32.746, 32.746, 32.746,
32.746
]
= [
Fd_dcRUP 87.734, 87.734, 87.734, 87.734, 87.734,
87.734, 87.734, 87.734, 87.734, 87.734, 70, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 91, 91,
91, 91, 91, 91, 91, 91, 91, 91]
= [
AAname "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP", "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP", "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP", "Fd_Arg_CP", "Fd_His_CP",
"Fd_Ile_CP", "Fd_Leu_CP", "Fd_Lys_CP", "Fd_Met_CP", "Fd_Phe_CP",
"Fd_Thr_CP", "Fd_Trp_CP", "Fd_Val_CP"
]= [
AApercentofCP 4.794,
2.154, 3.445, 6.537, 2.761, 1.537, 4.447, 2.946, 1.357, 4.444,
2.317, 1.707, 3.415, 8.537, 2.805, 1.585, 3.902, 3.415, 0.732,
4.512, 1.762, 1.917, 4.145, 6.736, 4.715, 1.347, 4.352, 3.834,
1.192, 5.078, 7.291, 2.641, 4.537, 7.63, 6.163, 1.377, 5.034,
3.95, 1.377, 4.763]
= [
Inclusion 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
0.1, 0.1, 0.1, 0.1, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
0.4, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.3, 0.3,
0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]
= [
DMI 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25
]= {
data 'Fd_Name': Fd_Name,
'Fd_CP': Fd_CP,
'Fd_RUP_base': Fd_RUP_base,
'Fd_dcRUP': Fd_dcRUP,
'AAname': AAname,
'AApercentofCP': AApercentofCP,
'Inclusion': Inclusion,
'DMI': DMI
}
= pd.DataFrame(data)
feed_aa_rup_info
# Calculate AA flows in digestible RUP, g/d for each feed
# The resulting calculations are new columns in the dataframe
# Each result is specific to FEED, or specific to FEED and AA (AAgperd)
'CPgperd'] = feed_aa_rup_info['DMI'] * feed_aa_rup_info['Inclusion'] * (feed_aa_rup_info['Fd_CP'] / 100)
feed_aa_rup_info['RUPgperd'] = feed_aa_rup_info['DMI'] * feed_aa_rup_info['Inclusion'] * (feed_aa_rup_info['Fd_CP'] / 100) * (feed_aa_rup_info['Fd_RUP_base'] / 100)
feed_aa_rup_info['dRUPgperd'] = feed_aa_rup_info['DMI'] * feed_aa_rup_info['Inclusion'] * (feed_aa_rup_info['Fd_CP'] / 100) * (feed_aa_rup_info['Fd_RUP_base'] / 100) * (feed_aa_rup_info['Fd_dcRUP'] / 100) * 1000
feed_aa_rup_info['dRUPEAAgperd'] = feed_aa_rup_info['dRUPgperd'] * (feed_aa_rup_info['AApercentofCP'] / 100) feed_aa_rup_info[
12.8 Questions
- What is microbial TP and how is its digestibility calculated? Is it specific to each feed?
- How is the amount of digestible RUP calculated? Is it specific to each feed?
- What is Metabolizable Protein (MP) and how is it calculated?
- Why is MP preferred over crude protein (CP) for describing and assessing diets?
- How is the essential amino acid profile of microbial true protein determined?
- How is the essential amino acid composition of RUP calculated?