Can you analyse GPAT last 5 year question paper?

Please upload the five GPAT question papers you want analyzed, or tell me the exact years and whether you want me to locate publicly available papers.
I can analyze:
  • Subject-wise and chapter-wise weightage
  • Repeated topics and question patterns
  • Difficulty trend by year
  • High-yield areas for preparation
  • A study plan based on the findings

Create a chapter-wise GPAT weightage table

Reading File
Finding Sources
Searching the Web

GPAT previous year question paper chapter-wise weightage pharmaceutical subjects analysis 2021 2022 2023 2024 2025

Searching PubMed

pharmacy education assessment

Searching the Web

site:natboard.edu.in GPAT information bulletin 2025 pdf syllabus 38 38 28 10

Reading Web Page

https://www.shiksha.com/medicine-health-sciences/pharmacy/gp…

Finding Sources

GPAT chapter-wise weightage table

Important: GPAT officially specifies section-wise, not fixed chapter-wise, weightage. The table below is a practical planning estimate based on recurring PYQ patterns. The official overall structure is 125 MCQs, 500 marks, with +4 for correct and -1 for incorrect answers. The section totals shown align with the published GPAT pattern: Pharmaceutical Chemistry 38, Pharmaceutics 38, Pharmacology 28, Pharmacognosy 10, and other B.Pharm subjects 11. GPAT is currently administered by NBEMS.
SectionChapter / topic clusterExpected questionsApprox. marksPriority
Pharmaceutical Chemistry and AlliedMedicinal chemistry: SAR, drug synthesis, classification, IUPAC, metabolism8-1032-40Very high
Pharmaceutical analysis: spectroscopy, chromatography, titrations, validation6-824-32Very high
Organic chemistry: named reactions, stereochemistry, intermediates, mechanisms5-620-24High
Biochemistry: metabolism, enzymes, vitamins, nucleic acids4-516-20High
Physical chemistry: kinetics, thermodynamics, pH, buffers, colligative properties3-512-20High
Inorganic chemistry: limit tests, impurities, antidotes, radiopharmaceuticals2-38-12Moderate
Section total38152
Pharmaceutics and AlliedPharmaceutical technology: tablets, capsules, coating, parenterals, sterile products9-1136-44Very high
Physical pharmaceutics: rheology, micromeritics, surface chemistry, stability5-620-24High
Dosage forms: suspensions, emulsions, semisolids, aerosols, ophthalmics5-620-24High
Biopharmaceutics and pharmacokinetics: ADME, clearance, bioavailability, compartment models4-516-20Very high
Novel drug delivery systems: liposomes, nanoparticles, transdermal, controlled release3-412-16High
Industrial pharmacy, GMP, validation, packaging and QA3-412-16High
Microbiology and sterilization2-38-12Moderate
Section total38152
Pharmacology and AlliedGeneral pharmacology: receptors, dose-response, adverse effects, pharmacokinetics3-412-16Very high
Autonomic nervous system drugs2-38-12High
Cardiovascular, renal and blood drugs3-412-16Very high
CNS drugs: sedatives, antiepileptics, antipsychotics, antidepressants, analgesics3-412-16Very high
Endocrine and autacoid drugs2-38-12High
Antimicrobials, anticancer drugs and chemotherapy4-516-20Very high
Respiratory and gastrointestinal pharmacology2-38-12Moderate
Toxicology, poisoning, antidotes and clinical pharmacology2-38-12High
Section total28112
Pharmacognosy and AlliedNatural drugs: biological source, family, constituents, uses and adulteration3-412-16Very high
Phytochemistry: alkaloids, glycosides, flavonoids, terpenoids, tannins2-38-12High
Biosynthesis and biogenetic pathways1-24-8Moderate
Herbal drug standardization, extraction and evaluation1-24-8High
Marine drugs, nutraceuticals and plant tissue culture1-24-8Moderate
Section total1040
Other B.Pharm SubjectsPharmaceutical jurisprudence: Drugs and Cosmetics Act, schedules, NDPS, Pharmacy Act2-38-12High
Pharmaceutical management and marketing1-24-8Moderate
Hospital and clinical pharmacy: prescription, ADR, TDM, patient counselling2-38-12High
Human anatomy and physiology / pathophysiology1-24-8Moderate
Biostatistics, research methodology and computer applications1-24-8Moderate
Environmental science / health education0-10-4Low
Section total1144
Grand total125500

Most scoring chapters to complete first

  1. Medicinal chemistry and pharmaceutical analysis
  2. Tablets, capsules, parenterals, GMP and validation
  3. Biopharmaceutics and pharmacokinetics
  4. General pharmacology, CNS, CVS, antimicrobials and anticancer drugs
  5. Phytoconstituents and crude-drug identification
  6. Pharmaceutical jurisprudence

Suggested preparation-time split

  • Pharmaceutics: 30%
  • Pharmaceutical chemistry and allied: 30%
  • Pharmacology and allied: 23%
  • Pharmacognosy: 9%
  • Other subjects: 8%
Use this as a revision priority map, not as a guaranteed chapter-wise blueprint. Chapter counts can vary substantially between individual GPAT papers, even though the broad section distribution remains consistent.

This my last year official answer key can you highlight my mistake, my week area's and my strength.

Reading File
Reading File
Browsing Directory

~/

Browsing Directory

~/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e

Reading File
Running Command

mkdir -p "/tmp/workspace/gpat-answer-analysis/src" "/tmp/workspace/gpat-answer-analysis/output" && python -c "from pypdf import PdfReader; p='/tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf'; r=PdfReader(p); print('pages',len(r.pages)); print('metadata',r.metadata); [print('---PAGE',i+1,'---\n', (page.extract_text() or '')[:2500]) for i,page in enumerate(r.pages)]"

Running Command

python -c "import fitz, os; p='/tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf'; d=fitz.open(p); out='/tmp/workspace/gpat-answer-analysis/src'; [d[i].get_pixmap(matrix=fitz.Matrix(1.5,1.5),alpha=False).save(f'{out}/page_{i+1:02d}.png') for i in range(len(d))]; print('rendered',len(d))"

Running Command

python -c "from pypdf import PdfReader; from PIL import Image; import io,os; p='/tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf'; r=PdfReader(p); out='/tmp/workspace/gpat-answer-analysis/src'; print('pages',len(r.pages)); for n,page in enumerate(r.pages,1): imgs=list(page.images); print(n,len(imgs),[(im.name,len(im.data)) for im in imgs]); for j,im in enumerate(imgs): open(f'{out}/p{n:02d}_{j:02d}.{im.name.split(chr(46))[-1]}','wb').write(im.data)"

Reading File
Running Command

python -c "import importlib.util; print('easyocr',importlib.util.find_spec('easyocr')); print('paddleocr',importlib.util.find_spec('paddleocr')); print('cv2',importlib.util.find_spec('cv2')); from PIL import Image; import os; files=sorted(os.listdir('/tmp/workspace/gpat-answer-analysis/src')); [(lambda x: print(x,Image.open('/tmp/workspace/gpat-answer-analysis/src/'+x).size))(f) for f in files if f.endswith('.jpg')]"

Running Command

python -c "import shutil,importlib.util; print('tesseract',shutil.which('tesseract')); print('pytesseract',importlib.util.find_spec('pytesseract')); print('rapidocr',importlib.util.find_spec('rapidocr_onnxruntime')); print('doctr',importlib.util.find_spec('doctr')); print('transformers',importlib.util.find_spec('transformers'))"

general-purpose

Analyze the uploaded PDF at /tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf. It is an 18-page scanned GPAT response/answer-key document. Extract, as accurately as possible, the candidate's responses versus official answer key, score, question-level mistakes/unattempted questions, and subject/chapter patterns. Use appropriate PDF/image processing and visual reading available to you. Return a concise structured report with counts and a complete or near-complete list of mistakes if possible, including question number, candidate answer, correct answer, and topic.

Browsing Directory

~/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e

Reading File
Running Command

python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf' r=PdfReader(p) print('pages',len(r.pages)) for i,page in enumerate(r.pages): t=page.extract_text() or '' print(i+1, len(t), repr(t[:500])) PY python - <<'PY' import fitz, os p='/tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf' out='/tmp/workspace/gpat_render'; os.makedirs(out,exist_ok=True) doc=fitz.open(p) for i, page in enumerate(doc): pix=page.get_pixmap(matrix=fitz.Matrix(1.5,1.5), alpha=False) pix.save(f'{out}/p{i+1:02}.png') print(out) PY

Running Command

python - <<'PY' import pypdf, os p='/tmp/workspace/attachments/0c922fd7-2ceb-4395-8910-87f193369a5e/GPAT 26 .pdf'; out='/tmp/workspace/gpat_imgs'; os.makedirs(out,exist_ok=True) r=pypdf.PdfReader(p) for n,page in enumerate(r.pages,1): print(n, page.mediabox, len(page.images)) for j,img in enumerate(page.images): with open(f'{out}/p{n:02}_{j}.{img.name.split(".")[-1]}','wb') as f:f.write(img.data) PY python - <<'PY' try: import pdf2image; print('pdf2image yes') except Exception as e: print('no',e) try: import PIL; print('PIL yes') except Exception as e: print('no PIL',e) PY ls -lh /tmp/workspace/gpat_imgs | sed -n '1,25p'

Running Command

python - <<'PY' from PIL import Image,ImageDraw import glob,os fs=glob.glob('/tmp/workspace/gpat_imgs/*') ims=[] for f in fs: im=Image.open(f).convert('RGB'); im.thumbnail((306,396)); ims.append((f,im.copy())) out=Image.new('RGB',(306*3,420*6),'white'); d=ImageDraw.Draw(out) for x,(f,im) in enumerate(ims): i=x%3;j=x//3;out.paste(im,(i*306,j*420+20));d.text((i*306+5,j*420+2),os.path.basename(f),fill='red') out.save('/tmp/workspace/gpat_contact.jpg') PY

Reading File
Running Command

python - <<'PY' import importlib.util for x in ['pytesseract','cv2','easyocr','keras_ocr']: print(x, importlib.util.find_spec(x)) PY which tesseract || true python - <<'PY' from PIL import Image im=Image.open('/tmp/workspace/gpat_imgs/p01_0.jpg');print(im.size,im.mode) PY

Reading File
analyse_media
Running Command

python -m http.server 8765 --directory "/tmp/workspace" >/tmp/workspace/http.log 2>&1 &

analyse_media
Running Command

python - <<'PY' from PIL import Image import glob,os out='/tmp/workspace/gpat_crops';os.makedirs(out,exist_ok=True) for f in glob.glob('/tmp/workspace/gpat_imgs/*'): im=Image.open(f) # page likely 100 questions split 3 question panels? produce upper/lower w,h=im.size b=os.path.basename(f).split('.')[0] for j in range(3): im.crop((0,j*h//3,w,(j+1)*h//3)).save(f'{out}/{b}_{j+1}.jpg',quality=95) PY python - <<'PY' import pkg_resources mods=['paddleocr','transformers','torch','keras','onnxruntime','rapidocr','doctr','surya','ocrmac'] for x in mods: try: print(x, __import__(x)) except: print(x,'no') PY

Running Command

which convert || true; which magick || true; which gs || true; which pdftoppm || true; which ocrad || true; which gocr || true; which python; python - <<'PY' from PIL import Image im=Image.open('/tmp/workspace/gpat_imgs/p01_0.jpg') print(im.getextrema()) PY

Running Command

pip install -q rapidocr_onnxruntime && python - <<'PY' from rapidocr_onnxruntime import RapidOCR from PIL import Image engine=RapidOCR() result,elapse=engine('/tmp/workspace/gpat_imgs/p01_0.jpg') print('elapsed',elapse,'n',len(result) if result else result) for x in result or []:print(x[1],x[2]) PY

Running Command

cat > /tmp/workspace/ocr_gpat.py <<'PY' from rapidocr_onnxruntime import RapidOCR import glob,os engine=RapidOCR() out=[] for f in sorted(glob.glob('/tmp/workspace/gpat_imgs/*.jpg')): r,e=engine(f) out.append('\n\n===== '+os.path.basename(f)+' =====\n') for x in r or []:out.append(x[1]) open('/tmp/workspace/gpat_ocr.txt','w').write('\n'.join(out)) PY python /tmp/workspace/ocr_gpat.py

Reading File
Searching Content

"Q." in ~/gpat_ocr.txt

Running Command

python - <<'PY' lines=open('/tmp/workspace/gpat_ocr.txt').read().splitlines() for i,x in enumerate(lines): if 'QuestionID:' in x: print('\n---',x,'---') print('\n'.join(lines[max(0,i-16):i+5])) PY

Running Command

cat > /tmp/workspace/parse.py <<'PY' import re s=open('/tmp/workspace/gpat_ocr.txt').read() # segment occurrences IDs; parse first status etc following pat=re.compile(r'Question\s*ID\s*[::]\s*(\d+)(.*?)(?=Question\s*ID\s*[::]|\Z)',re.S|re.I) d={} for m in pat.finditer(s): id, tail=m.group(1),m.group(2)[:180] status=re.search(r'Status\s*:\s*([A-Za-z ]+)',tail,re.I) choice=re.search(r'Chosen Option\s*:\s*([^\n]+)',tail,re.I) mark=re.search(r'Marks\s*:\s*(-?\d+)',tail,re.I) if mark: rec=(status.group(1).strip() if status else '',choice.group(1).strip() if choice else '',int(mark.group(1)),m.start()) # prefer status records and later as correction d[id]=rec print('n',len(d),'score',sum(x[2] for x in d.values())) from collections import Counter print(Counter(x[2] for x in d.values()),Counter(x[0] for x in d.values())) for id,(st,ch,ma,pos) in d.items(): if ma<=0: before=s[max(0,pos-1200):pos] q=re.findall(r'Q\.\s*(\d+).*?(?=\nAns\n|\nQuestion)',before,re.S) print(id,'Q',q[-1] if q else '?',st,ch,ma, re.sub(r'\s+',' ',before[-350:])) PY python /tmp/workspace/parse.py

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

Create a subject-wise accuracy and weakness report

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.