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.

Tuesday, March 18, 2014

Towards Computing A Genetic Risk of Obesity Score

Genetic Makeup Can Exacerbate Effects of Fried Food Diet, published today, summarizes the findings in Fried food consumption, genetic risk, and body mass index: gene-diet interaction analysis in three US cohort studies, an Open Access article in the British Medical Journal by Qi et al, a group of Harvard professors. In this article, the authors reused a genetic risk of obesity score that they had previously published in Sugar-Sweetened Beverages and Genetic Risk of Obesity in the New England Journal of Medicine. Unfortunately, the latter article is not Open Access. So, I'll describe the Qi et al Genetic Risk of Obesity score (which I'll call QiGRO for short) in this post.

The information needed to compute QiGRO is presented in Table 1 of the Supplementary Appendix to Sugar-Sweetened Beverages and Genetic Risk of Obesity. This lists 32 SNPs (single-nucleotide polymorphisms) contributing to risk of increased BMI (body mass index), along with a β-coefficient describing the relative effect size for each. Here are the relevant columns from the table:





SNP Nearest Gene Chromosome Effect Other Beta
rs543874 SEC16B 1 G A 0.22
rs1514175 TNNI3K 1 A G 0.07
rs1555543 PTBP2 1 C A 0.06
rs2815752 NEGR1 1 A G 0.13
rs2890652 LRP1B 2 C T 0.09
rs887912 FANCL 2 T C 0.1
rs713586 RBJ 2 C T 0.14
rs2867125 TMEM18 2 C T 0.31
rs13078807 CADM2 3 G A 0.1
rs9816226 ETV5 3 T A 0.14
rs13107325 SLC39A8 4 T C 0.19
rs10938397 GNPDA2 4 G A 0.18
rs4836133 ZNF608 5 A C 0.07
rs2112347 FLJ35779 5 T G 0.1
rs987237 TFAP2B 6 G A 0.13
rs206936 NUDT3 6 G A 0.06
rs10968576 LRRN6C 9 G A 0.11
rs3817334 MTCH2 11 T C 0.06
rs4929949 RPL27A 11 C T 0.06
rs10767664 BDNF 11 A T 0.19
rs7138803 FAIM2 12 A G 0.12
rs4771122 MTIF3 13 G A 0.09
rs11847697 PRKD1 14 T C 0.17
rs10150332 NRXN3 14 C T 0.13
rs2241423 MAP2K5 15 G A 0.13
rs7359397 SH2B1 16 T C 0.15
rs1558902 FTO 16 A T 0.39
rs12444979 GPRC5B 16 C T 0.17
rs571312 MC4R 18 A C 0.23
rs29941 KCTD15 19 G A 0.06
rs3810291 TMEM160 19 A G 0.09
rs2287019 QPCTL 19 C T 0.15

If you subscribe to 23andMe, you can get some idea about your QiGRO score. Not all of the above SNPs are included in the 23andMe data at this time, so you can't compute it exactly. You can compute the contribution to your QiGRO score from the SNPs that 23andMe does include. We'll call this the modified QiGRO score for short. Here's how to compute it.

Sign in to the service, click on the downward arrow next to your name in the upper right, and click "Browse Raw Data". This brings you to a page where you can "Jump to a gene" "or a SNP".

Copy the first SNP from the table above, rs543874, into the "or a SNP" box (the righthand one) on the "Browse Raw Data" page and click Go. 23andMe will list a result with your genotype at this SNP: it might be AA, AG, or GG. Since the above table lists G as the Effect allele, count the number of Gs in your genotype. If your genotype is AA, AG, or GG, you will get 0, 1, or 2, respectively. Multiply the number you get by the Beta coefficient, 0.22, from the first row of the above table. So if your genotype is AA, AG, or GG, you will get 0.0, 0.22, or 0.44, respectively. Start a running tally for your score using this number. Also start another running tally of the Beta coefficients, 0.22. Keep track of the number of SNPs you've checked. This is now 1.

In case you're curious, here's what this means. You got two copies of this locus (a site on a chromosome), one from your mother and one from your father. The above table says that there are two possible variants, or alleles, at this locus: A (the DNA nucleotide alanine) or G (the DNA nucleotide guanine). Here G is the effect allele, meaning that each G increases the risk of a higher BMI. The Beta coefficient describes how much it increases the risk.

Continuing, copy the second SNP from the table above, rs1514175, into the "or a SNP" box and click Go. In this case again your genotype at this SNP might be AA, AG, or GG. However, this time A is the Effect allele, so count the number of As in your genotype. If your genotype is AA, AG, or GG, you will get 2, 1, or 0, respectively. Multiply this by the Beta coefficient, 0.07, from the second row of the above table. So if your genotype is AA, AG, or GG, you will get 0.14, 0.07, or 0.0, respectively. Add this to your running tally for your score. For instance, if your genotype at rs543874 was AG, and your genotype at rs1514175 was AA, your running tally for your score would be 0.22 + 0.14 = 0.36. Also add the Beta coefficient, 0.07 to your running tally of the Beta coefficients, yielding 0.22 + 0.07 = 0.39. The number of SNPs you've checked is now 2.

Copy the third SNP from the table above, rs1555543, into the "or a SNP" box and click Go. Currently, 23andMe tells me: “No SNPs matching 'rs1555543' found in the data from your chip.” I deliberately did not include this information in the table above since 23andMe updates their chips and reruns samples from time to time, so by the time you read this post the data may be present. Try it and see. If there is no data, skip adding anything either to the running tally for your score or the running tally using the Beta coefficients.

Copy the fourth SNP from the table above, rs2815752, into the "or a SNP" box and click Go. In this case your genotype at this SNP might be AA, AG, or GG. Here A is the Effect allele, so count the number of A's in your genotype. If your genotype is AA, AG, or GG, you will get 2, 1, or 0, respectively. Multiply this by the Beta coefficient, 0.13, from the fourth row of the above table. So if your genotype is AA, AG, or GG, you will get 0.26, 0.13, or 0.0, respectively. Add this to your running tally for your score. For instance, if your running tally for your score was 0.36 as in the example above, and your genotype at rs2815752 is AA, your running tally for your score will now be 0.36 + 0.26 = 0.62. Add the Beta coefficient 0.13 to your running tally of the Beta coefficients, yielding 0.39 + 0.13 = 0.52. The number of SNPs you've checked is now 3.

Currently, rs2890652, rs887912, and rs713586 are not included in the 23andMe data. Just to be completely clear, I'll write out one more step.

Copy the eighth SNP from the table above, rs2867125, into the "or a SNP" box and click Go. In this case your genotype at this SNP might be CC, CT, or TT. Here C is the Effect allele, so count the number of C's in your genotype. If your genotype is CC, CT, or TT, you will get 2, 1, or 0, respectively. Multiply this by the Beta coefficient, 0.31, from the eighth row of the above table. So if your genotype is CC, CT, or TT, you will get 0.62, 0.31, or 0.0, respectively. Add this to your running tally for your score. For instance, if your running tally for your score was 0.62 as in the example above, and your genotype at rs2867125 is CT, your running tally for your score will now be 0.62 + 0.31 = 0.93. Add the Beta coefficient 0.31 to your running tally of the Beta coefficients, yielding 0.52 + 0.31 = 0.83. The number of SNPs you've checked is now 4.

Continue in this way until you've checked all 32 SNPs in the table. Currently there's no data for rs9816226, rs4836133, rs2112347, rs3817334, rs4929949, rs10767664, rs4771122, rs11847697, rs10150332, or rs7359397. So the number of SNPs you've checked would end up at 18, and your running tally of the Beta coefficients would end up at 2.84, assuming the same set of SNPs are included. Your running tally for your score will be some number between 0 and twice the sum of the Beta coefficients, i.e., 5.68 currently.

To get your modified QiGRO score, take your running tally for your score, divide it by your running tally of the Beta coefficients, and multiply it by the number of SNPs you've checked. You will get a number between 0 and twice the number of SNPs you've checked, i.e., between 0 and 36 currently.

Your actual QiGRO score includes the contributions of the other (currently 14) SNPs you weren't able to check, so it lies between your modified QiGRO score and your modified QiGRO score plus twice the number of SNPs you weren't able to check, i.e., currently your modified QiGRO score plus 28. Unfortunately this range is too large to provide useful information. According to Figure S1 in the Supplementary Appendix to Sugar-Sweetened Beverages and Genetic Risk of Obesity, almost the entire cohorts studied fall between a QiGRO score of 19 and a QiGRO score of 39, a range of only 20.  In the absence of any other information, you might look at the middle of the range, i.e., your modified QiGRO score plus 14. To get a better estimate we would need to know the distribution of these SNPs in the population.

In Fried food consumption, genetic risk, and body mass index: gene-diet interaction analysis in three US cohort studies, all study participants had a QiGRO score between 13 and 43. Qi et al divided their study participants into thirds by increments of 10 risk alleles, i.e., the lower third with scores between 13 and 23, the middle third with scores between 24 and 33, and the upper third with scores between 34 and 43. (They did not publish the exact cutoffs in their paper, so the intermediate boundaries may be off by one.) Qi et al found in these two studies that fried foods and sugar sweetened beverages increase BMI more among those with a higher QiGRO score. So, if it appears that your QiGRO score is on the high side, it may be more beneficial for you to cut back on sugar sweetened beverages and fried foods.

You might also note your genotype at rs1558902 in particular (which is currently included in the 23andMe data). Qi et al found that the association between BMI and this variant alone was significant, and strengthened as more fried foods were consumed.