แทนข้อมูล
เลือก Feature ที่รักษาสัญญาณชีวภาพที่มีประโยชน์
BIOINFORMATICS · FEATURE ENGINEERING · COMPUTE ECONOMICS
Lab นี้ติดตาม DNA, RNA และ Protein Sequence ผ่าน Composition, k-mer, Alignment, Structure และ Learned Embedding นักศึกษาจะคำนวณทั้ง Algorithmic Complexity และ Operational Cost ก่อนออกแบบ Feature Store ที่ใช้หลักฐานซ้ำได้โดยไม่สูญเสีย Provenance
เลือก Feature ที่รักษาสัญญาณชีวภาพที่มีประโยชน์
เชื่อมความยาว Sequence และขนาด Dataset กับ Runtime
ไม่คำนวณหลักฐาน Deterministic ซ้ำทุกโมเดล
Version Tool, Database, Parameter และ Sequence Identity
01 · COMMON FEATURE LANDSCAPE
ไม่มี Feature Family ใดดีที่สุดเสมอ Composition ราคาถูกแต่หยาบ Alignment และ Structure เพิ่มบริบทชีวภาพ ส่วน Learned Embedding อาจจับ Pattern ซับซ้อนได้ แต่ต้องใช้ Model Inference และ Version อย่างระมัดระวัง
GC%, AT/GC ratio, nucleotide frequency, sequence length, ambiguity rate
O(n)อ่านหนึ่งรอบจำนวนหรือความถี่ของ Substring ความยาว k
O(n + |Σ|k)เวลาและ Dense OutputAAC, dipeptide, molecular weight, charge, hydrophobicity, entropy
O(n)หลังเตรียม Lookup Tableidentity, coverage, score, conserved position, profile/PSSM-like evidence
O(mn)Exact Pairwise DP; Database Search มักใช้ HeuristicMFE, paired fraction, stem/loop counts, ensemble-derived measures
O(n³) time · O(n²) memoryClassical DP Baselineper-token or pooled representation from a versioned pretrained model
Attention ≈ O(n²)Standard Self-attention; ขึ้นกับ Architecturegene distance, exon/intron overlap, conservation, regulatory annotation
O(log R + h)ตัวอย่าง Indexed Interval Query; ขึ้นกับ Implementationdegree, centrality, neighborhood aggregation, interaction embeddings
O(V + E) → higherขึ้นกับ Graph Algorithm และจำนวน Layer02 · SEE THE CALCULATION
ภาพใช้ RNA Sequence หนึ่งเส้น Cheap Scan ใช้ Input ร่วมกัน แต่ Alignment, Folding และ Embedding เรียก Engine และ Reference Version แยกกัน
AUGGCUAUGC…GGAUACsha256: 91b…e42[0.57, 300,
0.021, …,
-84.2, 0.61,
e₁ … e₇₆₈]03 · COMPLEXITY IS NOT WALL-CLOCK TIME
Runtime ยังขึ้นกับ Implementation, Hardware, Batching, I/O, ขนาด Reference Database, Model Size และการกระจายความยาว Sequence ตารางจึงแยก Asymptotic Shape ออกจาก Measurement Plan
O(n)O(1) or fixed vectorSequence/s ต่อ CPU CoreO(n)Sparse O(min(n,|Σ|ᵏ)); Dense O(|Σ|ᵏ)k · sparsity · serializationO(mn)Classic Matrix O(mn); Variant อื่นอาจต่างcell updates/s · tracebackHeuristic / ขึ้นกับข้อมูลindex + hitsDB Version · Size · Sensitivity ParameterO(n³)O(n²)length bins · mode · constraintsAttention O(Ln²d) โดยสรุปAttention Activation โตแบบกำลังสองGPU · batch · precision · pooling04 · INTERACTIVE COST SCENARIO
นี่คือ Illustrative Capacity Model ไม่ใช่ Hardware Benchmark ให้แทน Baseline Seconds ด้วยค่าที่วัดจาก Tool, Sequence-length Bin และเครื่องจริง
Calculator สมมติว่าทุก Experiment คำนวณทุก Sequence ใหม่ Worker Scale สมบูรณ์ และไม่มี Queue, I/O หรือ Failure ระบบจริง Scale ไม่เรียบเช่นนี้ จุดประสงค์คือทำให้เห็นการคูณ: จำนวน Sequence × ต้นทุนต่อ Sequence × จำนวน Experiment
05 · WITHOUT A FEATURE STORE
นักศึกษาหรือโมเดลแต่ละชุดสร้าง Feature ใหม่ด้วย Tool และ Parameter ต่างกัน เวลารอเพิ่ม ผลลัพธ์แยกออก และไม่มีใครยืนยันได้ว่าสองคอลัมน์เปรียบเทียบกันจริงหรือไม่
Folding หรือ Embedding ที่ให้ผลแน่นอนถูกสร้างใหม่ทุก Experiment
Feature จาก Database Search เปลี่ยนเงียบ ๆ หลัง Reference Database Update
Library, Model Weight หรือ Folding Parameter ต่างกันข้าม Notebook
นักศึกษา 40 คนส่ง GPU Job เดียวกันแทนการใช้ Approved Build ร่วม
งานล้มที่ 80% อาจต้องเริ่มใหม่เพราะไม่ได้ Persist Intermediate Feature
Model Artifact ยังอยู่ แต่ Environment ที่สร้าง Feature หายไป
06 · BIOINFORMATICS FEATURE STORE ARCHITECTURE
Sequence Identity เพียงอย่างเดียวไม่พอเป็น Key เพราะ Feature ยังขึ้นกับ Algorithm, Parameter, Tool/Container, Model Weight และ Reference Database Version
SHA256(sequence) + feature_name + feature_version + parameters_hash
+ tool_container_digest + reference_database_version + model_weights_digest07 · LAB: DEFINE AND STORE CHEAP FEATURES
ตัวอย่าง Python สร้าง DNA/RNA Composition แบบ Fixed Schema และ Sparse k-mer Count มีขนาดเล็กพอให้ตรวจสอบก่อนนำเข้า Workflow Engine
from collections import Counter
from hashlib import sha256
def sequence_features(sequence: str, k: int = 3) -> dict:
seq = sequence.upper().replace("U", "T")
counts = Counter(seq)
valid = sum(counts[b] for b in "ACGT")
kmers = Counter(seq[i:i+k] for i in range(len(seq)-k+1)
if set(seq[i:i+k]) <= set("ACGT"))
return {
"sequence_sha256": sha256(seq.encode()).hexdigest(),
"length": len(seq),
"gc_fraction": (counts["G"] + counts["C"]) / valid if valid else None,
"ambiguous_fraction": 1 - valid / len(seq) if seq else None,
"k": k,
"kmer_counts": dict(kmers),
"feature_version": "sequence_basic_v1"
}08 · MATERIALIZATION POLICY
Store มีต้นทุน Storage และ Governance ของตนเอง ให้ตัดสินจาก Compute-to-read Ratio, จำนวนการใช้ซ้ำ, Determinism, ขนาด, Privacy และความถี่ในการ Invalidate
09 · STUDENT CHALLENGES
Benchmark GC, 3-mer และ 6-mer แยกตาม Length Bin พร้อมแยก CPU Time จาก Serialization
วัด RNA Folding ที่สี่ความยาว แล้วตรวจว่าการเติบโตใกล้ n³ บนเครื่องที่ใช้หรือไม่
ออกแบบ Feature Key สำหรับ BLAST-derived Feature ให้มี Database และ Parameter Version
คำนวณ CPU/GPU-hour ของ 50 Experiments แบบมีและไม่มี Reuse พร้อมสมมติฐาน Queue และ Failure
สร้าง Parity Test ว่า Stored Embedding ตรงกับค่าที่คำนวณใหม่ภายใน Tolerance ที่ระบุ
เขียนนโยบายเลิกเก็บ Embedding 768 มิติที่ไม่มีผู้ใช้ โดยยัง Reproduce Model เดิมได้
THE CENTRAL IDEA