Make mcqs out of it for mbbs 1 year university exams .
python3 -c " import pdfplumber pdf_path = '/home/daytona/workspace/attachments/6…
python3 -c " import pdfplumber pdf_path = '/home/daytona/workspace/attachments/6…
~/Biochemistry_MCQs_MBBS1.md
# Biochemistry MCQs — MBBS 1st Year University Exams ### Based on Cerebellum's Hyperrevision (20th Course) --- ## CHAPTER 1: CARBOHYDRATE METABOLISM & METABOLIC INTEGRATION **Q1.** The rate-limiting enzyme of glycogen synthesis is: - A) Phosphoglucomutase - B) Branching enzyme - C) Glycogen synthase ✅ - D) Glucokinase **Explanation:** Glycogen synthase is the rate-limiting enzyme of glycogen synthesis, activated by insulin. --- **Q2.** The rate-limiting enzyme of glycolysis is: - A) Hexokinase - B) Pyruvate kinase - C) Phosphofructokinase-1 ✅ - D) Enolase **Explanation:** PFK-1 is the rate-limiting (and most important regulatory) enzyme of glycolysis. --- **Q3.** Net ATP gain from aerobic glycolysis (starting from glucose) is: - A) 2 - B) 3 - C) 7 ✅ - D) 38 **Explanation:** Mnemonic: "Aerobic" = 7 letters = 7 net ATP. --- **Q4.** Net ATP gain from anaerobic glycolysis starting from glycogen in muscle is: - A) 2 - B) 3 ✅ - C) 7 - D) 8 **Explanation:** Starting from glycogen, anaerobic glycolysis yields 3 ATP (one extra step bypasses one ATP-consuming step). --- **Q5.** The Warburg Effect refers to: - A) Use of anaerobic glycolysis in RBCs - B) Cancer cells using aerobic glycolysis but producing lactate ✅ - C) Gluconeogenesis inhibition in fasting - D) Ketone body synthesis in starvation **Explanation:** Cancer cells preferentially use aerobic glycolysis yet produce lactate rather than pyruvate (metabolic reprogramming), netting only 2 ATP. --- **Q6.** Enolase in glycolysis is inhibited by: - A) Sodium fluoride ✅ - B) Sodium citrate - C) EDTA - D) Heparin **Explanation:** Mnemonic: EFG — Enolase inhibited by Fluoride, blood collected in Grey vial. --- **Q7.** Blood collected in a grey (fluoride-oxalate) vial is used for: - A) CBC - B) Coagulation studies - C) Blood glucose estimation ✅ - D) Liver function test --- **Q8.** Which of the following is the most common enzyme deficiency causing hemolytic anemia? - A) Pyruvate kinase deficiency - B) Glucose-6-phosphate dehydrogenase deficiency ✅ - C) Hexokinase deficiency - D) Phosphoglucose isomerase deficiency **Explanation:** G6PD deficiency is X-linked recessive and is the most common enzyme deficiency causing hemolytic anemia. --- **Q9.** G6PD deficiency affects which metabolic pathway? - A) Glycolysis - B) Gluconeogenesis - C) Hexose Monophosphate Shunt ✅ - D) Beta oxidation --- **Q10.** The rate-limiting enzyme of cholesterol synthesis is: - A) HMG CoA synthase - B) HMG CoA reductase ✅ - C) Acetyl CoA carboxylase - D) Squalene synthase **Explanation:** HMG CoA reductase (in cytosol, activated by insulin, inhibited by statins) is the rate-limiting enzyme. --- **Q11.** The most common fatty acid synthesized de novo in the body is: - A) Stearic acid (18C) - B) Oleic acid (18:1) - C) Palmitic acid (16C) ✅ - D) Myristic acid (14C) --- **Q12.** The rate-limiting enzyme of fatty acid synthesis is: - A) Fatty acid synthase - B) Ketoacyl synthase - C) Acetyl CoA carboxylase ✅ - D) HMG CoA synthase **Explanation:** Acetyl CoA carboxylase (malonyl CoA synthetase) converts Acetyl CoA → Malonyl CoA. --- **Q13.** The cofactor of Acetyl CoA carboxylase (and Pyruvate carboxylase) is: - A) Vitamin B1 - B) Vitamin B2 - C) Biotin ✅ - D) Vitamin B6 **Explanation:** Mnemonic A-B-C: ATP used, Biotin is cofactor, CO2 is joined (carboxylation). --- **Q14.** Fatty acid synthesis occurs in which subcellular compartment? - A) Mitochondria - B) Cytosol ✅ - C) Peroxisomes - D) Nucleus --- **Q15.** The Citrate shuttle transfers which molecule from mitochondria to cytosol? - A) Oxaloacetate - B) Pyruvate - C) Acetyl CoA ✅ - D) Malate --- ## CHAPTER 2: FASTING, GLUCONEOGENESIS & GLYCOGENOLYSIS **Q16.** The primary fuel source in early fasting (0–16 hours) is: - A) Fatty acids - B) Liver glycogen ✅ - C) Muscle protein - D) Ketone bodies --- **Q17.** In prolonged starvation (>48 hours), gluconeogenesis: - A) Increases progressively - B) Decreases ✅ - C) Remains constant - D) Stops completely **Explanation:** Beyond 48 hours, ketone body synthesis increases and gluconeogenesis decreases (protein sparing). --- **Q18.** Red blood cells use which fuel even during starvation? - A) Fatty acids - B) Ketone bodies - C) Glucose ✅ - D) Amino acids **Explanation:** RBCs have no mitochondria → cannot perform beta oxidation or use ketone bodies → depend solely on glucose. --- **Q19.** The rate-limiting enzyme of glycogenolysis is: - A) Phosphoglucomutase - B) Debranching enzyme - C) Glycogen phosphorylase ✅ - D) Glucose-6-phosphatase **Explanation:** Glycogen phosphorylase is activated by calcium. --- **Q20.** Glucose-6-phosphatase is present in liver but absent in: - A) Kidney - B) Intestine - C) Muscle ✅ - D) Brain **Explanation:** Absence in muscle means muscle glycogen cannot contribute to blood glucose. --- **Q21.** Which enzyme is EXCLUSIVE to gluconeogenesis (not shared with glycolysis)? - A) Phosphoglycerate kinase - B) Enolase - C) Pyruvate carboxylase ✅ - D) Phosphoglycerate mutase **Explanation:** 4 enzymes exclusive to gluconeogenesis: Pyruvate carboxylase, PEP carboxykinase, Fructose-1,6-bisphosphatase, Glucose-6-phosphatase. --- **Q22.** Fructose-2,6-bisphosphate activates glycolysis by stimulating: - A) Pyruvate kinase - B) Hexokinase - C) Phosphofructokinase-1 ✅ - D) Phosphofructokinase-2 --- **Q23.** The most important glucogenic amino acid is: - A) Leucine - B) Lysine - C) Alanine ✅ - D) Valine --- **Q24.** Which of the following is NOT a substrate for gluconeogenesis? - A) Alanine - B) Lactate - C) Glycerol - D) Acetyl CoA ✅ **Explanation:** Acetyl CoA is an activator of gluconeogenesis, not a substrate. Ketone bodies and purely ketogenic amino acids (Leucine, Lysine) are also not substrates. --- **Q25.** Pyruvate carboxylase is activated by: - A) AMP - B) Fructose-2,6-bisphosphate - C) Acetyl CoA ✅ - D) Citrate --- ## CHAPTER 3: BETA OXIDATION & KETONE BODIES **Q26.** The rate-limiting enzyme of beta oxidation (controlling entry of fatty acids into mitochondria) is: - A) Carnitine - B) Acyl CoA synthetase - C) Carnitine palmitoyltransferase-1 ✅ - D) Translocase --- **Q27.** Malonyl CoA (produced during fatty acid synthesis) inhibits: - A) HMG CoA reductase - B) Carnitine palmitoyltransferase-1 ✅ - C) Acetyl CoA carboxylase - D) Beta-oxidation enzymes directly **Explanation:** This is the reciprocal regulation: when FA synthesis is active, beta oxidation is inhibited. --- **Q28.** Complete oxidation of palmitic acid (16C) yields: - A) 80 ATP - B) 90 ATP - C) 106 ATP ✅ - D) 129 ATP **Explanation:** Mnemonic: Palmitic = 16C → put "O" between 1 and 6 → 106 ATP. --- **Q29.** The FIRST ketone body synthesized in the liver is: - A) Acetone - B) 3-Hydroxybutyrate - C) Acetoacetate ✅ - D) Acetyl CoA --- **Q30.** The most common ketone body found in blood is: - A) Acetone - B) Acetoacetate - C) 3-Hydroxybutyrate ✅ - D) Acetoacetyl CoA --- **Q31.** Ketone body synthesis (ketogenesis) does NOT occur in: - A) Liver - B) Kidney - C) Muscle ✅ - D) Intestine --- **Q32.** The liver cannot utilize ketone bodies because it lacks: - A) HMG CoA synthase - B) Thiophorase (succinyl CoA transferase) ✅ - C) Beta-hydroxybutyrate dehydrogenase - D) Acetoacetyl CoA thiolase --- **Q33.** Rothera's test is used to detect: - A) Glucose in urine - B) Proteins in urine - C) Ketone bodies in urine ✅ - D) Bilirubin in urine **Explanation:** Rothera's test gives a purple color ring. Mnemonic: Ketone → Stone → Rothera → Purple → Propel. --- **Q34.** In Medium Chain Acyl CoA Dehydrogenase (MCAD) deficiency, the clinical features include: - A) Hypoglycemia + INCREASED ketone bodies - B) Hypoglycemia + DECREASED ketone bodies ✅ - C) Hyperglycemia + ketosis - D) Normal glucose + increased ketones --- **Q35.** A child presents with hypoglycemia and decreased ketone bodies after eating unripe ackee fruit. The diagnosis is: - A) MCAD deficiency - B) Carnitine deficiency - C) Jamaican Vomiting Sickness ✅ - D) Von Gierke disease **Explanation:** Unripe ackee contains hypoglycin which inhibits Acyl CoA dehydrogenase. --- ## CHAPTER 4: TCA CYCLE & OXIDATIVE PHOSPHORYLATION **Q36.** The TCA cycle is regulated by: - A) Insulin and glucagon - B) No hormonal regulation ✅ - C) Cortisol - D) Epinephrine **Explanation:** Unlike other metabolic pathways, the TCA cycle is NOT regulated by hormones. --- **Q37.** The link reaction (Pyruvate Dehydrogenase complex) is located in: - A) Cytosol - B) Mitochondria ✅ - C) Peroxisome - D) Nucleus --- **Q38.** Pyruvate Dehydrogenase complex is inactivated by: - A) Dephosphorylation - B) Phosphorylation ✅ - C) Acetylation - D) AMP --- **Q39.** 2,3-Bisphosphoglycerate (2,3-BPG) binds to which chain of hemoglobin? - A) Alpha chain - B) Beta chain ✅ - C) Gamma chain - D) Delta chain **Explanation:** 2,3-BPG binds to beta globin chains → stabilizes T (taut/deoxy) state → right shift of oxygen dissociation curve → more O2 release to tissues. --- **Q40.** Net ATP gain of the Rapaport-Luebering cycle (2,3-BPG pathway) in RBCs is: - A) 1 ATP - B) 2 ATP - C) 3 ATP - D) 0 ATP ✅ **Explanation:** The Rapaport-Luebering cycle bypasses Phosphoglycerate Kinase step → no ATP generated. --- ## CHAPTER 5: HEXOSE MONOPHOSPHATE SHUNT **Q41.** The rate-limiting enzyme of HMP shunt is: - A) Phosphoglucose isomerase - B) Glucose-6-phosphate dehydrogenase ✅ - C) Transketolase - D) Transaldolase --- **Q42.** The HMP shunt produces which important coenzyme? - A) NADH - B) FADH2 - C) NADPH ✅ - D) CoA --- **Q43.** The HMP shunt is ABSENT in: - A) Liver - B) Lactating mammary gland - C) Adrenal cortex - D) Skeletal muscle ✅ **Explanation:** HMP shunt is absent in skeletal muscle, skin, and non-lactating mammary gland. --- **Q44.** NADPH produced by HMP shunt is used for which function in RBCs? - A) ATP synthesis - B) Glutathione reduction ✅ - C) Hemoglobin synthesis - D) Fatty acid synthesis --- ## CHAPTER 6: GLYCOGEN STORAGE DISEASES **Q45.** Von Gierke disease (GSD Type I) is caused by deficiency of: - A) Glycogen phosphorylase - B) Branching enzyme - C) Debranching enzyme - D) Glucose-6-phosphatase ✅ **Explanation:** Glucose-6-phosphatase is common to both glycogenolysis AND gluconeogenesis → both pathways fail → severe fasting hypoglycemia + hepatomegaly + renomegaly. --- **Q46.** In Von Gierke disease, the glucagon challenge test shows: - A) Normal glucose rise - B) No glucose rise in either fed or fasting state ✅ - C) Glucose rise in fed state only - D) Glucose rise in fasting state only --- **Q47.** Which glycogen storage disease is caused by branching enzyme deficiency? - A) Cori disease (Type III) - B) Anderson disease (Type IV) ✅ - C) Hers disease (Type VI) - D) McArdle disease (Type V) **Explanation:** Mnemonic: Anderson = ABCDE, Branching Enzyme, "End of son" (death by 4-5 years). --- **Q48.** Pompe disease differs from other liver glycogen storage diseases because: - A) It involves a different enzyme - B) It is NOT a cause of hypoglycemia ✅ - C) It affects only muscle - D) It has X-linked inheritance --- **Q49.** Muscle glycogen storage diseases present with: - A) Fasting hypoglycemia - B) Hepatomegaly - C) Exercise intolerance ✅ - D) Lactic acidosis at rest --- **Q50.** In Cori disease (Type III), the glucagon challenge test shows: - A) No glucose rise at all - B) Glucose rise in fed state only ✅ - C) Glucose rise in fasting state only - D) Normal response --- ## CHAPTER 7: GLYCOSAMINOGLYCANS & MUCOPOLYSACCHARIDOSES **Q51.** Which glycosaminoglycan has NO sulfate group? - A) Heparan sulfate - B) Keratan sulfate - C) Hyaluronic acid ✅ - D) Chondroitin sulfate --- **Q52.** Which glycosaminoglycan has NO uronic acid, making it transparent? - A) Hyaluronic acid - B) Heparan sulfate - C) Dermatan sulfate - D) Keratan sulfate ✅ **Explanation:** Keratan sulfate has no COOH (uronic acid) → present in cornea → corneal transparency. --- **Q53.** Which is the ONLY intracellular glycosaminoglycan? - A) Hyaluronic acid - B) Heparin ✅ - C) Chondroitin sulfate - D) Dermatan sulfate --- **Q54.** All mucopolysaccharidoses (MPS) are autosomal recessive EXCEPT: - A) Hurler disease - B) Scheie disease - C) Hunter disease ✅ - D) Natowicz syndrome **Explanation:** Hunter disease (MPS II) is X-linked recessive; all others are autosomal recessive. --- **Q55.** Hunter disease is distinguished from Hurler disease by the absence of: - A) Mental retardation - B) Corneal clouding ✅ - C) Hepatomegaly - D) Heparan sulfate accumulation --- **Q56.** The enzyme deficient in both Hurler (MPS IH) and Scheie (MPS IS) disease is: - A) Iduronate sulfatase - B) α-L-Iduronidase ✅ - C) Heparanase - D) Hyaluronidase --- **Q57.** I-cell disease is a lysosomal storage disease involving a defect in: - A) Mitochondria - B) Golgi bodies ✅ - C) Endoplasmic reticulum - D) Nucleus **Explanation:** In I-cell disease, enzymes do not reach lysosomes due to a defect in Golgi body protein targeting. --- ## CHAPTER 8: FATTY ACIDS, LIPOPROTEINS & EICOSANOIDS **Q58.** Omega-3 fatty acids are considered: - A) Pro-inflammatory - B) Cardioprotective ✅ - C) Atherogenic - D) Ketogenic --- **Q59.** Docosahexaenoic acid (DHA) has high concentration in: - A) Liver and kidneys - B) Brain and retina ✅ - C) Muscle and bone - D) Adipose tissue --- **Q60.** Arachidonic acid is an omega-6 fatty acid with how many double bonds? - A) 2 - B) 3 - C) 4 ✅ - D) 5 **Explanation:** Arachidonic acid = 20:4 (Eicosa Tetraenoic Acid). Mnemonic: R4 (arachidonic = 4 double bonds). --- **Q61.** Eicosanoids are derived from: - A) Linoleic acid - B) Alpha-linolenic acid - C) Arachidonic acid ✅ - D) Palmitic acid --- **Q62.** Phospholipase A2 releases which fatty acid from cell membranes to initiate eicosanoid synthesis? - A) Linoleic acid - B) DHA - C) Arachidonic acid ✅ - D) EPA --- **Q63.** Beta oxidation of very long chain fatty acids (C20, C22) occurs in: - A) Mitochondria - B) Cytosol - C) Peroxisomes ✅ - D) Endoplasmic reticulum --- **Q64.** Refsum disease involves accumulation of which substance? - A) Ceramide - B) Sphingomyelin - C) Phytanic acid ✅ - D) Glucocerebroside --- **Q65.** Which lipoprotein has the HIGHEST triglyceride content? - A) HDL - B) LDL - C) VLDL - D) Chylomicrons ✅ --- **Q66.** The heart uses which fuel preferentially, even in the fed state? - A) Glucose - B) Fatty acids ✅ - C) Amino acids - D) Ketone bodies --- ## CHAPTER 9: AMINO ACID METABOLISM **Q67.** Maple Syrup Urine Disease (MSUD) is due to deficiency of: - A) Phenylalanine hydroxylase - B) Homogentisate oxidase - C) Branched chain alpha-keto acid dehydrogenase ✅ - D) Isovaleryl dehydrogenase --- **Q68.** The DNPH (dinitrophenylhydrazine) test for MSUD gives which color? - A) Purple ring - B) Green precipitate - C) Yellow precipitate ✅ - D) Red precipitate --- **Q69.** The urine of Isovaleric aciduria (Isovaleryl dehydrogenase deficiency) smells like: - A) Mousy/musty - B) Rotting cabbage - C) Maple syrup - D) Sweaty feet ✅ --- **Q70.** Which amino acid is the SMALLEST and has no optical isomers? - A) Alanine - B) Glycine ✅ - C) Serine - D) Threonine **Explanation:** Glycine has H as its R group → no asymmetric carbon → no optical isomerism. --- **Q71.** Heme synthesis begins with which precursor amino acid + Succinyl CoA? - A) Alanine - B) Glycine ✅ - C) Aspartate - D) Glutamate **Explanation:** Glycine + Succinyl CoA → Aminolevulinic acid (by delta-ALA synthase). --- **Q72.** Glutathione is a tripeptide composed of: - A) Gly + Ala + Cys - B) Glu + Cys + Gly ✅ - C) Glu + Gln + Gly - D) Asp + Cys + Gly --- **Q73.** Creatine is synthesized from which 3 amino acids? - A) Gly + Arg + Met ✅ - B) Gly + Ala + Met - C) Ala + Arg + Val - D) Gly + Glu + Arg **Explanation:** Mnemonic: GAMe — Glycine + Arginine + Methionine. --- **Q74.** All transaminase reactions require which cofactor? - A) Biotin - B) Pyridoxal phosphate (Vitamin B6) ✅ - C) FAD (Vitamin B2) - D) Thiamine pyrophosphate (Vitamin B1) --- **Q75.** Which amino acids contain a hydroxyl (OH) group in their side chain? - A) Tyrosine, Threonine, Serine ✅ - B) Leucine, Isoleucine, Valine - C) Aspartate, Glutamate, Lysine - D) Phenylalanine, Tryptophan, Histidine **Explanation:** Mnemonic: Try Three Sari → Tyrosine, Threonine, Serine. --- **Q76.** Arginine is the common precursor for all EXCEPT: - A) Urea - B) Creatine - C) Nitric oxide - D) Glutathione ✅ --- ## CHAPTER 10: UREA CYCLE **Q77.** The urea cycle occurs in which organ? - A) Kidney - B) Liver ✅ - C) Muscle - D) Intestine --- **Q78.** The first step of the urea cycle (CPS-I reaction) occurs in: - A) Cytosol - B) Mitochondria ✅ - C) Endoplasmic reticulum - D) Peroxisomes --- **Q79.** The enzyme deficient in Hyperammonemia Type 2 (most common urea cycle defect) is: - A) CPS-I - B) Ornithine Transcarbamylase (OTC) ✅ - C) Argininosuccinate Synthetase - D) Arginase **Explanation:** OTC deficiency is X-linked (rare exception among urea cycle defects). Features include hyperammonemia + orotic aciduria. --- **Q80.** Orotic aciduria is seen in which urea cycle defect? - A) CPS-I deficiency - B) OTC deficiency ✅ - C) Argininosuccinate lyase deficiency - D) Arginase deficiency **Explanation:** In OTC deficiency, carbamoyl phosphate is diverted to pyrimidine synthesis → orotic acid accumulation. --- **Q81.** The allosteric activator of CPS-I is: - A) ATP - B) Ornithine - C) N-Acetyl Glutamate ✅ - D) Argininosuccinate --- **Q82.** Total ATP equivalents used per urea cycle: - A) 2 - B) 3 - C) 4 ✅ - D) 6 --- **Q83.** The connecting link between urea cycle and TCA cycle is: - A) Oxaloacetate - B) Alpha-ketoglutarate - C) Fumarate ✅ - D) Succinate --- ## CHAPTER 11: DNA REPLICATION, REPAIR & TRANSCRIPTION **Q84.** The telomere sequence at the ends of chromosomes is: - A) AATTCC - B) TTAGGG ✅ - C) GCATGC - D) CCTTAA --- **Q85.** Telomerase is a reverse transcriptase that is INCREASED in: - A) Aging cells - B) Normal somatic cells - C) Cancer cells ✅ - D) Differentiated neurons --- **Q86.** Which DNA polymerase is responsible for mitochondrial DNA replication in eukaryotes? - A) Alpha - B) Beta - C) Gamma ✅ - D) Delta --- **Q87.** Xeroderma Pigmentosum is caused by a defect in which DNA repair mechanism? - A) Mismatch repair - B) Base excision repair - C) Nucleotide excision repair ✅ - D) Homologous recombination **Explanation:** NER repairs UV-induced thymidine dimers. Defect → inability to repair UV damage → skin cancer. --- **Q88.** HNPCC (Lynch Syndrome) is caused by a defect in: - A) Nucleotide excision repair - B) Base excision repair - C) Mismatch repair ✅ - D) Non-homologous end joining --- **Q89.** BRCA1/BRCA2 mutations affect which DNA repair mechanism? - A) Mismatch repair - B) Homologous recombination ✅ - C) Nucleotide excision repair - D) Base excision repair --- **Q90.** SCID (Severe Combined Immunodeficiency) is associated with a defect in: - A) Mismatch repair - B) Non-homologous end joining ✅ - C) Base excision repair - D) Homologous recombination --- **Q91.** The 5' cap of mRNA is made of: - A) Adenosine residues - B) 7-Methylguanosine ✅ - C) Methylcytosine - D) Pseudouridine **Explanation:** The 5' cap protects mRNA and aids in translation initiation. NOT present on tRNA or rRNA. --- **Q92.** Poly-A tail is ABSENT in: - A) Beta-globin mRNA - B) Albumin mRNA - C) Histone mRNA ✅ - D) Collagen mRNA --- **Q93.** The operon model was described by: - A) Watson and Crick - B) Chargaff - C) Jacob and Monod ✅ - D) Meselson and Stahl --- **Q94.** Apo B48 is formed from Apo B100 by which post-transcriptional modification? - A) Splicing - B) 5' capping - C) Polyadenylation - D) RNA editing ✅ **Explanation:** Cytosine deaminase in the intestine converts CAA → UAA (stop codon), producing a shorter Apo B48 protein (~48% molecular weight of Apo B100). --- **Q95.** Introns are removed from pre-mRNA by: - A) Ribosomes - B) Spliceosome (containing snRNA, a ribozyme) ✅ - C) RNA polymerase - D) Proteasome --- ## ANSWER KEY (QUICK REFERENCE) | Q | Ans | Q | Ans | Q | Ans | Q | Ans | Q | Ans | |---|-----|---|-----|---|-----|---|-----|---|-----| | 1 | C | 21 | C | 41 | B | 61 | C | 81 | C | | 2 | C | 22 | C | 42 | C | 62 | C | 82 | C | | 3 | C | 23 | C | 43 | D | 63 | C | 83 | C | | 4 | B | 24 | D | 44 | B | 64 | C | 84 | B | | 5 | B | 25 | C | 45 | D | 65 | D | 85 | C | | 6 | A | 26 | C | 46 | B | 66 | B | 86 | C | | 7 | C | 27 | B | 47 | B | 67 | C | 87 | C | | 8 | B | 28 | C | 48 | B | 68 | C | 88 | C | | 9 | C | 29 | C | 49 | C | 69 | D | 89 | B | | 10 | B | 30 | C | 50 | B | 70 | B | 90 | B | | 11 | C | 31 | C | 51 | C | 71 | B | 91 | B | | 12 | C | 32 | B | 52 | D | 72 | B | 92 | C | | 13 | C | 33 | C | 53 | B | 73 | A | 93 | C | | 14 | B | 34 | B | 54 | C | 74 | B | 94 | D | | 15 | C | 35 | C | 55 | B | 75 | A | 95 | B | | 16 | B | 36 | B | 56 | B | 76 | D | | | | 17 | B | 37 | B | 57 | B | 77 | B | | | | 18 | C | 38 | B | 58 | B | 78 | B | | | | 19 | C | 39 | B | 59 | B | 79 | B | | | | 20 | C | 40 | D | 60 | C | 80 | B | | | --- *Total: 95 MCQs | Source: Cerebellum's Hyperrevision 20th Course — Biochemistry*
Biochemistry MCQs MBBS1
MD File · MD
| Chapter | Topic | MCQs |
|---|---|---|
| 1 | Carbohydrate Metabolism (Fed State) | Q1-Q15 |
| 2 | Fasting, Gluconeogenesis, Glycogenolysis | Q16-Q25 |
| 3 | Beta Oxidation & Ketone Bodies | Q26-Q35 |
| 4 | TCA Cycle, PDH Complex, 2,3-BPG | Q36-Q40 |
| 5 | HMP Shunt (Pentose Phosphate Pathway) | Q41-Q44 |
| 6 | Glycogen Storage Diseases | Q45-Q50 |
| 7 | Glycosaminoglycans & Mucopolysaccharidoses | Q51-Q57 |
| 8 | Fatty Acids, Lipoproteins, Eicosanoids | Q58-Q66 |
| 9 | Amino Acid Metabolism | Q67-Q76 |
| 10 | Urea Cycle | Q77-Q83 |
| 11 | DNA Replication, Repair & Transcription | Q84-Q95 |
Make this into pdf form
python3 -c " from reportlab.lib.pagesizes import A4 from reportlab.lib.styles im…
~/generate_mcq_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, HRFlowable, Table, TableStyle, PageBreak, KeepTogether
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
import re
# ── colour palette ──────────────────────────────────────────────────────────
DARK_BLUE = colors.HexColor("#1a3a5c")
MED_BLUE = colors.HexColor("#2563a8")
LIGHT_BLUE = colors.HexColor("#dbeafe")
CORRECT_BG = colors.HexColor("#d1fae5") # pale green for correct option
CORRECT_FG = colors.HexColor("#065f46")
EXPL_BG = colors.HexColor("#fef9c3") # pale yellow for explanation
EXPL_FG = colors.HexColor("#713f12")
CHAPTER_BG = colors.HexColor("#1a3a5c")
SEPARATOR = colors.HexColor("#93c5fd")
PAGE_W, PAGE_H = A4
MARGIN = 1.8 * cm
# ── doc setup ────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
"/home/daytona/workspace/Biochemistry_MCQs_MBBS1.pdf",
pagesize=A4,
leftMargin=MARGIN, rightMargin=MARGIN,
topMargin=2.2*cm, bottomMargin=2*cm,
title="Biochemistry MCQs — MBBS 1st Year",
author="Cerebellum Hyperrevision",
)
# ── styles ────────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
TITLE_STYLE = ParagraphStyle(
"Title", parent=styles["Normal"],
fontSize=22, leading=28, textColor=colors.white,
fontName="Helvetica-Bold", alignment=TA_CENTER,
spaceAfter=4,
)
SUBTITLE_STYLE = ParagraphStyle(
"Subtitle", parent=styles["Normal"],
fontSize=12, leading=16, textColor=LIGHT_BLUE,
fontName="Helvetica", alignment=TA_CENTER,
spaceAfter=6,
)
CHAPTER_STYLE = ParagraphStyle(
"Chapter", parent=styles["Normal"],
fontSize=13, leading=17, textColor=colors.white,
fontName="Helvetica-Bold", alignment=TA_LEFT,
spaceBefore=10, spaceAfter=4,
)
Q_STYLE = ParagraphStyle(
"Question", parent=styles["Normal"],
fontSize=10.5, leading=15, textColor=DARK_BLUE,
fontName="Helvetica-Bold",
spaceBefore=6, spaceAfter=2, leftIndent=0,
)
OPT_STYLE = ParagraphStyle(
"Option", parent=styles["Normal"],
fontSize=10, leading=14, textColor=colors.black,
fontName="Helvetica",
spaceBefore=1, spaceAfter=1, leftIndent=16,
)
OPT_CORRECT_STYLE = ParagraphStyle(
"CorrectOption", parent=styles["Normal"],
fontSize=10, leading=14, textColor=CORRECT_FG,
fontName="Helvetica-Bold",
spaceBefore=1, spaceAfter=1, leftIndent=16,
)
EXPL_STYLE = ParagraphStyle(
"Explanation", parent=styles["Normal"],
fontSize=9.5, leading=13.5, textColor=EXPL_FG,
fontName="Helvetica-Oblique",
spaceBefore=3, spaceAfter=4, leftIndent=8,
)
FOOTER_STYLE = ParagraphStyle(
"Footer", parent=styles["Normal"],
fontSize=8, textColor=colors.grey, alignment=TA_CENTER,
)
ANS_KEY_STYLE = ParagraphStyle(
"AnsKey", parent=styles["Normal"],
fontSize=9, leading=13, textColor=DARK_BLUE,
fontName="Helvetica",
)
# ── helper: strip markdown bold/italic ───────────────────────────────────────
def md_to_rl(text):
"""Convert basic markdown markers to ReportLab XML."""
text = text.replace("&", "&").replace("<", "<").replace(">", ">")
# bold
text = re.sub(r'\*\*(.+?)\*\*', r'<b>\1</b>', text)
# italic
text = re.sub(r'\*(.+?)\*', r'<i>\1</i>', text)
return text
# ── parse the markdown ────────────────────────────────────────────────────────
with open('/home/daytona/workspace/Biochemistry_MCQs_MBBS1.md', 'r') as f:
raw = f.read()
lines = raw.split('\n')
# ── build flowables ───────────────────────────────────────────────────────────
story = []
def add_chapter_banner(title_text):
# Coloured box with chapter title
data = [[Paragraph(title_text, CHAPTER_STYLE)]]
t = Table(data, colWidths=[PAGE_W - 2*MARGIN])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), CHAPTER_BG),
("TOPPADDING", (0,0), (-1,-1), 7),
("BOTTOMPADDING", (0,0), (-1,-1), 7),
("LEFTPADDING", (0,0), (-1,-1), 12),
("RIGHTPADDING", (0,0), (-1,-1), 12),
("ROUNDEDCORNERS", [4,4,4,4]),
]))
story.append(Spacer(1, 8))
story.append(t)
story.append(Spacer(1, 6))
# ── cover page ────────────────────────────────────────────────────────────────
cover_data = [[
Paragraph("Biochemistry MCQs", TITLE_STYLE),
Paragraph("MBBS 1st Year University Exams", SUBTITLE_STYLE),
Paragraph("Based on Cerebellum's Hyperrevision — 20th Course", SUBTITLE_STYLE),
Paragraph("11 Chapters | 95 Questions | With Answers & Explanations", SUBTITLE_STYLE),
]]
cover_table = Table([[item] for item in [
Paragraph("Biochemistry MCQs", TITLE_STYLE),
Paragraph("MBBS 1st Year University Exams", SUBTITLE_STYLE),
Paragraph("Based on Cerebellum's Hyperrevision — 20th Course", SUBTITLE_STYLE),
Spacer(1, 8),
Paragraph("11 Chapters | 95 Questions | With Answers & Explanations", SUBTITLE_STYLE),
]], colWidths=[PAGE_W - 2*MARGIN])
cover_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
("TOPPADDING", (0,0), (-1,-1), 14),
("BOTTOMPADDING", (0,0), (-1,-1), 14),
("LEFTPADDING", (0,0), (-1,-1), 18),
("RIGHTPADDING", (0,0), (-1,-1), 18),
("ROUNDEDCORNERS", [6,6,6,6]),
]))
story.append(Spacer(1, 1.5*cm))
story.append(cover_table)
story.append(Spacer(1, 0.8*cm))
# Coverage summary table
summary_data = [
["Chapter", "Topic", "MCQs"],
["1", "Carbohydrate Metabolism (Fed State)", "Q1–Q15"],
["2", "Fasting, Gluconeogenesis, Glycogenolysis", "Q16–Q25"],
["3", "Beta Oxidation & Ketone Bodies", "Q26–Q35"],
["4", "TCA Cycle, PDH Complex, 2,3-BPG", "Q36–Q40"],
["5", "HMP Shunt (Pentose Phosphate Pathway)", "Q41–Q44"],
["6", "Glycogen Storage Diseases", "Q45–Q50"],
["7", "Glycosaminoglycans & Mucopolysaccharidoses", "Q51–Q57"],
["8", "Fatty Acids, Lipoproteins, Eicosanoids", "Q58–Q66"],
["9", "Amino Acid Metabolism", "Q67–Q76"],
["10", "Urea Cycle", "Q77–Q83"],
["11", "DNA Replication, Repair & Transcription", "Q84–Q95"],
]
col_w = [(PAGE_W - 2*MARGIN) * f for f in [0.1, 0.72, 0.18]]
s_tbl = Table(summary_data, colWidths=col_w)
s_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), MED_BLUE),
("TEXTCOLOR", (0,0), (-1,0), colors.white),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 9),
("ROWBACKGROUNDS", (0,1), (-1,-1), [colors.white, LIGHT_BLUE]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#93c5fd")),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 8),
("ALIGN", (0,0), (0,-1), "CENTER"),
("ALIGN", (2,0), (2,-1), "CENTER"),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
story.append(s_tbl)
story.append(PageBreak())
# ── main content ──────────────────────────────────────────────────────────────
i = 0
current_q_blocks = [] # accumulate lines for one question
def flush_question(blocks):
"""Render a complete question block."""
if not blocks:
return
items = []
for btype, btext in blocks:
if btype == "question":
items.append(Paragraph(md_to_rl(btext), Q_STYLE))
elif btype == "option_correct":
# green-tinted row
tick = btext.replace("✅", "✔")
opt_para = Paragraph(md_to_rl(tick), OPT_CORRECT_STYLE)
opt_tbl = Table([[opt_para]], colWidths=[PAGE_W - 2*MARGIN - 0.4*cm])
opt_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), CORRECT_BG),
("TOPPADDING", (0,0), (-1,-1), 2),
("BOTTOMPADDING", (0,0), (-1,-1), 2),
("LEFTPADDING", (0,0), (-1,-1), 10),
("ROUNDEDCORNERS", [3,3,3,3]),
]))
items.append(opt_tbl)
elif btype == "option":
items.append(Paragraph(md_to_rl(btext), OPT_STYLE))
elif btype == "explanation":
expl_para = Paragraph(md_to_rl("💡 " + btext), EXPL_STYLE)
expl_tbl = Table([[expl_para]], colWidths=[PAGE_W - 2*MARGIN - 0.4*cm])
expl_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), EXPL_BG),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 10),
("ROUNDEDCORNERS", [3,3,3,3]),
]))
items.append(expl_tbl)
items.append(Spacer(1, 4))
items.append(HRFlowable(width="100%", thickness=0.5, color=SEPARATOR, spaceAfter=4))
story.append(KeepTogether(items))
in_answer_key = False
answer_key_lines = []
while i < len(lines):
line = lines[i].rstrip()
# Skip markdown horizontal rules
if re.match(r'^---+$', line):
if current_q_blocks:
flush_question(current_q_blocks)
current_q_blocks = []
i += 1
continue
# H1 title — skip (already on cover)
if line.startswith("# ") and not line.startswith("## "):
i += 1
continue
# H3 subtitle — skip
if line.startswith("### "):
i += 1
continue
# H2 = chapter heading
if line.startswith("## "):
if current_q_blocks:
flush_question(current_q_blocks)
current_q_blocks = []
ch_title = line[3:].strip()
if "ANSWER KEY" in ch_title.upper():
in_answer_key = True
else:
add_chapter_banner(ch_title)
i += 1
continue
# Answer key section — collect remaining lines
if in_answer_key:
answer_key_lines.append(line)
i += 1
continue
# Question line: **Q1.** ...
if re.match(r'^\*\*Q\d+\.\*\*', line):
if current_q_blocks:
flush_question(current_q_blocks)
current_q_blocks = []
q_text = re.sub(r'^\*\*(Q\d+\.)\*\*\s*', r'\1 ', line)
current_q_blocks.append(("question", q_text))
i += 1
continue
# Options: - A) ... ✅
if re.match(r'^- [A-D]\)', line):
opt_text = line[2:] # strip "- "
if "✅" in opt_text:
current_q_blocks.append(("option_correct", opt_text))
else:
current_q_blocks.append(("option", opt_text))
i += 1
continue
# Explanation: **Explanation:** ...
if line.startswith("**Explanation:**"):
expl = line.replace("**Explanation:**", "").strip()
current_q_blocks.append(("explanation", expl))
i += 1
continue
# blank line — just skip
if line.strip() == "":
i += 1
continue
# anything else in a question context — append as explanation continuation
# (shouldn't normally happen, but safe fallback)
i += 1
# flush last question
if current_q_blocks:
flush_question(current_q_blocks)
# ── Answer Key section ────────────────────────────────────────────────────────
story.append(PageBreak())
add_chapter_banner("ANSWER KEY (QUICK REFERENCE)")
# Build a simple grid from the answer key markdown table
# Parse lines like | 1 | C | 21 | C | ...
ak_rows = []
for line in answer_key_lines:
if line.startswith("|") and "---" not in line and "Q" not in line and "Ans" not in line:
cells = [c.strip() for c in line.strip("|").split("|")]
if len(cells) >= 10:
# 5 pairs: Q, Ans, Q, Ans, Q, Ans, Q, Ans, Q, Ans
ak_rows.append(cells)
if ak_rows:
# header
ak_header = ["Q", "Ans", "Q", "Ans", "Q", "Ans", "Q", "Ans", "Q", "Ans"]
ak_data = [ak_header] + ak_rows
col_count = 10
col_w_ak = [(PAGE_W - 2*MARGIN) / col_count] * col_count
ak_tbl = Table(ak_data, colWidths=col_w_ak, repeatRows=1)
ak_style = [
("BACKGROUND", (0,0), (-1,0), MED_BLUE),
("TEXTCOLOR", (0,0), (-1,0), colors.white),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 9),
("ALIGN", (0,0), (-1,-1), "CENTER"),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("GRID", (0,0), (-1,-1), 0.4, SEPARATOR),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
]
# Alternate row bg
for r in range(1, len(ak_data)):
bg = colors.white if r % 2 == 0 else LIGHT_BLUE
ak_style.append(("BACKGROUND", (0,r), (-1,r), bg))
# Bold the "Ans" columns
for c in [1, 3, 5, 7, 9]:
ak_style.append(("FONTNAME", (c,1), (c,-1), "Helvetica-Bold"))
ak_style.append(("TEXTCOLOR", (c,1), (c,-1), MED_BLUE))
ak_tbl.setStyle(TableStyle(ak_style))
story.append(ak_tbl)
else:
story.append(Paragraph("Refer to individual question answers marked with ✔", ANS_KEY_STYLE))
story.append(Spacer(1, 0.6*cm))
story.append(Paragraph(
"Total: 95 MCQs | Source: Cerebellum's Hyperrevision 20th Course — Biochemistry",
FOOTER_STYLE
))
# ── page number callback ──────────────────────────────────────────────────────
def add_page_number(canvas, doc):
canvas.saveState()
canvas.setFont("Helvetica", 8)
canvas.setFillColor(colors.grey)
page_num = canvas.getPageNumber()
text = f"Page {page_num}"
canvas.drawRightString(PAGE_W - MARGIN, 1.2*cm, text)
canvas.drawString(MARGIN, 1.2*cm, "Biochemistry MCQs — MBBS 1st Year")
# thin top line
canvas.setStrokeColor(SEPARATOR)
canvas.setLineWidth(0.5)
canvas.line(MARGIN, PAGE_H - 1.5*cm, PAGE_W - MARGIN, PAGE_H - 1.5*cm)
canvas.restoreState()
# ── build ─────────────────────────────────────────────────────────────────────
doc.build(story, onFirstPage=add_page_number, onLaterPages=add_page_number)
print("PDF created successfully!")
cd /home/daytona/workspace && python3 generate_mcq_pdf.py 2>&1
ls -lh /home/daytona/workspace/Biochemistry_MCQs_MBBS1.pdf
Biochemistry MCQs MBBS1
PDF Document · PDF