End-to-End Genomic Pipeline Architecture

Anywheresoft — Bioinformatics Platform
① Input Layer — ต้นทาง
A 🏥 Lab Upload Portal
เจ้าหน้าที่ lab อัปโหลด FASTQ ผ่าน Web UI หรือ CLI. ระบุ sample type, test type, และ metadata
FASTQ R1/R2 sample metadata HTTPS upload
B 🔌 API Integration
โรงพยาบาลที่มี LIS/HIS ส่ง FASTQ ผ่าน REST API โดยตรง ไม่ต้องผ่าน portal
REST API JWT Auth LIS/HIS
C 💾 S3 Raw Storage
FASTQ ถูกเก็บใน S3 bucket แยกต่างหาก ด้วย server-side encryption และ versioning
AWS S3 AES-256 Versioning
trigger pipeline job
② Orchestration Layer — ควบคุมการทำงาน
1 ⚙️ FastAPI Backend
รับ event จาก S3, validate metadata, สร้าง job record ใน DB แล้ว push งานเข้า queue
Python FastAPI PostgreSQL S3 event
2 📋 Celery Task Queue
รับ job จาก Backend แล้วส่งต่อให้ Nextflow worker รันอัตโนมัติ รองรับ retry และ priority queue
Celery Redis Priority Queue
3 🎯 Nextflow Engine
Workflow manager หลัก รัน process แต่ละ step ใน Docker container บน AWS Batch อัตโนมัติ
Nextflow AWS Batch Docker
execute pipeline steps
③ Pipeline Layer — ขั้นตอนวิเคราะห์ (รันบน AWS Batch)
S1 QC & Trim
ตรวจคุณภาพ raw reads ตัด adapter และ low-Q bases
FastQC Trimmomatic
S2 Alignment
Map reads ไปยัง GRCh38 reference genome
BWA-MEM2 SAM/BAM
S3 Post-process
Sort, MarkDup, Base Quality Score Recalibration
GATK Picard
S4 Variant Calling
หา SNV, Indel, CNV จาก BAM เทียบ reference
HaplotypeCaller Mutect2
S5 Annotation
แปะข้อมูล gene, consequence, clinical significance
VEP ANNOVAR
S6 Filtering
กรอง variant ตาม MAF, ACMG criteria, in silico
ACMG gnomAD
S7 Report Gen
สร้าง PDF report และ JSON สำหรับ dashboard
WeasyPrint JSON API
store results + notify
④ Data Layer — จัดเก็บข้อมูล
🗄️ PostgreSQL
Job metadata, user data, QC metrics, sample info, audit log ทุก action
Jobs Users Audit Log
🔍 Elasticsearch
Variant database — ค้นหาได้เร็วมาก รองรับ filter ซับซ้อน full-text search บน annotation
Variants Full-text Filter
💾 S3 Results
เก็บ BAM, VCF, PDF report แยก bucket จาก raw input มี lifecycle policy ลบอัตโนมัติ
BAM/VCF PDF Lifecycle
Redis Cache
Cache job status, session tokens, real-time pipeline progress สำหรับ dashboard
Cache Sessions Pub/Sub
serve data to users
⑤ External Reference Databases — ข้อมูลอ้างอิงสากล
ClinVar
Clinical significance ของ variant
NCBI
gnomAD
Population frequency ทั่วโลก
Broad
COSMIC
Somatic mutation ในมะเร็ง
Sanger
OMIM
Gene-disease association
Johns Hopkins
dbSNP
Known variant rs numbers
NCBI
HPO / OMIM
Phenotype-genotype map
EBI
display + interact
⑥ Frontend Layer — ผู้ใช้งาน
🔬 Lab Dashboard
เจ้าหน้าที่ lab ดู job status real-time, อัปโหลด sample, ดู QC report, ติดตาม pipeline progress
Job Status QC Report Upload
🩺 Clinical Dashboard
แพทย์/นักพันธุศาสตร์ interpret variant, ดู ACMG classification, approve report ก่อนส่งผู้ป่วย
Variant Table ACMG Approve
👤 Patient Portal
ผู้ป่วยดูผลการตรวจ (simplified), ประวัติการตรวจ, นัดหมายพบแพทย์, AI chatbot ตอบคำถาม
Results History AI Chat
⑦ Notification Layer — แจ้งเตือน
📧 Email
แจ้ง QC fail, pipeline สำเร็จ, report พร้อม
SES
💬 LINE / SMS
แจ้งเตือนเร่งด่วนสำหรับ critical variant
LINE Notify
🔔 In-App
Real-time notification บน dashboard ผ่าน WebSocket
WebSocket
🔗 Webhook
ส่งผลไปยัง HIS/LIS ของโรงพยาบาลอัตโนมัติ
REST Hook
⑧ Security & Compliance Layer
🔐 Authentication
JWT + Refresh token, MFA สำหรับ clinical user, SSO รองรับ hospital AD
JWTMFASSO
🛡️ RBAC
แยก role ชัดเจน: Lab Tech / Clinician / Patient / Admin สิทธิ์ต่างกันทุก endpoint
RolesPermissions
🔒 Encryption
TLS 1.3 ทุก connection, AES-256 at rest, KMS key rotation อัตโนมัติ
TLS 1.3AES-256KMS
📋 Audit Log
บันทึกทุก action: ใคร, เมื่อไหร่, ทำอะไร สำหรับ compliance และ forensics
CloudTrailImmutable
Input Layer
Orchestration
Pipeline Steps
Data Storage
Frontend
Security