GitHub: PeptiProp
PROPEDIA GATv2 + ESM-2 Leakage-free Split Reranking 2D + 3D

PeptiProp

Yapisal protein-peptid komplekslerinde GATv2 graf sinir agi ve ESM-2 protein dil modeli ile skor uretimi, aday peptitler arasinda siralama (reranking) ve sonuclarin 2D kimya + 3D yapi ile raporlanmasi. Sekans-kume tabanli sizintisiz split, rezidu-seviye graf insasi ve BCE + pairwise ranking loss ile egitilmis dual-encoder modeli.

0.8813AUROC
0.7776MRR
0.9469Hit@3
0.9965Hit@5

Proje akışı

PeptiProp deposundaki uçtan uca pipeline: PROPEDIA ham verisinden kanonik tablolara, sızıntısız sekans-küme split'lerine, negatif çift üretimine, ESM-2 embedding çıkarımına, rezidü-seviye graf inşasına, GATv2 dual-encoder eğitimine ve son olarak 2D/3D raporlama ile bu statik siteye.

19,542Train grup
3,985Val grup
4,538Test grup
80Epoch
0.20Eşik

Amac ve gorev tanimi

Protein-peptid etkilesimleri ilac tasarimi, sinyal yolagi analizi ve biyomalzeme muhendisliginde merkezi rol oynar. PeptiProp, deneysel ko-kristal yapilarindan yola cikarak bir protein yuzeyine hangi peptidin gercekten baglandigini ayirt edebilen bir skorlama ve siralama (reranking) modeli sunar.

Model yalnizca "bu cift baglanir mi?" sorusunu yanitmaz; her protein icin bir aday kumesi (1 native pozitif + 5 negatif dekoy) icinde gercek baglayiciyi ust siralara tasir. Bu yaklasim, gercek dunyada binlerce aday peptit arasından dogru olani bulmaya yonelik pratik bir kullanim senaryosunu yansitir.

Neden GNN + ESM-2? Geleneksel yontemler (MLP, RF, XGBoost) protein-peptid ciftlerini ozet istatistiklerle temsil eder ve rezidu-seviye yapisal bilgiyi kaybeder. PeptiProp, her reziduyu bir graf dugumu olarak temsil eder: ESM-2 protein dil modeli evrimsel baglamı, GATv2 attention mekanizmasi ise hangi komsu rezidulerin etkilesim icin kritik oldugunu ogrenir.

Degerlendirme metrikleri

MetrikTurAciklama
MRRSiralamaDogru adayin ortalama ters sirasi. 1.0 = her zaman 1. sirada
Hit@kSiralamaIlk k aday icinde native peptit var mi? Pratik kisa liste basarisi
AUROCSiniflandirmaEsik-bagimsiz ikili ayirilabilirlik gucu
AUPRCSiniflandirmaDengesiz sinif senaryolarinda precision-recall dengesi
F1 / MCCSiniflandirmaSecilen esikte kesin siniflandirma performansi

Yontem — uctan uca akis

Asagida PeptiProp v0.2 pipeline'inin her adimi, kullandigi araclar ve ciktilariyla aciklanmistir. Her adimin ciktisi bir sonrakinin girdisidir; tum ara urunler Parquet / JSON / NPZ formatinda saklanarak tekrarlanabilirlik ve denetlenebilirlik saglanir.

Veri katmani

BilesenKonumAciklama
Kanonik komplekslerdata/canonical/complexes.parquetProtein-peptid ciftlerinin ana tablosu
Zincir bilgileridata/canonical/chains.parquetSekans, uzunluk, zincir turu (protein/peptit)
Rezidu detaylaridata/canonical/residues.parquetKoordinat, is_interface, is_pocket, local_density
Sekans-kume splitdata/canonical/splits/*.txtKume-bazli train/val/test PDB ayirimi
Ciftler + negatiflerdata/canonical/pairs/*.parquetPozitif + easy / hard negatif ciftler
ESM-2 embedding'lerdata/embeddings/esm2_residue/*.npzPer-rezidu 320-d ESM-2 vektorleri (float16)
Embedding lookupdata/embeddings/esm2_chain_lookup.jsonchain_id → npz dosya adi eslestirmesi
PyG graflardata/graphs/*.ptOnceden insa edilmis rezidu-seviye graf nesneleri (326-d dugum, 4-d kenar)
Veri raporlaripair_data_report.jsonDagilim ve butunluk kontrol raporlari
19,542Train grup
3,985Val grup
4,538Test grup

Test metrikleri

En iyi modelin test kumesi uzerindeki performansi. Kartlarda gorunuyorsa build sirasinda metrics.json bulunamadi.

AUROC
0.8813
Ikili ayirilabilirlik
AUPRC
0.5566
Dengesiz sinif
MRR
0.7776
Ort. ters sira
Hit@1
0.6210
Ilk sirada pozitif
Hit@3
0.9469
Ilk 3te pozitif
Hit@5
0.9965
Ilk 5te pozitif
F1
0.5887
Esik-bazli F1
MCC
0.5049
Matthews kor.
MetrikNe olcer?Neden onemli?
MRRDogru adayin siralamadaki ters ortalamasidirReranking performansinin ana gostergesi
Hit@kIlk k aday icinde pozitif var mi?Pratik kisa liste basarisi
AUROCSkor ile ikili ayirilabilirlik (esik bagimsiz)Genel siniflandirma gucu
AUPRCPrecision-recall egrisi altindaki alanDengesiz sinif senaryolari icin tamamlayici
F1 / MCCSecilen esikte kesin siniflandirmaOperasyonel karar esigi basarisi

Ablation: MLP Baseline vs GNN+ESM-2

MetrikMLP v0.1 (68 ep)GNN+ESM-2 v0.2 (80 ep)Fark
AUROC0.83880.8813+0.0425
AUPRC0.43480.5566+0.1218
F10.50740.5884+0.0810
MCC0.41340.5037+0.0903
MRR0.71200.7776+0.0656
Hit@10.51210.6210+0.1089
Hit@30.92750.9469+0.0194
Hit@50.99520.9965+0.0013
Sonuc: GNN+ESM-2 tum metriklerde MLP baseline'i geciyor. En buyuk kazanim AUPRC (+12.2pp) ve Hit@1 (+10.9pp).

Top ranked tahmin ornekleri

Test kumesinden aday gruplarin ilk siralamadaki ornekleri. Pozitif = native kristal cifti, Negatif = dekoy ornegi. Skor: model uretimi baglanti olasiligi (0-1).

PDBProteinPeptitUzunluk SkorEtiketSira
1A37AA0.0638Negatif1
1A37BC0.1352Negatif1
1A3RHP0.4716Pozitif1
1A9BAC0.4003Negatif1
1A9BAF0.3447Pozitif1
1A9BDC0.3416Pozitif1
1A9BDR0.4063Negatif1
1A9EAC0.3607Pozitif1
1AB9CA0.4247Negatif1
1AB9CJ0.5596Negatif1

Tam liste: top_ranked_examples.json dosyasindaki top_ranked_candidates_preview alani.

Eğitim ve değerlendirme görselleri

Görseller mümkünse eğitim çıktı klasöründen (metrics.json ile aynı dizin) kopyalanır; GitHub Actions’ta klasör yoksa yer tutucu PNG üretilir (kırık resim ve boş URL görünmez). Gerçek eğriler için yerelde eğitim sonrası yeniden derleyin.

ROC eğrisi
Test ROC — skorun pozitif/negatif ayrımı.
Precision–recall eğrisi
Dengesiz sınıflarda AUROC’ye tamamlayıcı PR eğrisi.
Kalibrasyon eğrisi
Tahmin olasılıklarının gözle uyumu (Brier ile birlikte yorumlanır).
Karmaşıklık matrisi
Seçilen eşikte TP/TN/FP/FN dağılımı.
Validasyon eşik taraması
Eşik seçiminde metriklerin validasyon üzerindeki davranışı.
Validasyon skor histogramı
Pozitif ve negatif örneklerin skor dağılımı (validasyon).
Test skor histogramı
Test kümesinde pozitif/negatif skor dağılımı.

Model karsilastirmasi: MLP vs GNN+ESM-2

v0.1 MLP baseline (131-d ozet vektor, 68 epoch) ile v0.2 GATv2+ESM-2 (rezidu-seviye graf, 80 epoch) test seti uzerinde karsilastirilmistir. GNN+ESM-2 tum metriklerde MLP'yi gecer; en buyuk fark AUPRC (+12.2pp) ve Hit@1 (+10.9pp).

MLP vs GNN+ESM-2 karsilastirmasi
Ablation: tum 8 test metrigi uzerinde MLP v0.1 vs GNN+ESM-2 v0.2 karsilastirmasi
ROC egrisi
GNN+ESM-2 ROC egrisi (Test AUC = 0.8813)
PR egrisi
GNN+ESM-2 Precision-Recall egrisi (Test AP = 0.5566)
Confusion matrix
GNN+ESM-2 Confusion Matrix (threshold = 0.21)
Skor dagilimi
Test kumesi pozitif/negatif skor dagilimi

2D peptit gorselleri

RDKit ile tek harf aminoasit dizisinden turetilen 2D bag yapisi. Her gorselde peptidin PDB kodu, zincir kimligi, sekans, model skoru ve etiket bilgisi yer alir.

Amac

  • Peptidin kimyasal bag baglamini hizlica gostermek
  • 3D yapi dosyasi acilmadan hangi zincirin analiz edildigini hatirlatmak
  • Farkli uzunluk ve skorlardaki peptitleri karsilastirmak

Gorsel icerigi

  • pair_id: Benzersiz cift tanimlayicisi
  • PDB + zincir: Kaynak yapisal veri
  • Skor: Model uretimi baglanti olasiligi (0–1)
  • Etiket: Pozitif (native) veya negatif (decoy)
Ornek peptide 2D PNG
Genel ornek 2D peptit gorseli. Asagida farkli skor ve uzunluklarda ornekler bulunur.

Test örnekleri: farklı skor, etiket ve uzunlukta 2D peptitler

3D yapi goruntuleme

3Dmol.js ile tarayici icinde canli 3D molekuler goruntuleme. Fare ile dondurme, yakınlastirma ve farkli gorunum modlari arasinda gecis yapabilirsiniz.

Gosterilen yapi: 1CRN (Crambin) — 46 aminoasitlik kucuk bir bitki proteini. PDB'den indirilen deneysel kristal yapisi (mmCIF formati). Gercek pipeline ciktisinda her protein-peptit cifti icin ayri viewer uretilir; protein ve peptit farkli renklerde boyanir.

Pipeline cikti dosyalari

viewer.htmlTam ekran gorsel; cartoon/stick/sphere kontrolleri
viewer_state.jsonKompleks kimlik, zincir bilgisi, etkilesim listesi
interaction_provenance.jsonTemas kaynağı ve geometric fallback özeti
report.htmlOzet rapor: 2D gorsel + gomulu 3D viewer

Gorunum kontrolleri

  • Cartoon: Ikincil yapi seridi (helix, sheet, loop)
  • Stick: Atom baglari; detay icin
  • Sphere: Atom merkezleri; VDW yaricapi
  • Yuzey: Van der Waals yuzey kaplamasiyla
  • Arka plan: Beyaz, siyah veya lacivert

Tipik egitim ciktilari

Metrikler & raporlar

  • metrics.json — tum test/val metrikleri
  • ranking_metrics.json — MRR, Hit@k detaylari
  • calibration_metrics.json — Brier skoru
  • selection_summary.json — secim politikasi

Gorseller & tablolar

  • roc_curve.png, pr_curve.png
  • confusion_matrix.png, calibration_curve.png
  • score_histogram_pos_neg.png
  • train_log.csv, top_ranked_examples.json

Dogrudan indirilebilir sonuc dosyalari

Asagidaki dosyalar GitHub Pages uzerinden dogrudan indirilebilir. Yayin yuzeyi yalniz statik site/ altindaki kopyalari sunar.

DosyaBaslikAciklamaIndir
metrics.jsonGenel metrik özetiValidation/test metrikleri ve grup bütünlüğüindir
ranking_metrics.jsonRanking metrikleriMRR ve Hit@k detaylarıindir
best_thresholds.jsonEn iyi eşiklerF1 ve MCC için validation threshold seçimiindir
calibration_metrics.jsonCalibration özetiBrier ve skor dağılım özetiindir
pair_data_report.jsonPair veri raporuSplit/pair dağılımı ve duplicate kontrolüindir
candidate_set_report.jsonCandidate-set raporuNegatif karışımı ve grup bütünlüğüindir
test_summary.txtTest özet raporuMetin tabanlı final çıktı özetiindir
threshold_vs_f1_table.csvThreshold sweep tablosuEşik taraması ve F1 davranışıindir
test_topk_candidates.csvTop-k aday listesiProtein başına skorlanmış test adaylarıindir
test_topk_positive_hits.csvPozitif hit listesiTop-k içinde yakalanan pozitif örneklerindir
top_ranked_examples.jsonTop-ranked örneklerÖnizleme tablosunun JSON kaynağıindir

Sik sorulanlar

GitHub Pages'te grafikler yer tutucu gorunuyor?
CI ortaminda outputs/training/ olmayabilir. Derleme yer tutucu PNG uretir. Gercek gorseller icin yerelde egitimi tamamlayip python scripts/build_pages_site.py calistirin.
2D gorsel ile skor uretiliyor mu?
Hayir. 2D gorsel yalnizca raporlama icindir. Skorlar yapi/sekans ozelliklerinden gelen model ciktisidir.
Sizinti-siz split nasil calisiyor?
MMseqs2 ile protein sekanslari %30 kimlik esiginde kumelenir. Ayni kumedeki tum kompleksler ayni split'e atanir, boylece egitim ve test arasinda homoloji sizintisi onlenir.
Bu temas cizgileri nasil uretiliyor?
Final aktif pipeline, protein ve peptit zincirleri arasindaki geometrik residue-contact ciftlerini kullanir. Harici tool extractor'lar raporlanan sonuclarin parcasi degildir.
Etiket 1 (pozitif) ne anlama geliyor?
Etiket 1 = kristalde birlikte gozlenen (native/co-crystal) protein-peptit cifti. Model bu cifti tanimayi ve aday kumesi icinde ust siralara tasimayi ogrenir.

manifest.json

{
  "project": "PeptiProp",
  "version": "0.1",
  "dataset": "PROPEDIA canonical (leakage-free splits)",
  "training_dir": "publish/github_pages_training_bundle",
  "metrics": {
    "test_auroc": 0.8812662466753981,
    "test_auprc": 0.5565987337643044,
    "test_f1": 0.5886805146749643,
    "test_mcc": 0.5048546232827292,
    "test_brier": 0.10296415537595749,
    "test_mrr": 0.7776369913324519,
    "test_hit1": 0.6209784045835169,
    "test_hit3": 0.9468929043631555,
    "test_hit5": 0.996474217717056,
    "epochs": 80,
    "threshold": 0.2,
    "train_groups": 19542,
    "val_groups": 3985,
    "test_groups": 4538
  },
  "visualization": {
    "reported_interaction_source": "geometric residue-contact fallback",
    "external_tool_extractors_used_in_reported_results": false,
    "gnn_batch_modes": []
  },
  "pages": {
    "viewer_demo": "embed/viewer-demo.html",
    "manifest": "data/manifest.json"
  },
  "training_figure_assets": [
    "assets/img/roc_curve.png",
    "assets/img/pr_curve.png",
    "assets/img/calibration_curve.png",
    "assets/img/confusion_matrix.png",
    "assets/img/validation_threshold_sweep.png",
    "assets/img/validation_score_histogram.png",
    "assets/img/test_score_histogram.png"
  ],
  "download_assets": [
    "downloads/metrics.json",
    "downloads/ranking_metrics.json",
    "downloads/best_thresholds.json",
    "downloads/calibration_metrics.json",
    "downloads/pair_data_report.json",
    "downloads/candidate_set_report.json",
    "downloads/test_summary.txt",
    "downloads/threshold_vs_f1_table.csv",
    "downloads/test_topk_candidates.csv",
    "downloads/test_topk_positive_hits.csv",
    "downloads/top_ranked_examples.json"
  ],
  "site_extra_figures": [
    "assets/img/interaction_summary_panel.png",
    "assets/img/peptide_2d_example.png",
    "assets/img/peptide_2d_v1.png",
    "assets/img/peptide_2d_v2.png",
    "assets/img/peptide_2d_v3.png",
    "assets/img/peptide_2d_v4.png",
    "assets/img/peptide_2d_v5.png",
    "assets/img/peptide_length_histogram.png"
  ],
  "site_extra_pages": []
}