Tuesday, July 8, 2014

A Nutritious Breakfast: Less Than 5 Minutes, No More Than $4

Inspired by Lizzie Widdicombe's article The End of Food in the May 12, 2014 issue of the New Yorker, I recently set out on a quest to find a nutritious breakfast made up of foods I would normally eat.

The Breakfasts


Let me start with the punchline.  A breakfast of:
  • 1/2 cup instant dry Cream of Wheat prepared with 1 1/3 cups skim milk
  • 1/4 cup (4 tbsp) sunflower seeds
  • 3 tbsp pumpkin seeds
  • 2 tbsp chia seeds (measured, then ground)
  • Ovega capsule (to be sure of getting the recommended dietary omega-3 fatty acids EPA and DHA)
  • 1 600 IU Vitamin D capsule
  • 1 500μg Vitamin B12 tablet
is 884 calories and satisfies all the nutritional requirements in the USDA Daily Reference Intake except for Vitamin C, fiber, and calories. This breakfast's omega-6 to omega-3 ratio is below 4:1, and it provides 14.5g of total dietary fiber (whereas 25g is my recommended daily intake). I can get the remaining nutrients by eating fruits and vegetables throughout the day.

I'm pleased that this breakfast is simple, quick, and tasty, and all the ingredients are easy to obtain. I've experimented with eating the seeds separately, or mixed in the Cream of Wheat; either way is fine.

Pricing this out on Amazon:
The total cost of this breakfast is $4.00.

A vegan version of this breakfast:
  • 1/2 cup instant dry Cream of Wheat
  • 1/4 cup (4 tbsp) sunflower seeds
  • 8 tsp poppy seeds
  • 6 tsp pumpkin seeds
  • 8 tsp chia seeds (measured, then ground)
  • Ovega capsule (to be sure of getting the recommended dietary omega-3 fatty acids EPA and DHA) 
  • 1 600 IU Vitamin D capsule
  • 1 500μg Vitamin B12 tablet
is 884 calories and again satisfies all the nutritional requirements in the USDA Daily Reference Intake except for Vitamin C, fiber, possibly protein, a little carbohydrate, and calories. This breakfast's omega-6 to omega-3 ratio is below 4:1, and it provides 21g of total dietary fiber. (A word to the wise: rumor has it that consuming poppy seeds may cause you to fail a drug test. So if you need to undergo drug screening, you might want to keep this in mind.) Again, I can get the remaining nutrients by eating fruits and vegetables throughout the day.

Pricing this out on Amazon:
  • A 10 lb bag of Angelina's Gourmet poppy seeds is currently $31.99. So, 160 ounces is 4480g. I'm using 24g (8 tsp) of poppy seeds in the vegan breakfast.
    • The cost of the poppy seeds is $0.17.
  • Now I'm using 17.25g (6tsp) of pumpkin seeds, rather than 25.875g (9tsp).
    • The cost of the pumpkin seeds is $0.22.
  • Now I'm using 27.13g (8 tsp) of chia seeds, rather than 20.34g (6 tsp).
    • The cost of the chia seeds is $0.36.
The total cost of this vegan breakfast (including the other unchanged items from above) is $3.46.

Synthesizing Breakfasts from Data


Now I'll explain a bit about how I came up with these breakfasts.

Loading the Nutrition Data


First I downloaded the USDA nutritional database files. Then I loaded the files into a PostgreSQL database, using the nutes project that Eric Chlebek posted on Github. (A couple of minor details: I hand edited the paths to the USDA files which were hardcoded in import.sql, and I did the import as a superuser so the COPY commands in import.sql would work.)

I also downloaded the Dietary Reference Intakes for Individuals from the USDA. (It's beyond me why they provide these in a PDF rather than a spreadsheet.) I created a new table in my PostgreSQL database for this information:

nutrition=> \d dietary_reference_intake
Table "public.dietary_reference_intake"
   Column   | Type | Modifiers
------------+------+-----------
 kind       | text |
 life_stage | text |
 nutr_no    | text |
 amount     | real |
Foreign-key constraints:
    "dietary_reference_intake_nutr_no_fkey" FOREIGN KEY (nutr_no) REFERENCES nutrients(nutr_no)

Here nutr_no is the primary key of the nutrients table. If I were doing the import again, I would edit schema.sql beforehand to make nutr_no an integer field instead of a text field.

I populated the dietary_reference_intake table by hand using the information in the PDF. I only entered the information that's currently relevant to me:

nutrition=> SELECT * FROM dietary_reference_intake;
 life_stage | nutr_no | amount
------------+---------+--------
 31-50 y    | 301     |    800
 31-50 y    | 205     |    100
 31-50 y    | 320     |    500
 31-50 y    | 401     |     60
 31-50 y    | 328     |     10
 31-50 y    | 323     |     12
 31-50 y    | 404     |    0.9
 31-50 y    | 405     |    0.9
 31-50 y    | 406     |     11
 31-50 y    | 415     |    1.1
 31-50 y    | 417     |    320
 31-50 y    | 418     |      2
 31-50 y    | 303     |    8.1
 31-50 y    | 312     |    0.7
 31-50 y    | 304     |    265
 31-50 y    | 305     |    580
 31-50 y    | 317     |     45
 31-50 y    | 309     |    6.8
(18 rows)

Here it is again joined with the nutrients table so you can verify that the dietary_reference_intake table matches what's in the PDF from the USDA:

nutrition=> SELECT i.nutr_no, i.amount, n.units, n.nutr_desc
nutrition-> FROM dietary_reference_intake as i, nutrients AS n
nutrition-> WHERE i.nutr_no = n.nutr_no;
 nutr_no | amount | units |           nutr_desc
---------+--------+-------+--------------------------------
 301     |    800 | mg    | Calcium, Ca
 205     |    100 | g     | Carbohydrate, by difference
 320     |    500 | μg    | Vitamin A, RAE
 401     |     60 | mg    | Vitamin C, total ascorbic acid
 328     |     10 | μg    | Vitamin D (D2 + D3)
 323     |     12 | mg    | Vitamin E (alpha-tocopherol)
 404     |    0.9 | mg    | Thiamin
 405     |    0.9 | mg    | Riboflavin
 406     |     11 | mg    | Niacin
 415     |    1.1 | mg    | Vitamin B-6
 417     |    320 | μg    | Folate, total
 418     |      2 | μg    | Vitamin B-12
 303     |    8.1 | mg    | Iron, Fe
 312     |    0.7 | mg    | Copper, Cu
 304     |    265 | mg    | Magnesium, Mg
 305     |    580 | mg    | Phosphorus, P
 317     |     45 | μg    | Selenium, Se
 309     |    6.8 | mg    | Zinc, Zn
(18 rows)

NB: The units of copper in the Dietary Reference Intakes for Individuals PDF are μg, whereas the units of copper in the nutrient database are mg.

I left out the protein requirement from this table as it depends on the mass of the individual. We'll check up on it below. Molybdenum and iodine are in the dietary reference intake, however they're not in the USDA nutrient database. Apparently molybdenum is in plenty of foods and the amount needed is minuscule; perhaps that's why they left it out. Iodine deficiency can be a real issue. Perhaps it was left out because its presence in foods is too variable? Iodized salt may take care of this requirement for many people.

Finding Nutritional Information in the Database



Each food in the database is represented by an entry in the foods table, whose primary key is ndb_no (I guess that stands for Nutrient DataBase Number). To find out how much of a given nutrient is in 100g of a given food, we look at the corresponding nutrition_value entry in the nutrient_data table. For instance, how much niacin is in 100g of yeast extract spread?

nutrition=> SELECT d.ndb_no, d.nutr_no,
nutrition-> d.nutrition_value, n.units
nutrition-> FROM nutrient_data AS d,
nutrition-> foods AS f,
nutrition-> nutrients AS n
nutrition-> WHERE d.ndb_no = f.ndb_no
nutrition-> AND d.nutr_no = n.nutr_no
nutrition-> AND f.longdesc = 'Yeast extract spread'
nutrition-> AND n.nutr_desc = 'Niacin';
 ndb_no | nutr_no | nutrition_value | units
--------+---------+-----------------+-------
 43406  | 406     |         127.500 | mg
(1 row)

The foods table also lists the food group of each food, which is handy. Each entry in the foods table has a foreign key foodgroup_code referencing the food_groups table. Here is the food_groups table:

nutrition=> SELECT * FROM food_groups;
 foodgroup_code |           foodgroup_desc
----------------+-------------------------------------
 0100           | Dairy and Egg Products
 0200           | Spices and Herbs
 0300           | Baby Foods
 0400           | Fats and Oils
 0500           | Poultry Products
 0600           | Soups, Sauces, and Gravies
 0700           | Sausages and Luncheon Meats
 0800           | Breakfast Cereals
 0900           | Fruits and Fruit Juices
 1000           | Pork Products
 1100           | Vegetables and Vegetable Products
 1200           | Nut and Seed Products
 1300           | Beef Products
 1400           | Beverages
 1500           | Finfish and Shellfish Products
 1600           | Legumes and Legume Products
 1700           | Lamb, Veal, and Game Products
 1800           | Baked Products
 1900           | Sweets
 2000           | Cereal Grains and Pasta
 2100           | Fast Foods
 2200           | Meals, Entrees, and Side Dishes
 2500           | Snacks
 3500           | American Indian/Alaska Native Foods
 3600           | Restaurant Foods
(25 rows)

Nutrient-dense Foods



Now, what are some possible dietary sources of, say, iron?

nutrition=> SELECT round(
nutrition(> (i.amount / d.nutrition_value * 100)::numeric,
nutrition(> 1) AS amt,
nutrition-> f.longdesc
nutrition-> FROM dietary_reference_intake AS i,
nutrition-> nutrient_data AS d,
nutrition-> foods AS f,
nutrition-> nutrients AS n
nutrition-> WHERE i.nutr_no = d.nutr_no
nutrition-> AND d.ndb_no = f.ndb_no
nutrition-> AND d.nutr_no = n.nutr_no
nutrition-> AND n.nutr_desc = 'Iron, Fe'
nutrition-> AND d.nutrition_value > 0
nutrition-> AND f.foodgroup_code NOT IN
nutrition-> ('0400', '0500', '0700',
nutrition(> '1000', '1300', '1500',
nutrition(> '1700', '2500', '3500')
nutrition-> ORDER BY amt
nutrition-> LIMIT 10;
 amt  |                                longdesc
------+-------------------------------------------------------------------------
  6.6 | Spices, thyme, dried
  9.0 | Spices, basil, dried
  9.3 | Spearmint, dried
  9.8 | Spices, marjoram, dried
 12.0 | Cereals ready-to-eat, Ralston Enriched Bran flakes
 12.0 | Babyfood, cereal, oatmeal, with honey, dry
 12.2 | Seaweed, Canadian Cultivated EMI-TSUNOMATA, dry
 12.2 | Spices, cumin seed
 13.0 | Cereals ready-to-eat, KELLOGG, KELLOGG'S ALL-BRAN COMPLETE Wheat Flakes
 13.5 | Cereals ready-to-eat, GENERAL MILLS, Whole Grain TOTAL
(10 rows)

This says that, for example, it would take 9g of dried basil to satisfy my entire dietary iron requirement for the day. We got this number as follows:

(amount of nutrient needed)
÷ (amount of nutrient supplied per database serving of food)
= (database servings of food needed)

and

(database servings of food needed) * (100 g / database serving) = (g of food needed)

The amount of nutrient needed is i.amount, and the amount of nutrient supplied per database serving of food is d.nutrition_value, so the number of grams of food needed to supply the daily nutrient requirement is i.amount/d.nutrition_value * 100.

On the other hand, it would take only 6.6g of dried thyme to satisfy the same requirement, so thyme has more iron per gram than basil does.

As we might expect, cereals with names like "Enriched", "Complete", and "Total" feature prominently. These cereals were designed with the nutrition-conscious marketing niche in mind. For various reasons, though, I would prefer hot cereal to cold cereal, so in other queries I excluded these by including AND f.longdesc NOT LIKE 'Cereals ready-to-eat%' in the WHERE clause.

Selected Foods for Breakfast



By exploring each of the nutrients in the dietary reference intake with queries like this, I zeroed in on:
  • Cream of Wheat (ndb_no: 08106) as a source of Vitamin A.
  • Sunflower seed kernels (ndb_no: 12036) as a source of Vitamin E.
  • Skim milk (ndb_no: 01151) as a source of calcium.
  • Poppy seeds (ndb_no: 02033) as a vegan source of calcium.
  • Pumpkin seed kernels (ndb_no: 12014) as a source of zinc.
  • Chia seeds (ndb_no: 12006) as a source of omega-3 fatty acids.
I had previously heard that milk might not be a good source of calcium, as protein would interfere with calcium absorption. However, when outcomes in terms of bone density/loss were looked at, this does not seem to have been borne out by the evidence, e.g., Calvez et al. 2011, Heaney 2000, Kerstetter et al. 2005.

Once I had focused on a particular food, I then looked at the amount of it (in grams) needed to satisfy daily nutrient requirements with queries like this one for Cream of Wheat (ndb_no: 08106):

nutrition=> SELECT round(
nutrition(> (i.amount / d.nutrition_value * 100)::numeric,
nutrition(> 1) AS amt,
nutrition-> n.nutr_desc
nutrition-> FROM dietary_reference_intake AS i,
nutrition-> nutrient_data AS d,
nutrition-> foods AS f,
nutrition-> nutrients AS n
nutrition-> WHERE i.nutr_no = d.nutr_no
nutrition-> AND d.ndb_no = f.ndb_no
nutrition-> AND d.nutr_no = n.nutr_no
nutrition-> AND d.nutrition_value > 0
nutrition-> AND f.ndb_no = '08106'
nutrition-> ORDER BY amt;
   amt   |          nutr_desc
---------+------------------------------
    28.3 | Iron, Fe
    37.3 | Vitamin A, RAE
    61.6 | Vitamin B-6
    61.6 | Niacin
    67.2 | Thiamin
    74.1 | Riboflavin
    89.6 | Folate, total
   132.5 | Carbohydrate, by difference
   224.1 | Calcium, Ca
   225.0 | Selenium, Se
   324.1 | Copper, Cu
   563.1 | Phosphorus, P
   693.9 | Zinc, Zn
   779.4 | Magnesium, Mg
 10909.1 | Vitamin E (alpha-tocopherol)
(15 rows)

This says, for instance, that it would take 28.3g of Cream of Wheat to satisfy my daily iron requirement through Cream of Wheat alone. It's easier for me to measure foods by volume rather than weight. To convert between weights and volumes of foods, I went to SELFNutritionData. It incorporates the USDA nutrient database, and also has a drop-down with various choices of serving size for each food. (If this information is in the USDA nutrient database I haven't been able to find it.) This tells me, for instance, that 1 cup of instant dry Cream of Wheat is 178g.

Now, for example, 1/2 cup of Cream of Wheat is easy to measure out, and this is 89g. It satisfies my daily requirements for iron, Vitamin A, Vitamin B-6, niacin, thiamin, and riboflavin, and almost satisfies the daily requirement for total folate. How much of my daily calcium requirement does this satisfy?

(89g of Cream of Wheat in serving)
÷ (224.1g of Cream of Wheat per daily calcium requirement)
= (0.4 of daily calcium requirement)
= 40% of daily calcium requirement

Similarly, it provides

  • 39.6% of daily selenium requirement
  • 27% of daily copper requirement
  • 16% of daily phosphorus requirement
  • 12.8% of daily zinc requirement
  • 11% of daily magnesium requirement

It doesn't do anything significant for my daily Vitamin E requirement.

By looking at the nutrient profiles of crude wheat bran (ndb_no: 20077) and crude wheat germ (ndb_no: 20078), we find that the Cream of Wheat was probably fortified with Vitamin A since it's not present in either wheat bran or wheat germ. Fortification with Vitamin A leads to high bioavailability.

Similarly, here's the amount (in grams) of sunflower seed kernels (ndb_no: 12036) needed to satisfy daily nutrient requirements:
   amt   |           nutr_desc
---------+--------------------------------
    34.1 | Vitamin E (alpha-tocopherol)
    38.9 | Copper, Cu
    60.8 | Thiamin
    81.5 | Magnesium, Mg
    81.8 | Vitamin B-6
    84.9 | Selenium, Se
    87.9 | Phosphorus, P
   132.0 | Niacin
   136.0 | Zinc, Zn
   141.0 | Folate, total
   154.3 | Iron, Fe
   253.5 | Riboflavin
   500.0 | Carbohydrate, by difference
  1025.6 | Calcium, Ca
  4285.7 | Vitamin C, total ascorbic acid
 16666.7 | Vitamin A, RAE
(16 rows)

We find that 1 cup of dried sunflower seed kernels is 140g.

Here's the amount (in grams) of skim milk (ndb_no: 01151) needed to satisfy daily nutrient requirements:
   amt    |          nutr_desc
----------+------------------------------
    400.0 | Vitamin B-12
    494.5 | Riboflavin
    574.3 | Phosphorus, P
    655.7 | Calcium, Ca
   1451.6 | Selenium, Se
   1619.0 | Zinc, Zn
   2000.0 | Thiamin
   2016.1 | Carbohydrate, by difference
   2409.1 | Magnesium, Mg
   2973.0 | Vitamin B-6
   5384.6 | Copper, Cu
   6400.0 | Folate, total
  11702.1 | Niacin
  25000.0 | Vitamin A, RAE
  27000.0 | Iron, Fe
 120000.0 | Vitamin E (alpha-tocopherol)
(16 rows)

We find that 1 cup of nonfat milk is 245g.

Here's the amount (in grams) of poppy seeds (ndb_no: 02033) needed to satisfy daily nutrient requirements:
  amt   |           nutr_desc
--------+--------------------------------
   43.0 | Copper, Cu
   55.6 | Calcium, Ca
   66.7 | Phosphorus, P
   76.4 | Magnesium, Mg
   83.0 | Iron, Fe
   86.1 | Zinc, Zn
  105.4 | Thiamin
  333.3 | Selenium, Se
  355.5 | Carbohydrate, by difference
  390.2 | Folate, total
  445.3 | Vitamin B-6
  678.0 | Vitamin E (alpha-tocopherol)
  900.0 | Riboflavin
 1227.7 | Niacin
 6000.0 | Vitamin C, total ascorbic acid
(15 rows)

We find that 1 tbsp of poppy seeds is 9g.

Here's the amount (in grams) of pumpkin seeds (ndb_no: 12014) needed to satisfy daily nutrient requirements:
   amt   |           nutr_desc
---------+--------------------------------
    44.8 | Magnesium, Mg
    47.0 | Phosphorus, P
    52.1 | Copper, Cu
    87.1 | Zinc, Zn
    91.8 | Iron, Fe
   220.6 | Niacin
   329.7 | Thiamin
   478.7 | Selenium, Se
   550.5 | Vitamin E (alpha-tocopherol)
   551.7 | Folate, total
   588.2 | Riboflavin
   769.2 | Vitamin B-6
   933.7 | Carbohydrate, by difference
  1739.1 | Calcium, Ca
  3157.9 | Vitamin C, total ascorbic acid
 50000.0 | Vitamin A, RAE
(16 rows)

We find that 1 cup of pumpkin seed kernels is 138g. With 48 tsp to a cup, we have 2.875 g per teaspoon of pumpkin seeds.

Here's the amount (in grams) of chia seeds (ndb_no: 12006) needed to satisfy daily nutrient requirements:
  amt   |           nutr_desc
--------+--------------------------------
   67.4 | Phosphorus, P
   75.8 | Copper, Cu
   79.1 | Magnesium, Mg
   81.5 | Selenium, Se
  104.9 | Iron, Fe
  124.6 | Niacin
  126.8 | Calcium, Ca
  145.2 | Thiamin
  148.5 | Zinc, Zn
  237.4 | Carbohydrate, by difference
  529.4 | Riboflavin
  653.1 | Folate, total
 2400.0 | Vitamin E (alpha-tocopherol)
 3750.0 | Vitamin C, total ascorbic acid
(14 rows)

For some reason,  SELFNutritionData did not have a volume measurement for chia seeds. I found through Chia amounts conversion that 1 tsp of chia seeds is 3.39g.

Amounts of Each Food



Now, I came up with the amounts of these foods for the above breakfasts by considering what amounts would be easy to measure out and to eat, and putting them together to make up the dietary nutrient requirements.

Omega Fatty Acids


In an influential 2002 paper, A.P. Simopoulos described the importance of the ratio of omega-6/omega-3 essential fatty acids. Omega-6 fatty acids are pro-inflammatory, whereas omega-3 fatty acids are anti-inflammatory. From the paper, I decided to make the ratio of omega-6 fatty acids to omega-3 fatty acids in the breakfasts no more than 4:1. Omega-3 fatty acids are thought to have a variety of health benefits. Various scientific bodies have issued guidelines recommending minimum daily amounts of omega fatty acids. I include the Ovega capsule to get the recommended EPA and DHA.

To find the information about omega fatty acids, I needed to know the nomenclature used. The USDA answers the Frequently Asked Question: What are omega-3 and omega-6 fatty acids? as follows:
These are types of polyunsaturated fatty acids. Linolenic acid, the shortest chain omega-3 fatty acid, and linoleic acid, the shortest chain omega-6 fatty acid, are essential fatty acids. This means they cannot be synthesized by the body from other fatty acids and must be obtained from food. The most common fatty acids of each class are linolenic (18:3), EPA (20:5), DHA (22:6) for omega-3 and linoleic (18:2) and arachidonic (20:4) for omega-6.

Putting It All Together


So, as mentioned above, I chose 89g or 1/2 cup of Cream of Wheat. Let's look at what this amount of Cream of Wheat gives me in terms of omega fatty acids:

nutrition=> SELECT 0.89 * d.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d,
nutrition-> nutrients n
nutrition-> WHERE d.nutr_no = n.nutr_no
nutrition-> AND n.nutr_no IN (
nutrition(> '618', '619', '620', '621', '629',
nutrition(> '665', '666', '669', '670', '675',
nutrition(> '685', '851', '855', '856'
nutrition(> ) AND d.nutrition_value > 0
nutrition-> AND d.ndb_no = '08106';
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
 amount_in_diet | units |       nutr_desc
----------------+-------+-----------------------
        0.61588 | g     | 18:2 undifferentiated
        0.07298 | g     | 18:3 undifferentiated
(2 rows)

Note that we have 0.62g of linoleic (18:2), an omega-6 fatty acid, and 0.07g of linolenic (18:3), an omega-3 fatty acid.

Next let's consider sunflower seeds. Among the above foods, the sunflower seed kernels are the only significant source of Vitamin E, so I chose 35g or 1/4 cup to satisfy the Vitamin E requirement. This 35g of sunflower seeds satisfies:


  • 103% of daily Vitamin E requirement
  • 90% of daily copper requirement
  • 43% of daily magnesium requirement
  • 41.2% of daily selenium requirement
  • 40% of daily phosphorus requirement
  • 25.7% of daily zinc requirement
  • 25% of daily total folate requirement
  • 3% of daily calcium requirement

So, together with the Cream of Wheat, so far we've satisfied my daily requirements for iron, Vitamin A, Vitamin B-6, niacin, thiamin, riboflavin, folate, Vitamin E, and copper. We've also satisfied:

  • 80.8% of daily selenium requirement
  • 56% of daily phosphorus requirement
  • 54% of daily magnesium requirement
  • 43% of daily calcium requirement
  • 38.5% of daily zinc requirement

Let's look at what this amount of sunflower seeds gives me in terms of omega fatty acids:
nutrition=> SELECT 0.35 * d.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d,
nutrition-> nutrients n
nutrition-> WHERE d.nutr_no = n.nutr_no
nutrition-> AND n.nutr_no IN (
nutrition(> '618', '619', '620', '621', '629',
nutrition(> '665', '666', '669', '670', '675',
nutrition(> '685', '851', '855', '856'
nutrition(> ) AND d.nutrition_value > 0
nutrition-> AND d.ndb_no = '12036';
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
        8.06750 | g     | 18:2 undifferentiated
        0.02100 | g     | 18:3 undifferentiated
        0.00490 | g     | 20:5 n-3 (EPA)
(3 rows)

Here 20:5 n-3 (EPA) is another omega-3 fatty acid. Notice that, together with the Cream of Wheat, we have a total of 0.62g + 8.07g = 8.69g of omega-6 fatty acid, and only 0.073g + 0.026g = 0.099g of omega-3 fatty acid. If we take into account the Ovega capsule, that still gives us only 0.599g of omega-3 fatty acid.

We will fix this with some chia seeds. Let's look at what 100g of chia seeds gives me in terms of omega fatty acids:

nutrition=> SELECT d.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d,
nutrition-> nutrients n
nutrition-> WHERE d.nutr_no = n.nutr_no
nutrition-> AND n.nutr_no IN (
nutrition(> '618', '619', '620', '621', '629',
nutrition(> '665', '666', '669', '670', '675',
nutrition(> '685', '851', '855', '856'
nutrition(> ) AND d.nutrition_value > 0
nutrition-> AND d.ndb_no = '12006';
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
          5.835 | g     | 18:2 undifferentiated
         17.830 | g     | 18:3 undifferentiated
          5.835 | g     | 18:2 n-6 c,c
         17.830 | g     | 18:3 n-3 c,c,c (ALA)
(4 rows)

We want to come up with an amount of chia seeds that brings the ratio of omega-6 fatty acids to omega-3 fatty acids back down to 4:1. Suppose we start with a grams of omega-3 fatty acids and b grams of omega-6 fatty acids from other foods, and we want to find an amount c of chia seeds to add so that the total ratio of omega-6 fatty acids to omega-3 fatty acids is 4:1. Then

b + 5.835 * c / 100 = 4 * (a + 17.83 * c / 100)

100 * b + 5.835 * c = 4 * (100 * a + 17.83 * c)

100 * (b - 4 * a) = (4 * 17.83 - 5.835) * c = 65.485 * c

c = (b - 4 * a) * 100 / 65.485

So finally:

c = (b - 4 * a) * 1.527

In particular, so far we have a = 0.599g and b = 8.69g, so we will add (8.69g - 4 * 0.599g) * 1.527 = 9.61g of chia seeds. The 9.61g of chia seeds satisfies:
  • 11.8% of daily selenium requirement
  • 14% of daily phosphorus requirement
  • 12% of daily magnesium requirement
  • 7.6% of daily calcium requirement
  • 6.5% of daily zinc requirement
Thus all together we have satisfied
  • 92.6% of daily selenium rquirement
  • 70% of daily phosphorus requirement
  • 66% of daily magnesium requirement
  • 50.6% of daily calcium requirement
  • 45% of daily zinc requirement

Next, let's look at my daily calcium requirement. I need a total of 800mg of calcium, and 49.4% of this, or 395mg, still needs to be supplied.

Suppose I get this from poppy seeds. Let's look at what 100g of poppy seeds gives me in terms of omega fatty acids:
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
         28.295 | g     | 18:2 undifferentiated
          0.273 | g     | 18:3 undifferentiated
          0.273 | g     | 18:3 n-3 c,c,c (ALA)
(3 rows)

In particular, 100g of poppy seeds has a=0.273g of omega-3 fatty acids and b=28.295g of omega-6 fatty acids. So for each 100g of poppy seeds, we would also need to add (28.295g - 4 * 0.273g) * 1.572 = 41.5g of chia seeds. How much calcium would this supply?
nutrition=> SELECT d1.nutrition_value 
nutrition-> + 0.415 * d2.nutrition_value
nutrition-> AS total_calcium_supplied,
nutrition-> n.units
nutrition-> FROM nutrient_data AS d1,
nutrition-> nutrient_data AS d2,
nutrition-> nutrients AS n
nutrition-> WHERE d1.ndb_no = '02033'
nutrition-> AND d2.ndb_no = '12006'
nutrition-> AND d1.nutr_no = d2.nutr_no
nutrition-> AND d1.nutr_no = n.nutr_no
nutrition-> AND n.nutr_desc = 'Calcium, Ca';
total_calcium_supplied | units
------------------------+-------
               1699.865 | mg

We only need 395mg, so we only need (395mg/1700mg) * 100g = 23.2g poppy seeds. Let's make it 24g poppy seeds, that is, 8 tsp. Then we also add another 0.415 * 24g = 9.96g of chia seeds.

The 24g of poppy seeds satisfies:

  • 7.2% of daily selenium requirement
  • 36% of daily phosphorus requirement
  • 31.4% of daily magnesium requirement
  • 43.2% of daily calcium requirement
  • 27.9% of daily zinc requirement

The additional 9.96g of chia seeds satisfies:

  • 12.2% of daily selenium requirement
  • 15% of daily phosphorus requirement
  • 12.6% of daily magnesium requirement
  • 7.9% of daily calcium requirement
  • 6.7% of daily zinc requirement

So if we use poppy seeds for calcium, with some additional chia seeds, all together we have satisfied:

  • 112% of daily selenium requirement
  • 121% of daily phosphorus requirement
  • 110% of daily magnesium requirement
  • 101.7% of daily calcium requirement
  • 79.6% of daily zinc requirement

Alternatively, suppose we use skim milk for calcium. Let's look at what 100g of skim milk gives me in terms of omega fatty acids:
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
          0.002 | g     | 18:2 undifferentiated
          0.001 | g     | 18:3 undifferentiated
(2 rows)

The omega-6 to omega-3 ratio of skim milk is already only 2:1, so we don't need additional chia seeds to go with it. 655.7g of skim milk would satisfy my entire daily calcium requirement. We only need to satisfy 49.4% of it, so we only need 0.494 * 655.7g = 323.9g of skim milk. Since 1 cup is 245g, this would be 1.32 cups. Let's make it 1 1/3 cups or 326.67g since this is easy to measure. It also makes the Cream of Wheat a reasonable consistency. 326.67g of skim milk satisfies:
  • 22.5% of the daily selenium requirement
  • 57% of the daily phosphorus requirement
  • 13.6% of the daily magnesium requirement
  • 49.8% of the daily calcium requirement
  • 20.2% of the daily zinc requirement
Thus all together we have satisfied:

  • 115% of the daily selenium requirement
  • 127% of the daily phosphorus requirement
  • 79.6% of the daily magnesium requirement
  • 100.4% of the daily calcium requirement
  • 65.2% of the daily zinc requirement
Finally, let's look at my daily zinc requirement. This is 6.8mg. If I've used poppy seeds, then 79.6% of this has already been satisfied, so I only need another 20.4% of 6.8mg or 1.39mg. If I've used skim milk, then 65.2% of this has already been satisfied, so I only need another 34.8% of 6.8mg or 2.37mg.

Let's look at what 100g of pumpkin seeds gives me in terms of omega fatty acids:
 amount_in_diet | units |         nutr_desc
----------------+-------+----------------------------
         20.710 | g     | 18:2 undifferentiated
          0.120 | g     | 18:3 undifferentiated
          0.131 | g     | 20:4 undifferentiated
          0.039 | g     | 18:2 t not further defined
          0.004 | g     | 18:2 CLAs
         20.667 | g     | 18:2 n-6 c,c
          0.120 | g     | 18:3 n-3 c,c,c (ALA)
(7 rows)

Here 20:4 is arachidonic, another omega-6 fatty acid. We have a=0.120g of omega-3 fatty acids and b=20.841g of omega-6 fatty acids. So for each 100g of pumpkin seeds, we would also need to add (20.841g - 4 * 0.12g) * 1.572 = 32g of chia seeds. How much zinc would this supply?
nutrition=> SELECT d1.nutrition_value 
nutrition-> + 0.32 * d2.nutrition_value
nutrition-> AS total_zinc_supplied,
nutrition-> n.units
nutrition-> FROM nutrient_data AS d1,
nutrition-> nutrient_data AS d2,
nutrition-> nutrients AS n
nutrition-> WHERE d1.nutr_no = d2.nutr_no
nutrition-> AND d2.nutr_no = n.nutr_no
nutrition-> AND d1.ndb_no = '12014'
nutrition-> AND d2.ndb_no = '12006'
nutrition-> AND n.nutr_desc = 'Zinc, Zn';
 total_zinc_supplied | units
---------------------+-------
              9.2756 | mg
(1 row)

If I've used poppy seeds, I only need (1.39mg/9.2756mg) * 100g = 15g of pumpkin seeds. Since there are 2.875g per teaspoon, this is 5.2 tsp. Let's make it an even 6 tsp or 2 tbsp. This is 17.25g. Then we also add another 0.32 * 17.25g = 5.52g of chia seeds.

The 17.25g of pumpkin seeds satisfy:

  • 19.8% of the daily zinc requirement

The additional 5.52g of chia seeds satisfy:

  • 3.7% of the daily zinc requirement

So all together we've satisfied:

  • 103% of the daily zinc requirement
On the other hand, if I've used skim milk, I only need (2.37mg/9.2756mg) * 100g = 25.6g of pumpkin seeds. Since there are 2.875g per teaspoon, this is 8.9 teaspoons. Let's make it an even 9 tsp or 3 tbsp. This is 25.875g. Then we also add 0.32 * 25.875g = 8.28g of chia seeds.

The 25.875g of pumpkin seeds satisfy:
  • 57.8% of the daily magnesium requirement
  • 29.7% of the daily zinc requirement
The additional 8.28g of chia seeds satisfy:
  • 10.5% of the daily magnesium requirement
  • 5.6% of the daily zinc requirement

So all together we've satisfied:
  • 148% of the daily magnesium requirement
  • 100.5% of the daily zinc requirement

If I've used poppy seeds, the total amount of chia seeds is 9.61g + 9.96g + 5.52g = 25.09g. This is 7.4 tsp. Let's make it an even 8 tsp. This is 27.14g.

If I've used skim milk, the total amount of chia seeds is 9.61g + 8.28g = 17.89g. This is 5.27 tsp. Let's make it an even 6 tsp or 2 tbsp. This is 20.34g.

I use a 500μg Vitamin B-12 tablet to satisfy the Vitamin B-12 requirement, even though it is only 2μg, because various conditions can lead to decreased absorption efficiency. The 600 IU Vitamin D capsule is based on this recommendation.

Macronutrients


Let's see what these breakfasts provide in terms of macronutrients.

The breakfast with skim milk provides:
nutrition=> SELECT 0.89 * d1.nutrition_value
nutrition-> + 0.35 * d2.nutrition_value
nutrition-> + 3.26667 * d3.nutrition_value
nutrition-> + 0.25875 * d4.nutrition_value
nutrition-> + 0.2034 * d5.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d1,
nutrition-> nutrient_data AS d2,
nutrition-> nutrient_data AS d3,
nutrition-> nutrient_data AS d4,
nutrition-> nutrient_data AS d5,
nutrition-> nutrients AS n
nutrition-> WHERE d1.nutr_no = n.nutr_no
nutrition-> AND d2.nutr_no = n.nutr_no
nutrition-> AND d3.nutr_no = n.nutr_no
nutrition-> AND d4.nutr_no = n.nutr_no
nutrition-> AND d5.nutr_no = n.nutr_no
nutrition-> AND d1.ndb_no = '08106'
nutrition-> AND d2.ndb_no = '12036'
nutrition-> AND d3.ndb_no = '01151'
nutrition-> AND d4.ndb_no = '12014'
nutrition-> AND d5.ndb_no = '12006'
nutrition-> AND n.nutr_no IN (
nutrition(> '203', '204', '205', '208', '209',
nutrition(> '210', '211', '212', '213', '214',
nutrition(> '287', '269', '291');
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
     38.9019264 | g     | Protein
     38.4625371 | g     | Total lipid (fat)
    101.7361037 | g     | Carbohydrate, by difference
      884.70043 | kcal  | Energy
      14.496460 | g     | Fiber, total dietary
(5 rows)

The vegan breakfast provides:
nutrition=> SELECT 0.89 * d1.nutrition_value
nutrition-> + 0.35 * d2.nutrition_value
nutrition-> + 0.24 * d3.nutrition_value
nutrition-> + 0.1725 * d4.nutrition_value
nutrition-> + 0.2714 * d5.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d1,
nutrition-> nutrient_data AS d2,
nutrition-> nutrient_data AS d3,
nutrition-> nutrient_data AS d4,
nutrition-> nutrient_data AS d5,
nutrition-> nutrients AS n
nutrition-> WHERE d1.nutr_no = n.nutr_no
nutrition-> AND d2.nutr_no = n.nutr_no
nutrition-> AND d3.nutr_no = n.nutr_no
nutrition-> AND d4.nutr_no = n.nutr_no
nutrition-> AND d5.nutr_no = n.nutr_no
nutrition-> AND d1.ndb_no = '08106'
nutrition-> AND d2.ndb_no = '12036'
nutrition-> AND d3.ndb_no = '02033'
nutrition-> AND d4.ndb_no = '12014'
nutrition-> AND d5.ndb_no = '12006'
nutrition-> AND n.nutr_no IN (
nutrition(> '203', '204', '205', '208', '209',
nutrition(> '210', '211', '212', '213', '214',
nutrition(> '287', '269', '291');
 amount_in_diet | units |          nutr_desc
----------------+-------+-----------------------------
      30.728231 | g     | Protein
      46.035361 | g     | Total lipid (fat)
      94.225043 | g     | Carbohydrate, by difference
       884.4679 | kcal  | Energy
       20.99816 | g     | Fiber, total dietary

The Dietary Reference Intake's protein requirement is 0.66g per kg of body weight. So, the breakfast including skim milk provides enough protein in itself for a 58.9kg or 130lb person, and the vegan breakfast provides enough protein in itself for a 46.6kg or 103lb person.

Essential Amino Acids


The World Health Organization recommends daily amounts of essential amino acids in mg per kg of body mass. Here we present these along with the resulting requirement for a 60kg individual:

Amino acid(s) mg per kg body mass g for a 60kg individual
H Histidine 10 0.6
I Isoleucine 20 1.2
L Leucine 39 2.34
K Lysine 30 1.8
M Methionine
+ C Cysteine
10.4 + 4.1 (15 total) 0.624 + 0.246 (0.9 total)
F Phenylalanine
+ Y Tyrosine
25 (total) 1.5 (total)
T Threonine 15 0.9
W Tryptophan 4 0.24
V Valine 26 1.56

Here are the amounts of each of these amino acids in the breakfast with skim milk:
nutrition=> SELECT 0.89 * d1.nutrition_value
nutrition-> + 0.35 * d2.nutrition_value
nutrition-> + 3.2666667 * d3.nutrition_value
nutrition-> + 0.25875 * d4.nutrition_value
nutrition-> + 0.2034 * d5.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d1,
nutrition-> nutrient_data AS d2,
nutrition-> nutrient_data AS d3,
nutrition-> nutrient_data AS d4,
nutrition-> nutrient_data AS d5,
nutrition-> nutrients AS n
nutrition-> WHERE d1.nutr_no = n.nutr_no
nutrition-> AND d2.nutr_no = n.nutr_no
nutrition-> AND d3.nutr_no = n.nutr_no
nutrition-> AND d4.nutr_no = n.nutr_no
nutrition-> AND d5.nutr_no = n.nutr_no
nutrition-> AND d1.ndb_no = '08106'
nutrition-> AND d2.ndb_no = '12036'
nutrition-> AND d3.ndb_no = '01151'
nutrition-> AND d4.ndb_no = '12014'
nutrition-> AND d5.ndb_no = '12006'
nutrition-> AND n.nutr_no IN (
nutrition(> '501', '502', '503', '504', '505',
nutrition(> '506', '507', '508', '509', '510',
nutrition(> '512');
 amount_in_diet | units |   nutr_desc
----------------+-------+---------------
   0.6290390681 | g     | Tryptophan
   1.4931231048 | g     | Threonine
   1.8708321558 | g     | Isoleucine
   3.2394943273 | g     | Leucine
   2.0083430094 | g     | Lysine
   0.9104321196 | g     | Methionine
   0.6069588007 | g     | Cystine
   2.1440748225 | g     | Phenylalanine
   1.4839112890 | g     | Tyrosine
   2.2405495907 | g     | Valine
   1.0796104034 | g     | Histidine

This breakfast meets or exceeds the recommended amounts of each of the essential amino acids for a 60kg individual.
Here are the amounts of each of these amino acids in the vegan breakfast:
nutrition=> SELECT 0.89 * d1.nutrition_value
nutrition-> + 0.35 * d2.nutrition_value
nutrition-> + 0.24 * d3.nutrition_value
nutrition-> + 0.1725 * d4.nutrition_value
nutrition-> + 0.2714 * d5.nutrition_value
nutrition-> AS amount_in_diet,
nutrition-> n.units, n.nutr_desc
nutrition-> FROM nutrient_data AS d1,
nutrition-> nutrient_data AS d2,
nutrition-> nutrient_data AS d3,
nutrition-> nutrient_data AS d4,
nutrition-> nutrient_data AS d5,
nutrition-> nutrients AS n
nutrition-> WHERE d1.nutr_no = n.nutr_no
nutrition-> AND d2.nutr_no = n.nutr_no
nutrition-> AND d3.nutr_no = n.nutr_no
nutrition-> AND d4.nutr_no = n.nutr_no
nutrition-> AND d5.nutr_no = n.nutr_no
nutrition-> AND d1.ndb_no = '08106'
nutrition-> AND d2.ndb_no = '12036'
nutrition-> AND d3.ndb_no = '02033'
nutrition-> AND d4.ndb_no = '12014'
nutrition-> AND d5.ndb_no = '12006'
nutrition-> AND n.nutr_no IN (
nutrition(> '501', '502', '503', '504', '505',
nutrition(> '506', '507', '508', '509', '510',
nutrition(> '512');
 amount_in_diet | units |   nutr_desc
----------------+-------+---------------
      0.5127004 | g     | Tryptophan
      1.1494976 | g     | Threonine
      1.4429739 | g     | Isoleucine
      2.3990569 | g     | Leucine
      1.2749780 | g     | Lysine
      0.7314207 | g     | Methionine
      0.6086798 | g     | Cystine
      1.6739449 | g     | Phenylalanine
      1.0470707 | g     | Tyrosine
      1.7098275 | g     | Valine
      0.8282834 | g     | Histidine
(11 rows)

This exceeds all but one of the recommended amounts of essential amino acids for a 60kg individual. The amount of lysine, 1.27g, would only be sufficient for an individual with a body mass of (1270mg)/(30mg per kg of body mass) = 42.3kg or 93.2lb. Many kinds of beans are rich in lysine. For instance, to get 1.8g - 1.27g = 0.53g more of lysine, one could eat kidney beans (ndb_no: 16032):
nutrition=> SELECT 0.53 / d.nutrition_value AS amount_needed
nutrition-> FROM nutrient_data AS d
nutrition-> WHERE d.ndb_no = '16032'
nutrition-> AND d.nutr_no = '505';
     amount_needed
------------------------
 0.34259857789269553975
(1 row)

Since 1 tbsp of kidney beans is 12g, this would be a little less than 3 tbsp. This would also supply another 7.7g of protein, 20.8g of carbohydrate, 115 calories, and 5.2g of fiber. There are many other possibilities.