complete this sheet and add more traite in every column using E column
cd /home/daytona/workspace/attachments/a8f551b8-64c8-4b5e-abc9-63b58569bb20/ && python3 -c " import openpyxl wb = openpyxl.load_workbook('Blood and Genetics traits correlation.xlsx') print('Sheets:', wb.sheetnames) for sheet in wb.sheetnames: ws = wb[sheet] print(f'\n--- Sheet: {sheet} ---') for row in ws.iter_rows(values_only=True): print(row) "
cd /home/daytona/workspace/attachments/a8f551b8-64c8-4b5e-abc9-63b58569bb20/ && python3 -c " import openpyxl from openpyxl.styles import Font, PatternFill, Alignment, Border, Side wb = openpyxl.load_workbook('Blood and Genetics traits correlation.xlsx') # Check sheet 1 structure ws1 = wb['Blood Vs Genetics Correlation'] print('Sheet1 dimensions:', ws1.dimensions) print('Sheet1 max_row:', ws1.max_row, 'max_col:', ws1.max_column) # Check column E values - get ALL non-None values print('\n=== Column E values (all non-None) ===') for row in ws1.iter_rows(): e_val = row[4].value if len(row) > 4 else None if e_val: print(f' Row {row[0].row}: {repr(e_val)}') # Check a few cells for formatting print('\n=== Cell formatting samples ===') for cell_ref in ['A1', 'B1', 'E1', 'A2', 'E2', 'A3', 'B3', 'E3']: cell = ws1[cell_ref] print(f'{cell_ref}: value={repr(cell.value)}, font={cell.font.name if cell.font else None}, bold={cell.font.bold if cell.font else None}, fill={cell.fill.fgColor.rgb if cell.fill and cell.fill.fgColor else None}, align={cell.alignment.wrap_text if cell.alignment else None}') # Check sheet 2 structure ws2 = wb['Interpretations'] print('\nSheet2 max_row:', ws2.max_row, 'max_col:', ws2.max_column) print('\n=== Interpretations column headers ===') for col in range(1, ws2.max_column+1): print(f' Col {col}: {repr(ws2.cell(1, col).value)}') print('\n=== First 15 rows of Interpretations ===') for i, row in enumerate(ws2.iter_rows(values_only=True)): if i > 14: break print(f'Row {i+1}: A={repr(row[0])}, B={repr(str(row[1])[:60] if row[1] else None)}, C={repr(str(row[2])[:60] if row[2] else None)}, D={repr(row[3])}') "
mkdir -p /home/daytona/workspace/blood-genetics && cp "/home/daytona/workspace/attachments/a8f551b8-64c8-4b5e-abc9-63b58569bb20/Blood and Genetics traits correlation.xlsx" "/home/daytona/workspace/blood-genetics/Blood and Genetics traits correlation.xlsx" && echo "Copied"
~/blood-genetics/complete_sheet.py
import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
import copy
# ============================================================
# COMPREHENSIVE MAPPING: GENETICS TRAIT -> RELEVANT BIOMARKERS
# ============================================================
# This map defines which blood biomarkers are correlated with each genetics trait
GENETICS_TO_BIOMARKERS = {
# NUTRIENTS
"Antioxidant": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"Lactate Dehydrogenase (LD or LDH)",
"C-Reactive Protein (CRP)",
"Procalcitonin (PCT)",
"Vitamin D",
"Fibrinogen",
],
"Biotin": [
"ALT/SGPT",
"AST/SGOT",
"ALP",
"Glucose",
"HbA1c",
"Fasting Blood Sugar, ",
"Total Cholesterol",
"Triglycerides",
],
"Calcium": [
"ALT/SGPT",
"AST/SGOT",
"Serum Calcium,",
"Serum Phosphorus",
"Vitamin D",
"ALP",
],
"Co-enzymeQ10": [
"AST/SGOT",
"ALP",
"Lactate Dehydrogenase (LD or LDH)",
"Total Cholesterol",
"LDL Cholesterol",
"HDL Cholesterol",
"Triglycerides",
],
"Folic Acid": [
"GGT",
"Bilirubin Total",
"Folate",
"Vitamin B12",
"Fibrinogen",
"Transferrin Saturation (%)",
"Ferritin ",
],
"Iodine": [
"Bilirubin Direct",
"Bilirubin Indiirect",
"Free T3",
"Free T4",
"Total T4",
"Total T3",
],
"Iron": [
"Albumin",
"Globulin",
"Folate",
"Transferrin Saturation (%)",
"Ferritin ",
],
"Magnesium": [
"Total Protein",
"Albumin",
"Serum Calcium,",
"Serum Potassium,",
"Glucose",
"HbA1c",
"Fasting Blood Sugar, ",
],
"Niacin": [
"Lactate Dehydrogenase (LD or LDH)",
"5' Nucleotidase",
"Total Cholesterol",
"HDL Cholesterol",
"LDL Cholesterol",
"Triglycerides",
],
"Omega 3 (ALA)": [
"Amylase",
"Lipase",
"Triglycerides",
"Total Cholesterol",
"HDL Cholesterol",
"C-Reactive Protein (CRP)",
],
"Omega 3 (DPA)": [
"Serum Creatinine, eGFR",
"Triglycerides",
"Total Cholesterol",
"HDL Cholesterol",
"C-Reactive Protein (CRP)",
"Fibrinogen",
],
"Omega 3 (EPA)": [
"Blood Urea Nitrogen (BUN), ",
"BUN/Creatinine Ratio",
"Triglycerides",
"Total Cholesterol",
"HDL Cholesterol",
"C-Reactive Protein (CRP)",
"Fibrinogen",
],
"Phosphorus": [
"Serum Phosphorus",
"Serum Calcium,",
"ALP",
"Vitamin D",
"Serum Creatinine, eGFR",
],
"Selenium": [
"Serum Potassium,",
"Serum Chloride",
"Free T3",
"Free T4",
"C-Reactive Protein (CRP)",
"Procalcitonin (PCT)",
"Lactate Dehydrogenase (LD or LDH)",
],
"Vitamin A": [
"Serum Calcium,",
"Serum Phosphorus",
"ALP",
"ALT/SGPT",
"Bilirubin Total",
"Total Protein",
],
"Vitamin B6": [
"Total Cholesterol",
"Fibrinogen",
"Folate",
"Vitamin B12",
],
"Vitamin B12": [
"HDL Cholesterol",
"LDL Cholesterol",
"Folate",
"Vitamin B12",
"Fibrinogen",
],
"Vitamin C": [
" VLDL",
"Triglycerides",
"C-Reactive Protein (CRP)",
"Procalcitonin (PCT)",
"Lactate Dehydrogenase (LD or LDH)",
"Serum Uric Acid",
],
"Vitamin D": [
"Total Cholesterol to HDL Ratio",
"Apolipoprotein A1, ",
"Serum Calcium,",
"Serum Phosphorus",
"ALP",
"Vitamin D",
"Insulin (F)",
"HOMA-IR",
],
"Vitamin E": [
"Apolipoprotein B",
"Lipo protein (A)",
"Total Cholesterol",
"LDL Cholesterol",
"C-Reactive Protein (CRP)",
"Procalcitonin (PCT)",
],
"Zinc": [
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"C-Reactive Protein (CRP)",
"IL-6,",
"ALP",
],
# DIET / FOOD SENSITIVITIES
"Lactose Intolerance": [
"Post Prandial Blood Sugar",
"HbA1c",
"Amylase",
"ALP",
],
"Salt Sensitivity": [
"Glucose",
"Insulin (F)",
"Serum Sodium",
"Serum Potassium,",
"Serum Chloride",
],
"Caffeine Sensitivity": [
"HOMA-IR",
"Cortisol",
"Glucose",
"HbA1c",
"Total Cholesterol",
"Triglycerides",
"HDL Cholesterol",
],
"Taste Sensitivity": [
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"Amylase",
],
# ALLERGIES / SENSITIVITIES
"Allergic Rhinitis": [
"Total T4",
"Total T3",
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
],
"Dust Allergy Sensitivity": [
"Procalcitonin (PCT)",
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
],
"Asthma": [
"DHEA-S",
"Estradiol (E2)",
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
],
"Pesticide Sensitivity": [
" Progesterone",
"Prolactin",
"White Blood Cell Count (WBC)",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"ALT/SGPT",
"AST/SGOT",
],
"Environmental Pollution Sensitivity": [
"Testosterone,, ",
"Free Testosterone",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"ALP",
"GGT",
],
"Automobile Pollution Sensitivity": [
"Total Testosterone",
"FSH",
"C-Reactive Protein (CRP)",
"IL-6,",
"Procalcitonin (PCT)",
],
"Second-Hand Smoke Sensitivity": [
"LH",
" AMH",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"Fibrinogen",
],
"Alcohol Sensitivity": [
"Sex Hormone-Binding Globulin (SHBG)",
"PSA, ",
"ALT/SGPT",
"AST/SGOT",
"GGT",
"ALP",
"Bilirubin Total",
],
"Alcohol Flush Reaction": [
"Ca125",
"ALT/SGPT",
"AST/SGOT",
"GGT",
"Bilirubin Total",
],
# SLEEP
"Sleep Apnoea Risk": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Glucose",
"HbA1c",
"Insulin (F)",
"HOMA-IR",
"Total Cholesterol",
"Triglycerides",
],
"Sleep Depth": [
"Procalcitonin (PCT)",
"Fibrinogen",
"Folate",
"Cortisol",
"DHEA-S",
"Magnesium (if available)",
],
"Sleep Duration": [
"Vitamin B12",
"Vitamin D",
"Cortisol",
"DHEA-S",
"Glucose",
"HbA1c",
],
"Sleep Quality": [
"Transferrin Saturation (%)",
"Ferritin ",
"Cortisol",
"DHEA-S",
"Glucose",
"C-Reactive Protein (CRP)",
],
"Sleep Time (Chronotype)": [
"ApoB",
"Cortisol",
"DHEA-S",
"Glucose",
"Insulin (F)",
],
# STRESS & MENTAL HEALTH
"Stress-Induced Obesity": [
"Cortisol",
"Insulin (F)",
"HOMA-IR",
"Fasting Blood Sugar, ",
"HbA1c",
"Triglycerides",
],
"Stress Tolerance": [
"Cortisol",
"DHEA-S",
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
],
# FITNESS / SPORTS
"Endurance Capacity": [
"Ferritin ",
"Transferrin Saturation (%)",
"Lactate Dehydrogenase (LD or LDH)",
"Glucose",
"HbA1c",
"Triglycerides",
],
"Power Capacity": [
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"Lactate Dehydrogenase (LD or LDH)",
"Glucose",
],
"Recovery Efficiency": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Procalcitonin (PCT)",
"Ferritin ",
"Lactate Dehydrogenase (LD or LDH)",
],
"Strength Profile": [
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"Sex Hormone-Binding Globulin (SHBG)",
"Lactate Dehydrogenase (LD or LDH)",
],
# MUSCULOSKELETAL
"Osteoporosis": [
"Serum Calcium,",
"Serum Phosphorus",
"ALP",
"Vitamin D",
"Ferritin ",
],
"Bone Mineral Density": [
"Serum Calcium,",
"Serum Phosphorus",
"ALP",
"Vitamin D",
"Estradiol (E2)",
],
"Stress Fracture Risk": [
"Serum Calcium,",
"Serum Phosphorus",
"ALP",
"Vitamin D",
"Ferritin ",
],
"Temporomandibular Joint Disorder": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Serum Calcium,",
"ALP",
],
"Lumbar Degenerative Disc Disease": [
"C-Reactive Protein (CRP)",
"IL-6,",
"ALP",
"Vitamin D",
"Serum Calcium,",
],
"Osteoarthritis": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Procalcitonin (PCT)",
"Serum Uric Acid",
"ALP",
],
"Rheumatoid Arthritis": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"Fibrinogen",
],
"Ankylosing Spondylitis": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
],
# LIPIDS / CARDIOVASCULAR
"Familial Hypercholesterolemia": [
"Total Cholesterol",
"LDL Cholesterol",
"Apolipoprotein B",
"Lipo protein (A)",
"Fibrinogen",
"ApoB",
],
"High-Density Lipoprotein (HDL) Cholesterol": [
"Total Cholesterol",
"HDL Cholesterol",
"Apolipoprotein A1, ",
"Total Cholesterol to HDL Ratio",
],
"Sitosterolemia": [
"Apolipoprotein A1, ",
"Apolipoprotein B",
"Lipo protein (A)",
"Total Cholesterol",
"LDL Cholesterol",
],
"Hypertriglyceridemia": [
"Lipase",
"Triglycerides",
" VLDL",
"ApoB",
"Transferrin Saturation (%)",
],
"High Cholesterol": [
"Total Cholesterol",
"LDL Cholesterol",
"Apolipoprotein B",
"ApoB",
],
"Insulin Resistance and Response": [
"Amylase",
"Lipase",
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"HbA1c",
"Glucose",
"Insulin (F)",
"HOMA-IR",
"Sex Hormone-Binding Globulin (SHBG)",
"ApoB",
],
"Obesity": [
"Amylase",
"Lipase",
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"HbA1c",
"Glucose",
"Insulin (F)",
"HOMA-IR",
"Triglycerides",
"Sex Hormone-Binding Globulin (SHBG)",
"ApoB",
],
"Weight Regain": [
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"HbA1c",
"Glucose",
"Insulin (F)",
"HOMA-IR",
"Cortisol",
],
"Type 2 Diabetes Mellitus": [
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"HbA1c",
"Glucose",
"Insulin (F)",
"HOMA-IR",
"Amylase",
"Lipase",
"ApoB",
],
"Non-Alcoholic Fatty Liver Disease": [
"Albumin",
"Globulin",
"Total Protein",
"5' Nucleotidase",
"Amylase",
"Lipase",
"ALT/SGPT",
"AST/SGOT",
"GGT",
"ApoB",
"Transferrin Saturation (%)",
],
"Hypothyroidism": [
"Serum Calcium,",
"Free T3",
"Free T4",
"Total T4",
"Total T3",
],
"Hypertension": [
"Serum Sodium",
"Serum Potassium,",
"Serum Chloride",
"Fibrinogen",
"C-Reactive Protein (CRP)",
"Total Cholesterol",
"LDL Cholesterol",
],
"Orthostatic Hypotension": [
"Serum Sodium",
"Serum Potassium,",
"Serum Chloride",
"Cortisol",
"Ferritin ",
],
"Peripheral Artery Disease": [
"LDL Cholesterol",
"Lipo protein (A)",
"Fibrinogen",
"ApoB",
"C-Reactive Protein (CRP)",
],
"Heart Disease": [
"Total Cholesterol",
"HDL Cholesterol",
"LDL Cholesterol",
"Lipo protein (A)",
"Serum Potassium,",
"Apolipoprotein A1, ",
"Apolipoprotein B",
"Fibrinogen",
"ApoB",
"C-Reactive Protein (CRP)",
],
"Stroke": [
"LDL Cholesterol",
"Lipo protein (A)",
"Fibrinogen",
"ApoB",
"C-Reactive Protein (CRP)",
"Total Cholesterol",
],
"Hyperhomocysteinemia": [
"Fibrinogen",
"Folate",
"Vitamin B12",
],
"Gout": [
"Serum Creatinine, eGFR",
"Blood Urea Nitrogen (BUN), ",
"BUN/Creatinine Ratio",
"Serum Uric Acid",
],
"Brugada Syndrome": [
"Serum Potassium,",
"Serum Sodium",
],
"Arrhythmogenic Right Ventricular Cardiomyopathy (ARVC)": [
"Serum Potassium,",
"Lactate Dehydrogenase (LD or LDH)",
],
"Atrial Fibrillation": [
"Serum Potassium,",
"C-Reactive Protein (CRP)",
"Fibrinogen",
],
"Catecholaminergic Polymorphic Ventricular Tachycardia (CPVT)": [
"Serum Potassium,",
"Serum Sodium",
"Serum Calcium,",
],
"Deep Vein Thrombosis": [
"Fibrinogen",
"C-Reactive Protein (CRP)",
"IL-6,",
],
"Thoracic Aortic Aneurysm and Dissection": [
"Fibrinogen",
"C-Reactive Protein (CRP)",
"LDL Cholesterol",
"Total Cholesterol",
],
# SKIN / DERMATOLOGICAL
"Inflammatory Skin Disease": [
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"White Blood Cell Count (WBC)",
],
"Psoriasis": [
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
],
"Vitiligo": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Free T3",
"Free T4",
],
"Psoriatic Arthritis": [
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"Fibrinogen",
],
# GI / BOWEL
"Irritable Bowel Syndrome (IBS)": [
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Albumin",
"Globulin",
],
"Crohn's Disease": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"Albumin",
"Globulin",
"Total Protein",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"Fibrinogen",
],
"Ulcerative Colitis": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"Albumin",
"Globulin",
"Total Protein",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
],
"Selective IgA deficiency": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
],
"Influenza (Flu) Susceptibility": [
"White Blood Cell Count (WBC)",
"C-Reactive Protein (CRP)",
"IL-6,",
"Procalcitonin (PCT)",
"Vitamin D",
],
"Chronic Obstructive Pulmonary Disease (COPD)": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Procalcitonin (PCT)",
"Fibrinogen",
"White Blood Cell Count (WBC)",
],
# NEUROLOGICAL / MENTAL HEALTH
"Attention Deficit Hyperactivity Disorder (ADHD)": [
"Cortisol",
"DHEA-S",
"Ferritin ",
"Transferrin Saturation (%)",
"Vitamin D",
],
"Anxiety Disorder": [
"Cortisol",
"DHEA-S",
"Free T3",
"Free T4",
"C-Reactive Protein (CRP)",
"Glucose",
],
"Major Depression": [
"Cortisol",
"DHEA-S",
"Vitamin D",
"C-Reactive Protein (CRP)",
"IL-6,",
"Folate",
"Vitamin B12",
],
"Bipolar Disorder": [
"Cortisol",
"DHEA-S",
"Free T3",
"Free T4",
"C-Reactive Protein (CRP)",
"Glucose",
],
"Neuroticism": [
"Cortisol",
"DHEA-S",
"C-Reactive Protein (CRP)",
"IL-6,",
],
# ADDICTIONS
"Opioid Addiction": [
"Cortisol",
"Glucose",
"ALT/SGPT",
"AST/SGOT",
"GGT",
],
"Alcohol Addiction": [
"ALT/SGPT",
"AST/SGOT",
"ALP",
"GGT",
"Bilirubin Total",
"Bilirubin Direct",
"Bilirubin Indiirect",
],
"Food Addiction": [
"Glucose",
"Insulin (F)",
"HOMA-IR",
"Fasting Blood Sugar, ",
"HbA1c",
"Cortisol",
],
"Smoking Addiction": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
"Total Cholesterol",
"HDL Cholesterol",
"LDL Cholesterol",
],
"Obsessions with washing/ Cleaning": [
"Cortisol",
"DHEA-S",
"C-Reactive Protein (CRP)",
],
# DETOX
"Detox: Cruciferous Vegetable Needs": [
"ALT/SGPT",
"AST/SGOT",
"GGT",
"ALP",
"C-Reactive Protein (CRP)",
],
"Detox: Toxin Generation Speed": [
"ALT/SGPT",
"AST/SGOT",
"GGT",
"ALP",
"Bilirubin Total",
"5' Nucleotidase",
],
"Inflammatory Response": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"Albumin",
"Globulin",
"Total Protein",
"Serum Chloride",
"C-Reactive Protein (CRP)",
"IL-6,",
" IL-24",
"Procalcitonin (PCT)",
"Fibrinogen",
"ALT/SGPT",
"AST/SGOT",
],
"Life Longevity": [
"Albumin",
"Globulin",
"Total Protein",
"ApoB",
"Total Cholesterol",
"HDL Cholesterol",
"C-Reactive Protein (CRP)",
"Fibrinogen",
"Vitamin D",
"Folate",
],
# BRAIN / NEURODEGENERATIVE
"Alzheimer's Disease": [
"ApoB",
"Total Cholesterol",
"LDL Cholesterol",
"Fibrinogen",
"C-Reactive Protein (CRP)",
"IL-6,",
"Glucose",
"HbA1c",
"Insulin (F)",
"HOMA-IR",
],
"Frontotemporal Dementia": [
"ApoB",
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
"Total Cholesterol",
],
"Lewy Body Dementia": [
"ApoB",
"C-Reactive Protein (CRP)",
"Fibrinogen",
"Total Cholesterol",
],
"Parkinson": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
"Ferritin ",
"Transferrin Saturation (%)",
"Glucose",
],
"Age-Related Macular Degeneration (AMD)": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Total Cholesterol",
"LDL Cholesterol",
"Fibrinogen",
],
"Glaucoma": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Total Cholesterol",
"Fibrinogen",
],
# REPRODUCTIVE / HORMONAL
"Male Infertility": [
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"Sex Hormone-Binding Globulin (SHBG)",
"PSA, ",
"Folate",
"Transferrin Saturation (%)",
"Ferritin ",
],
"Male Sex Hormone Levels": [
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"Sex Hormone-Binding Globulin (SHBG)",
"PSA, ",
],
"Female Sex Hormone Levels": [
"Cortisol",
"Estradiol (E2)",
" Progesterone",
"Prolactin",
"FSH",
"LH",
" AMH",
],
"Polyendocrine Metabolic Ovarian Syndrome (PMOS)": [
"HbA1c",
"Glucose",
"Insulin (F)",
"HOMA-IR",
"Free T3",
"Free T4",
"Total T4",
"Total T3",
"Cortisol",
"DHEA-S",
"Estradiol (E2)",
" Progesterone",
"FSH",
"LH",
" AMH",
"Sex Hormone-Binding Globulin (SHBG)",
],
"Endometriosis": [
"Estradiol (E2)",
" Progesterone",
"Prolactin",
"FSH",
"LH",
" AMH",
"Ca125",
"C-Reactive Protein (CRP)",
"IL-6,",
"Cortisol",
],
# DENTAL
"Tooth Decay": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Glucose",
"HbA1c",
"Serum Calcium,",
"Vitamin D",
],
"Chronic Periodontitis": [
"C-Reactive Protein (CRP)",
"IL-6,",
"IL-6,",
"Fibrinogen",
"Glucose",
"HbA1c",
],
}
# ============================================================
# ADDITIONAL NEW GENETICS TRAITS TO ADD TO COLUMN E
# ============================================================
NEW_GENETICS_TRAITS = {
# ADDITIONAL NUTRIENTS
"Choline": [
"ALT/SGPT",
"AST/SGOT",
"Total Cholesterol",
"LDL Cholesterol",
"ApoB",
"Transferrin Saturation (%)",
],
"Copper": [
"ALP",
"Ferritin ",
"Transferrin Saturation (%)",
"C-Reactive Protein (CRP)",
"Serum Uric Acid",
],
"Glutathione": [
"ALT/SGPT",
"AST/SGOT",
"GGT",
"C-Reactive Protein (CRP)",
"Lactate Dehydrogenase (LD or LDH)",
],
"Vitamin K": [
"Serum Calcium,",
"ALP",
"Fibrinogen",
"Procalcitonin (PCT)",
"Vitamin D",
],
"Omega 3 (DHA)": [
"Triglycerides",
"HDL Cholesterol",
"Total Cholesterol",
"C-Reactive Protein (CRP)",
"Fibrinogen",
"ApoB",
],
# ADDITIONAL CONDITIONS
"Celiac Disease": [
"ALT/SGPT",
"ALP",
"Albumin",
"Total Protein",
"C-Reactive Protein (CRP)",
"Ferritin ",
"Folate",
"Vitamin B12",
],
"Type 1 Diabetes": [
"Fasting Blood Sugar, ",
"Post Prandial Blood Sugar",
"HbA1c",
"Glucose",
"Insulin (F)",
"C-Reactive Protein (CRP)",
],
"Chronic Kidney Disease": [
"Serum Creatinine, eGFR",
"Blood Urea Nitrogen (BUN), ",
"BUN/Creatinine Ratio",
"Serum Sodium",
"Serum Potassium,",
"Serum Phosphorus",
"Albumin",
],
"Kidney Stone Risk": [
"Serum Calcium,",
"Serum Phosphorus",
"Serum Uric Acid",
"Serum Creatinine, eGFR",
"Blood Urea Nitrogen (BUN), ",
],
"Pancreatitis Risk": [
"Amylase",
"Lipase",
"Triglycerides",
"C-Reactive Protein (CRP)",
"ALT/SGPT",
],
"Hemochromatosis": [
"Ferritin ",
"Transferrin Saturation (%)",
"ALT/SGPT",
"AST/SGOT",
"ALP",
"Total Protein",
],
"Lupus (SLE)": [
"White Blood Cell Count (WBC)",
"Neutrophils, Lymphocytes, Monocytes, Eosinophils, Basophils",
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
"Albumin",
"Globulin",
],
"Multiple Sclerosis Risk": [
"Vitamin D",
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
],
"Migraine Risk": [
"Serum Magnesium (if available)",
"C-Reactive Protein (CRP)",
"IL-6,",
"Serum Sodium",
"Cortisol",
],
"Schizophrenia Risk": [
"Glucose",
"Total Cholesterol",
"Triglycerides",
"C-Reactive Protein (CRP)",
"IL-6,",
"Folate",
"Vitamin B12",
],
"Female Fertility": [
"FSH",
"LH",
" AMH",
"Estradiol (E2)",
" Progesterone",
"Prolactin",
"Folate",
"Transferrin Saturation (%)",
"Ferritin ",
],
"Preeclampsia Risk": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
"Serum Sodium",
"Serum Potassium,",
"Albumin",
],
"Polycystic Kidney Disease": [
"Serum Creatinine, eGFR",
"Blood Urea Nitrogen (BUN), ",
"Serum Sodium",
"Serum Potassium,",
],
"Colorectal Cancer Risk": [
"C-Reactive Protein (CRP)",
"IL-6,",
"ApoB",
"Total Cholesterol",
"Glucose",
"HbA1c",
"Insulin (F)",
"HOMA-IR",
],
"Breast Cancer Risk": [
"Estradiol (E2)",
" Progesterone",
"Prolactin",
"Sex Hormone-Binding Globulin (SHBG)",
"C-Reactive Protein (CRP)",
"IL-6,",
"Glucose",
"Insulin (F)",
"HOMA-IR",
],
"Prostate Cancer Risk": [
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"PSA, ",
"Sex Hormone-Binding Globulin (SHBG)",
"C-Reactive Protein (CRP)",
"IL-6,",
],
"Thyroid Cancer Risk": [
"Free T3",
"Free T4",
"Total T4",
"Total T3",
"C-Reactive Protein (CRP)",
"ALP",
],
"Lung Cancer Risk": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Fibrinogen",
"Lactate Dehydrogenase (LD or LDH)",
"Albumin",
],
"Non-Melanoma Skin Cancer Risk": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Vitamin D",
],
"Body Mass Index (BMI) Tendency": [
"Insulin (F)",
"HOMA-IR",
"Glucose",
"HbA1c",
"Triglycerides",
"Total Cholesterol",
"Cortisol",
"Sex Hormone-Binding Globulin (SHBG)",
],
"Visceral Fat Accumulation": [
"Triglycerides",
"Total Cholesterol",
"LDL Cholesterol",
"HDL Cholesterol",
"Insulin (F)",
"HOMA-IR",
"Glucose",
"HbA1c",
"ApoB",
"C-Reactive Protein (CRP)",
],
"Sarcopenia Risk": [
"Testosterone,, ",
"Free Testosterone",
"Total Testosterone",
"Albumin",
"Total Protein",
"Vitamin D",
"C-Reactive Protein (CRP)",
"IL-6,",
"Insulin (F)",
"HOMA-IR",
],
"Wound Healing Capacity": [
"Albumin",
"Total Protein",
"Glucose",
"HbA1c",
"C-Reactive Protein (CRP)",
"Fibrinogen",
"Ferritin ",
"Zinc",
],
"Pain Sensitivity": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Cortisol",
"DHEA-S",
"Serum Calcium,",
"Serum Magnesium (if available)",
],
"Exercise-Induced Inflammation": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Procalcitonin (PCT)",
"Lactate Dehydrogenase (LD or LDH)",
"Fibrinogen",
"Ferritin ",
],
"Tendon / Ligament Injury Risk": [
"C-Reactive Protein (CRP)",
"IL-6,",
"Serum Calcium,",
"ALP",
"Vitamin D",
],
"Lactate Clearance": [
"Lactate Dehydrogenase (LD or LDH)",
"Glucose",
"Fasting Blood Sugar, ",
"ALT/SGPT",
"AST/SGOT",
],
"Caffeine Metabolism (CYP1A2)": [
"Glucose",
"Total Cholesterol",
"Triglycerides",
"HDL Cholesterol",
"Cortisol",
"ALT/SGPT",
"GGT",
],
"Alcohol Metabolism (ADH/ALDH)": [
"ALT/SGPT",
"AST/SGOT",
"GGT",
"ALP",
"Bilirubin Total",
"Bilirubin Direct",
],
"Folate Metabolism (MTHFR)": [
"Folate",
"Vitamin B12",
"Fibrinogen",
"Hyperhomocysteinemia",
"C-Reactive Protein (CRP)",
],
"Blood Type Related Risk": [
"Total Cholesterol",
"LDL Cholesterol",
"HDL Cholesterol",
"Fibrinogen",
"C-Reactive Protein (CRP)",
],
"Circadian Rhythm Disruption Sensitivity": [
"Cortisol",
"DHEA-S",
"Glucose",
"Insulin (F)",
"Triglycerides",
"C-Reactive Protein (CRP)",
],
}
# ============================================================
# INTERPRETATION TEMPLATES
# ============================================================
def make_interp_high(biomarker, trait):
bm = biomarker.strip()
tr = trait.strip()
return (
f"Your {bm} level is elevated. Combined with your genetic predisposition for {tr}, "
f"this may indicate a heightened risk or altered physiological response. "
f"Targeted lifestyle modifications, dietary adjustments, and consultation with a healthcare provider "
f"are advisable to address this combined risk profile and optimize your health outcomes."
)
def make_interp_avg(biomarker, trait):
bm = biomarker.strip()
tr = trait.strip()
return (
f"Your {bm} is within the normal range. While your genetic background shows a predisposition for {tr}, "
f"your current blood marker does not indicate active concern. "
f"Maintaining a balanced diet, regular physical activity, and routine monitoring "
f"will help sustain this favorable status and prevent future risk escalation."
)
# ============================================================
# MAIN SCRIPT
# ============================================================
wb = openpyxl.load_workbook("/home/daytona/workspace/blood-genetics/Blood and Genetics traits correlation.xlsx")
ws1 = wb["Blood Vs Genetics Correlation"]
ws2 = wb["Interpretations"]
# ---- STEP 1: Read existing formatting from Sheet 1 ----
header_font = Font(name="Arial", bold=True, size=10)
header_fill_dark = PatternFill("solid", fgColor="10203C")
header_fill_white = PatternFill("solid", fgColor="FFFFFF")
body_font = Font(name="Arial", size=10)
wrap_align = Alignment(wrap_text=True, vertical="top")
center_align = Alignment(horizontal="center", vertical="center", wrap_text=True)
dark_fill = PatternFill("solid", fgColor="10203C")
dark_font = Font(name="Arial", bold=True, color="FFFFFF", size=10)
light_fill = PatternFill("solid", fgColor="E8F0FE")
light_fill2 = PatternFill("solid", fgColor="FFFFFF")
genetics_fill = PatternFill("solid", fgColor="D0E8D0")
new_trait_fill = PatternFill("solid", fgColor="FFF3CD")
thin_border = Border(
left=Side(style="thin"),
right=Side(style="thin"),
top=Side(style="thin"),
bottom=Side(style="thin"),
)
# ---- STEP 2: Build reverse map: biomarker -> list of correlated genetics traits ----
ALL_TRAITS = {**GENETICS_TO_BIOMARKERS, **NEW_GENETICS_TRAITS}
biomarker_to_traits = {}
for trait, biomarkers in ALL_TRAITS.items():
for bm in biomarkers:
if bm not in biomarker_to_traits:
biomarker_to_traits[bm] = []
if trait not in biomarker_to_traits[bm]:
biomarker_to_traits[bm].append(trait)
# ---- STEP 3: Update Sheet 1 - Column B correlations ----
# First, collect existing biomarker rows
existing_biomarker_rows = {}
for row_idx in range(2, ws1.max_row + 1):
a_val = ws1.cell(row_idx, 1).value
if a_val:
existing_biomarker_rows[a_val.strip()] = row_idx
# Update column B where it's empty or enhance existing entries
for row_idx in range(2, ws1.max_row + 1):
a_val = ws1.cell(row_idx, 1).value
if not a_val:
continue
bm_clean = a_val.strip()
# Find matching traits from our map
matched = []
for bm_key, traits_list in biomarker_to_traits.items():
if bm_key.strip() == bm_clean or bm_clean in bm_key or bm_key in bm_clean:
for t in traits_list:
if t not in matched:
matched.append(t)
existing_b = ws1.cell(row_idx, 2).value
if matched:
if not existing_b:
ws1.cell(row_idx, 2).value = ", ".join(matched)
else:
# Merge: add new traits not already listed
existing_list = [x.strip() for x in existing_b.split(",")]
for t in matched:
if t not in existing_list:
existing_list.append(t)
ws1.cell(row_idx, 2).value = ", ".join(existing_list)
ws1.cell(row_idx, 2).alignment = wrap_align
ws1.cell(row_idx, 2).font = body_font
# ---- STEP 4: Add new genetics traits to Column E ----
# Find where E column data ends
last_e_row = 1
for row_idx in range(1, ws1.max_row + 1):
if ws1.cell(row_idx, 5).value is not None:
last_e_row = row_idx
# Get existing traits in column E (to avoid dupes)
existing_e_traits = set()
for row_idx in range(2, last_e_row + 1):
val = ws1.cell(row_idx, 5).value
if val:
existing_e_traits.add(val.strip().rstrip('\n').strip())
print(f"Existing E traits count: {len(existing_e_traits)}")
print(f"Last E row: {last_e_row}")
# Add new traits starting after last_e_row
next_row = last_e_row + 1
added_new = []
for trait_name in NEW_GENETICS_TRAITS.keys():
clean = trait_name.strip()
if clean not in existing_e_traits:
ws1.cell(next_row, 5).value = trait_name
ws1.cell(next_row, 5).font = body_font
ws1.cell(next_row, 5).alignment = wrap_align
ws1.cell(next_row, 5).fill = new_trait_fill
next_row += 1
added_new.append(trait_name)
print(f"Added {len(added_new)} new traits to column E")
# ---- STEP 5: Style Column A & B existing cells ----
for row_idx in range(2, ws1.max_row + 1):
a_cell = ws1.cell(row_idx, 1)
b_cell = ws1.cell(row_idx, 2)
if a_cell.value:
a_cell.font = body_font
a_cell.alignment = wrap_align
if b_cell.value:
b_cell.font = body_font
b_cell.alignment = wrap_align
# ---- STEP 6: Fill Interpretations Sheet completely ----
# Build list of ALL biomarker+trait combinations that have interpretation text
# First collect what's already there
existing_interps = set()
for row_idx in range(3, ws2.max_row + 1):
a_val = ws2.cell(row_idx, 1).value
d_val = ws2.cell(row_idx, 4).value
if a_val and d_val:
existing_interps.add((str(a_val).strip(), str(d_val).strip()))
print(f"Existing interpretation rows: {len(existing_interps)}")
# Now generate rows for all combinations
interp_next_row = ws2.max_row + 1
# Ensure header row formatting
ws2.cell(1, 1).value = "Blood Markers"
ws2.cell(1, 2).value = "Genetics Traits"
ws2.cell(1, 3).value = "Interpretation (High)"
ws2.cell(1, 4).value = "Interpretation (Average/Normal)"
ws2.cell(1, 5).value = "Genetics Parameter"
for col in range(1, 6):
ws2.cell(1, col).font = Font(name="Arial", bold=True, color="FFFFFF", size=10)
ws2.cell(1, col).fill = dark_fill
ws2.cell(1, col).alignment = center_align
# Rewrite header row 2
ws2.cell(2, 1).value = None
ws2.cell(2, 2).value = "High"
ws2.cell(2, 3).value = "Average / Normal"
ws2.cell(2, 4).value = "Genetics Trait"
ws2.cell(2, 5).value = None
# Build new interpretation rows for all biomarkers in sheet 1 that have genetics correlations
new_rows_added = 0
for row_idx in range(3, ws1.max_row + 1):
bm = ws1.cell(row_idx, 1).value
genetics_b = ws1.cell(row_idx, 2).value
if not bm or not genetics_b:
continue
bm_clean = bm.strip()
# Parse traits from column B
traits_in_b = [t.strip() for t in str(genetics_b).replace("\n", ",").split(",") if t.strip()]
for tr in traits_in_b:
key = (bm_clean, tr)
if key not in existing_interps:
r = interp_next_row
ws2.cell(r, 1).value = bm_clean
ws2.cell(r, 2).value = make_interp_high(bm_clean, tr)
ws2.cell(r, 3).value = make_interp_avg(bm_clean, tr)
ws2.cell(r, 4).value = tr
ws2.cell(r, 5).value = tr
for c in range(1, 6):
ws2.cell(r, c).font = body_font
ws2.cell(r, c).alignment = wrap_align
ws2.cell(r, c).border = thin_border
interp_next_row += 1
existing_interps.add(key)
new_rows_added += 1
print(f"Added {new_rows_added} new interpretation rows")
print(f"Total interpretation rows: {interp_next_row - 1}")
# ---- STEP 7: Apply column widths ----
ws1.column_dimensions["A"].width = 40
ws1.column_dimensions["B"].width = 65
ws1.column_dimensions["C"].width = 10
ws1.column_dimensions["D"].width = 10
ws1.column_dimensions["E"].width = 45
ws2.column_dimensions["A"].width = 40
ws2.column_dimensions["B"].width = 75
ws2.column_dimensions["C"].width = 75
ws2.column_dimensions["D"].width = 45
ws2.column_dimensions["E"].width = 45
# ---- STEP 8: Save ----
output_path = "/home/daytona/workspace/blood-genetics/Blood and Genetics traits correlation_COMPLETED.xlsx"
wb.save(output_path)
print(f"Saved to: {output_path}")
cd /home/daytona/workspace/blood-genetics && python3 complete_sheet.py
cd /home/daytona/workspace/blood-genetics && python3 -c " import openpyxl wb = openpyxl.load_workbook('Blood and Genetics traits correlation.xlsx') ws2 = wb['Interpretations'] print('Merged cells:', ws2.merged_cells) print('Max row:', ws2.max_row, 'Max col:', ws2.max_column) "
~/blood-genetics/complete_sheet.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/blood-genetics/complete_sheet.py'
cd /home/daytona/workspace/blood-genetics && python3 complete_sheet.py
~/blood-genetics/complete_sheet.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/blood-genetics/complete_sheet.py'
cd /home/daytona/workspace/blood-genetics && python3 complete_sheet.py 2>&1
~/blood-genetics/complete_sheet.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/blood-genetics/complete_sheet.py'
cd /home/daytona/workspace/blood-genetics && python3 complete_sheet.py 2>&1
python3 -c " import openpyxl wb = openpyxl.load_workbook('/home/daytona/workspace/blood-genetics/BG_Completed.xlsx') ws1 = wb['Blood Vs Genetics Correlation'] ws2 = wb['Interpretations'] # Count non-empty rows in column E e_vals = [ws1.cell(r, 5).value for r in range(2, ws1.max_row+1) if ws1.cell(r, 5).value] print(f'Column E traits: {len(e_vals)}') # Count rows with data in col A and B ab_rows = sum(1 for r in range(2, ws1.max_row+1) if ws1.cell(r, 1).value and ws1.cell(r, 2).value) print(f'Biomarker rows with correlations (A+B): {ab_rows}') # Show sample of new traits in E print('Last 5 E column traits:') for v in e_vals[-5:]: print(f' {v}') # Interpretations sheet total_interp = sum(1 for r in range(3, ws2.max_row+1) if ws2.cell(r, 1).value) print(f'Interpretation rows: {total_interp}') # Show sample print('Sample interpretation (row 15):') print(f' A: {ws2.cell(15,1).value}') print(f' B (High): {str(ws2.cell(15,2).value)[:100] if ws2.cell(15,2).value else None}') print(f' D (Trait): {ws2.cell(15,4).value}') print(f'File size: {__import__(\"os\").path.getsize(\"/home/daytona/workspace/blood-genetics/BG_Completed.xlsx\")} bytes') "
BG Completed
Spreadsheet · XLSX
| What changed | Details |
|---|---|
| Column B completions | All 70 biomarker rows now have their genetics trait correlations filled in and enriched - previously empty cells were populated and existing entries had missing traits added |
| Column E - New traits added | 37 new genetics parameters added (highlighted in yellow), bringing the total from 229 to 266 genetics traits |
Not able yo open this file please reshare.
ls -lh /home/daytona/workspace/blood-genetics/ && python3 -c " import openpyxl, io wb = openpyxl.load_workbook('/home/daytona/workspace/blood-genetics/BG_Completed.xlsx') print('Sheets:', wb.sheetnames) print('File loads OK') "
python3 -c " import openpyxl, io, shutil # Load the completed file wb = openpyxl.load_workbook('/home/daytona/workspace/blood-genetics/BG_Completed.xlsx') # Save fresh copy with new name buf = io.BytesIO() wb.save(buf) data = buf.getvalue() out = '/home/daytona/workspace/blood-genetics/Blood_Genetics_Completed_v2.xlsx' with open(out, 'wb') as f: f.write(data) import os size = os.path.getsize(out) print(f'Written: {out}') print(f'Size: {size} bytes ({size//1024} KB)') # Verify it opens wb2 = openpyxl.load_workbook(out) ws1 = wb2['Blood Vs Genetics Correlation'] ws2 = wb2['Interpretations'] print(f'Sheet1 rows: {ws1.max_row}, Sheet2 rows: {ws2.max_row}') print('Verification OK') "
Blood Genetics Completed v2
Spreadsheet · XLSX
Generate a CSV version of the completed data for easier import
python3 -c " import openpyxl, csv, os wb = openpyxl.load_workbook('/home/daytona/workspace/blood-genetics/Blood_Genetics_Completed_v2.xlsx') out_dir = '/home/daytona/workspace/blood-genetics' # --- Sheet 1: Blood Vs Genetics Correlation --- ws1 = wb['Blood Vs Genetics Correlation'] csv1 = os.path.join(out_dir, 'Blood_Genetics_Correlation.csv') with open(csv1, 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f, quoting=csv.QUOTE_ALL) for row in ws1.iter_rows(values_only=True): # Only write rows that have at least one non-None value if any(v is not None for v in row): clean = [str(v).strip().replace('\n', ' ').replace('\t', ' ') if v is not None else '' for v in row] writer.writerow(clean) print('Sheet1 CSV written:', csv1) # --- Sheet 2: Interpretations --- ws2 = wb['Interpretations'] csv2 = os.path.join(out_dir, 'Blood_Genetics_Interpretations.csv') with open(csv2, 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f, quoting=csv.QUOTE_ALL) for row in ws2.iter_rows(values_only=True): if any(v is not None for v in row): clean = [str(v).strip().replace('\n', ' ').replace('\t', ' ') if v is not None else '' for v in row] writer.writerow(clean) print('Sheet2 CSV written:', csv2) # Stats import subprocess r1 = sum(1 for _ in open(csv1, encoding='utf-8')) r2 = sum(1 for _ in open(csv2, encoding='utf-8')) s1 = os.path.getsize(csv1) s2 = os.path.getsize(csv2) print(f'Correlation CSV: {r1} rows, {s1//1024} KB') print(f'Interpretations CSV: {r2} rows, {s2//1024} KB') "
python3 -c " import csv print('=== Correlation CSV - first 5 rows ===') with open('/home/daytona/workspace/blood-genetics/Blood_Genetics_Correlation.csv', encoding='utf-8') as f: for i, row in enumerate(csv.reader(f)): if i >= 5: break print(row[:2]) # cols A and B only (col E is index 4) print() print('=== Interpretations CSV - first 4 rows ===') with open('/home/daytona/workspace/blood-genetics/Blood_Genetics_Interpretations.csv', encoding='utf-8') as f: for i, row in enumerate(csv.reader(f)): if i >= 4: break print([c[:80] if len(c)>80 else c for c in row[:4]]) "
Blood Genetics Correlation
CSV File · CSV
Blood Genetics Interpretations
CSV File · CSV
| File | Columns | Rows |
|---|---|---|
| Blood_Genetics_Correlation.csv | Biomarker, Genetics Traits, (cols C/D blank), Genetics Parameter | 267 |
| Blood_Genetics_Interpretations.csv | Blood Marker, Interpretation (High), Interpretation (Average/Normal), Genetics Trait, Genetics Parameter | 1,091 |
please share this file in google sheet
Blood_Genetics_Correlation.csv or Blood_Genetics_Interpretations.csvBlood_Genetics_Completed_v2.xlsx.xlsx file directly into your Google Drive browser windowthis file is not having data . Please reshare
Create a summary document of what was completed