๊ธฐ๋ฅ ์์ธ ๋ณด๊ณ
09. ADMET ๋ชจ๋ ์ข ํฉ ์ฑ๋ฅํ๊ฐํ
ํต์ฌ ๊ฒฐ๋ก : 7๊ฐ ADMET ํด/๋ชจ๋์ ์ค์ ์กฐ์ฌยท์คํยทํ๊ฐํ๋ค. ์ค์ธก ์ ๋ขฐ(HIGH)๋ ๋ฌผ์ฑ descriptor 5์ข ๋ฟ โ peptides v0.5.0 ๋๋น GRAVYยทInstabilityยทAliphatic Spearman r=1.0000, Boman 0.9893, pI 0.9684๋ก ์๊ณ ๋ฆฌ์ฆ ์ผ์น ๊ฒ์ฆ๋จ. ์ฉํ(HC50) ๊ฒ์ดํธ๋ surrogate-์๋MED โ pepADMET ๋ก์ปฌ ์ถ๋ก ์ D-aa์์๋ง fair(ROC-AUC 0.677~0.727), L-aa๋ ์ญ๋ณ๋ณ(AUC 0.146~0.56), cyclic/SS-bond(SST-14 ๊ณ์ด)์ SMILES ํ์ฑ ์คํจ๋ก ๊ฒ์ดํธ ์ฌ์ค์ ๋ฏธ์๋(fail-open). ์ธ๋ถ ์น ํด 2์ข ์ ๋ธ๋ก์ปค๋ก ๋ฏธ์ ์ฉ โ ADMETlab 3.0์ ์๋ฒ ์ฅ์ (
/api/admetHTTP 404ยท/api/single/admetHTTP 500), pepADMET ์น์๋น์ค๋ HTTP 403. ADMET-AI๋ ๋ก์ปฌ ์คํ ์ฑ๊ณตํ์ผ๋ ์ฉํ ์ง์ ์๋ํฌ์ธํธ ์์(hERG ๋๋ฆฌ) + D-aaยทcyclic OOD๋ก ๋ณด์กฐ ํํฐ ํ์ .์ ์ง์ฑ ์์ฝ: ์ฑ๋ฅ ์ซ์๋ ์ ๋ถ 2026-06-19 ์ค์ ์คํ ์ฐ๋ฌผ์ด๋ฉฐ, ๋ชป ๋๋ฆฐ ํญ๋ชฉ์ "๋ฏธํ๊ฐ/์คํจ+์ฌ์ "๋ก ๊ธฐ๋กํ๋ค(fail-closed). ์ ๋๊ฐ์ ์ด๋ ๋ชจ๋๋ ๊ฒ์ฆ ์ ๋จ(LOW) โ ์๋ ์์๋ง ์ฌ์ฉํ๋ค.
1. ์ ๋ขฐ๋ฑ๊ธ ๋ฒ๋ก
| ๋ฐฐ์ง | ์๋ฏธ |
|---|---|
์ค์ธกHIGH |
์ค์ ์คํ + ground-truth(๋๋ ์ฐธ์กฐ ํด) ๋๋น ๊ฒ์ฆ |
surrogate-์๋MED |
์๋ ์์(home-advantage)๋ก๋ง ์ ํจ, ์ ๋๊ฐ ๋ฏธ๊ฒ์ฆ |
์ ๋LOW |
์ ๋๊ฐ ๋ฏธ๊ฒ์ฆ โ ๋จ์ยท์ค์ผ์ผ ๋ถ๋ช , ์ฌ์ฉ ๊ธ์ง |
๋ฏธํ๊ฐ |
์คํ ์คํจ(๋ธ๋ก์ปค) โ fail-closed, ์ถ์ ๊ธ์ง |
2. ADMET ๋ชจ๋ ์ข ํฉ ์ฑ๋ฅํ๊ฐํ (7์ด ร 7ํ)
๋ชจ๋ ์ ์ ์๋ ยง3~ยง5 ์ฆ๊ฑฐ ์ธ์ฉ์ผ๋ก ๋ท๋ฐ์นจ๋๋ค. file:line์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฃจํธ
AgenticAI4SCIENCE_pyrosetta_track/repos/ai4sci-kaeri/(์ฐ๋ฆฌ ๋ชจ๋) ๋๋local_models/๊ธฐ์ค.
3. ๋ฌผ์ฑ Descriptor โ ์ค์ธก HIGH (์ ์ผํ๊ฒ ์ ๋ขฐ ๊ฐ๋ฅ)
์ฐธ์กฐ ํด
peptides v0.5.0์ค์นยท์คํ ํ์ธ:~/miniforge3/envs/bio-tools/bin/python -c "import peptides; print(peptides.__version__)"โ0.5.0[๊ทผ๊ฑฐ: TOOL_our_physchem.md:36-41]
- GRAVY / Instability / Aliphatic: Spearman r=1.0000, MAE 0 (n=15) โ ์๊ณ ๋ฆฌ์ฆ ์์ ์ผ์น [๊ทผ๊ฑฐ: [LOCAL_PATH]]
- Boman: Spearman r=0.9893, MAE 0.231 โ peptides lib๋ Pro๋ฅผ Boman ํฉ์ฐ์์ ์ ์ธ, ์ฐ๋ฆฌ๋ P=-2.54 ํฌํจ. ์์ ์๊ด ๋์ ๊ฒ์ดํธ ๋ฌด์ํฅ [๊ทผ๊ฑฐ: TOOL_our_physchem.md:23, :93-99]
- pI: Pearson r=0.9684, MAE 0.427 โ ์ฐ๋ฆฌ ๊ตฌํ์ SS-bond Cys๋ฅผ ์ด์จํ์์ ์ ์ธ(thiol ์์ โ pKa ๋ถ์ฐธ์ฌ), peptides๋ ๋ชจ๋ Cys ํฌํจ. ์ฐ๋ฆฌ ์ฒ๋ฆฌ๊ฐ ์๋ฌผํ์ ์ผ๋ก ๋ ์ ํ [๊ทผ๊ฑฐ: TOOL_our_physchem.md:25, :104-112]
- ๊ธฐ์กด ๋ฒค์น(
BENCH_admet_descriptors.json, 16์์ด)์ ์ผ๊ด์ฑ ํ์ธ โ GRAVY/Instability/Aliphatic 1.0000 ์ฌํ, Boman 0.97โ0.99, pI 0.99โ0.97 (n ์ฐจ์ด) [๊ทผ๊ฑฐ: TOOL_our_physchem.md:130-140] - D-aa ํ๊ณ: ์ฐ๋ฆฌ ๋ชจ๋์
VALID_AAL-aa 20์ข ๋ง ํ์ฉ(raise ValueError), peptides๋ lowercase๋ฅผ L-aa๋ก ๊ฐ์ ๊ณ์ฐ(์คํ ๋ ์ค ์์ค). D-aa ํจ์ ์์ด(octreotide ๋ฑ) ๋ฌผ์ฑ์[๋ฏธ๊ฒ์ฆ]ํ๊ธฐ ํ์ [๊ทผ๊ฑฐ: TOOL_our_physchem.md:118-124,pharma_properties.py:217]
ํ์ : ๋ฌผ์ฑ descriptor๋ HIGH โ ํ์ดํ๋ผ์ธ ์ ์ฉ ์ ์ง, ์ถ๊ฐ ๋ณด์ ๋ถํ์. (๋จ D-aa๋ ๋ฏธ์ง์.)
4. ์ฉํ(HC50) ๋ ์ฑ ๊ฒ์ดํธ โ surrogate-์๋MED, L-aa ์ญ๋ณ๋ณ ์ ์ง
ground-truth:
BENCH_admet_v2๋ฌธํ ์ฉํ ๋ผ๋ฒจ. ์์ง 52์ข ์ค cyclic 2์ข ์ ์ธ ํ ์ฑ์ 50์ข [๋ฐ์ดํฐ: [LOCAL_PATH]]. ์ฑ์ run ๊ฒฐ๊ณผ JSON์ ๊ถ์ ๋ถ๋ฅ๋ n_L=32 / n_D=18(D๋ D-aa ์์ 16 + MIXED 2 ํฉ์ฐ) [๋ฐ์ดํฐ: [LOCAL_PATH] โ n_L=32, n_D=18, auc_D=[0.677,13,5]]. (BENCH md ํค๋๋ ์์ง ๋จ๊ณ ๋ผ๋ฒจ "L34/D16/MIXED2"๋ฅผ ์ ์ผ๋, ์ค์ ์ฑ์ ๋ 50์ข ์ ๊ทธ๋ฃน ๋ถ๋ฅ๋ ๊ฒฐ๊ณผ JSON ๊ฐ์ ๋ฐ๋ฅธ๋ค โ ยง4.1 ํ์ ์ผ์น.)
4.1 ROC-AUC (2026-06-19 ์ฌ์คํ, score=-hc50)
| ๊ทธ๋ฃน | n | pos(์ฉํ) | ROC-AUC | ์ ๋ขฐ๋ฑ๊ธ | ํ์ |
|---|---|---|---|---|---|
| D-aa ์์ | 16 | 11 | 0.727 | ์ค์ธกHIGH |
โ ์์ ๋ณ๋ณ (fair) |
| D-aa+MIXED | 18 | 13 | 0.677 | ์ค์ธกHIGH |
โ ์์ ๋ณ๋ณ (์ ์ฅ๊ฐ ์ฌํ) |
| L-aa | 32 | 24 | 0.146 | ์ค์ธกHIGH |
โ ์ญ๋ณ๋ณ โ ์ฌ์ฉ ๋ถ๊ฐ |
| ์ ์ฒด | 50 | 37 | 0.32 | ์ค์ธกHIGH |
L/D ํผ์ฌ๋ก ์ ํธ ์์ |
[๊ทผ๊ฑฐ: [LOCAL_PATH] ยท TOOL_pepadmet.md:127-131]
- L-aa ์ญ๋ณ๋ณ ์์ธ: ๋น์ฉํ ์์ ํ ํฌ๋ฆญ์ค(Cecropin A hc50=-823, LL-37 hc50=-1003)๋ฅผ ์ฉํ์ฑ(Melittin hc50=-293)๋ณด๋ค ๋ ๋ ์ฑ์ผ๋ก ์์ธก โ pepADMET ํ์ต ํธํฅ ์ถ์ [๋ฏธ๊ฒ์ฆ โ ์ถ๊ฐ ์คํ ํ์] [๊ทผ๊ฑฐ: TOOL_our_hc50.md:48-52]
- ๋ก์ปฌ vs ์น์๋น์ค ๋ถ์ผ์น: ๋ก์ปฌ(๋ ์ฑ ๋ชจ๋ธ ๋จ์ผ) ์ ์ฒด AUC 0.47 vs ์น์๋น์ค(19-endpoint ์์๋ธ ์ถ์ ) 0.32. D-aa๋ ๋ก์ปฌ 0.40 < ์น 0.677 โ ์น์ ๋ณ๋ ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ์ฑ ์์ฌ [๋ฏธ๊ฒ์ฆ] [๊ทผ๊ฑฐ: TOOL_pepadmet.md:133-141]
4.2 cyclic/SS-bond ๋ธ๋ก์ปค โ ๊ฒ์ดํธ fail-open
- SST-14(
AGCKNFFWKTFTSC, Cys3-Cys14)๋ฅผ ํฌํจํ ๋ชจ๋ SST-14 ๋ณ์ด์ฒด๋ SMILES ํ์ฑ ์คํจ โgraph_note=linear_sequence_fallbackโhc50_reliable=Falseโ ๋ ์ฑ ๊ฒ์ดํธ ์๋ skip [๊ทผ๊ฑฐ: TOOL_our_hc50.md:14, :67-75,pepadmet_toxicity.py:26-43] - ์ค๊ณ ์๋=fail-open(๊ฐ์ง ๋ ์ฑ ํ์ ๋ฐฉ์ง). ์ค์ง์ ์ผ๋ก SSTR2 ์ฃผ์ ํ๋ณด๊ตฐ์ ๋ ์ฑ ๊ฒ์ดํธ๊ฐ ๋ฏธ์๋ [๊ทผ๊ฑฐ: TOOL_our_hc50.md:142]
4.3 ๊ฒ์ดํธ ๋์ (apply_toxicity_to_extra, ์ค์ธก)
- native baseline
hc50=-55.68๋๋น home-advantage ํ๋ํฐ: hc50=-65โfactor 0.978, hc50=-300โ0.40(ํํ), ์์ (hc50=-14.5)โํ๋ํฐ ์์ [๊ทผ๊ฑฐ: TOOL_our_hc50.md:23, :118-128,multiobjective.py:206-241] - ํ๋ผ๋ฏธํฐ
_HC50_NATIVE_TOLERANCE=5.0,_HC50_PENALTY_SCALE=200.0,_TOXIC_ADMET_PENALTY=0.4[๊ทผ๊ฑฐ:multiobjective.py:163-167] - ๋ฐฐ์น ๋ํผ ์๋ต 16์์ด ~10-15์ด(conda subprocess), graceful fail(๋ฏธ์ค์น/timeout ์ ๋น dict) [๊ทผ๊ฑฐ: TOOL_our_hc50.md:24,
pepadmet_runner.py:36-99]
ํ์ : HC50 ๊ฒ์ดํธ๋ surrogate-์๋MED โ D-aa ์๋ ์์์๋ง ์ ํจ, L-aa ์ญ๋ณ๋ณยทcyclic ๋ฏธ์๋, ์ ๋ HC50 ๋จ์ ๋ฏธ๊ฒ์ฆ(์ ๋LOW, ํด์ ๊ธ์ง).
5. ์ธ๋ถ ์น/์๋ถ์ ํด โ ๋ธ๋ก์ปค ์ ์ง ๊ธฐ๋ก
5.1 ADMETlab 3.0 โ ์๋ฒ ์ฅ์ ๋ก ๋ฏธํ๊ฐ (fail-closed)
POST /api/admetโ HTTP 404(๋ผ์ฐํ ๋ฏธ๋ฑ๋ก),POST /api/single/admetโ HTTP 500(api.py:307pandas KeyError, ์ ๋ ฅ ์ข ๋ฅ ๋ฌด๊ด ์๋ฒ ๋ฒ๊ทธ),/api/washmol๋ง HTTP 200 [๊ทผ๊ฑฐ: [LOCAL_PATH]]- ๊ณต์ ๊ณต์ง: ์ง์์ ๊ณต๊ฒฉ์ผ๋ก ์๋ฒ ์์ ๋ถ๊ดด, ๋๋ ๊ณ์ฐ์
minddance@163.com์๋ ์ ์ถ ์๋ด [์ถ์ฒ: https://admetlab3.scbdd.com/apis/two.md] [๊ทผ๊ฑฐ: TOOL_admetlab.md:96-100] - 119๊ฐ ADMET ํญ๋ชฉ ํฌ๊ด์ ์ด๋ D-aa/cyclic OOD ์ฐ๋ ค. SMILES ๋ณํ(RDKit
MolFromSequence)์ ์ฑ๊ณตํ์ผ๋ SS-bond ๋ฏธํํ [๊ทผ๊ฑฐ: TOOL_admetlab.md:56-62] - ์ฑ๋ฅ ๋ฏธํ๊ฐ โ ์คํ ์คํจ๋ก ๋ฒค์น ๋น๊ต ๋ถ๊ฐ(์ถ์ ๊ธ์ง). ์๋ฒ ์ ์ํ ํ ์ฌ์๋ ๊ถ๊ณ [๊ทผ๊ฑฐ: TOOL_admetlab.md:108, :156]
5.2 ADMET-AI v2.0.1 โ ์คํ ์ฑ๊ณต, ์ฉํ ์ง์ endpoint ์์
- ์ค์นยท์คํ ์ฑ๊ณต(
pip install admet-ai, rdkit 2026.3.3, PyRosetta ํธํ), 104 endpoint, SST-14+๋ฒค์น 20์ข ์ถ๋ก ์๋ฃ [๊ทผ๊ฑฐ: [LOCAL_PATH], :60-64] - ์ฉํ ์ง์ ์๋ํฌ์ธํธ ์์ โ hERG๋ฅผ ๋๋ฆฌ ์งํ๋ก ์ฌ์ฉ: ROC-AUC L-aa=0.727
์ค์ธกHIGH(๋จ ์ง์ ์ฉํ ํ๋ จ ์๋, ์ฐ์ฐ ์ผ์น ๋ฐฐ์ ๋ถ๊ฐ), D-aa 0.833์ OOD ๋ฌดํจ, LD50-proxy L-aa 0.045(์ญ๋ณ๋ณ) [๊ทผ๊ฑฐ: TOOL_admet_ai.md:19, :90-99] - ์๋ถ์ ์ฝ๋ฌผ ๋ชจ๋ธ(TDC, MW<900) โ ํฉํ์ด๋ MW>1000 OOD ์ํ, D-aa(rdkit L-isomer๋ง ์์ฑ)ยทSS-cyclic ๋ฏธ์ง์ [๊ทผ๊ฑฐ: TOOL_admet_ai.md:44-52]
- SST-14 ์์ธก hERG=0.841(์ํ ์ ํธ) ๋ฑ์ SS-cyclic ๋ฏธ๋ฐ์ ์ ํ SMILES โ
[๋ฏธ๊ฒ์ฆ]์ ๋๊ฐ ์ ๋ขฐ ๊ธ์ง [๊ทผ๊ฑฐ: TOOL_admet_ai.md:75-81] - ํ์ : ์กฐ๊ฑด๋ถ ์ ์ฉ ๊ฐ๋ฅํ๋ ๋ฏธ๊ตฌํ(๋ํผ ์์). pepADMET ๋ก์ปฌ ๋ณต๊ตฌ ์ฐ์ , ์คํจ ์ L-aa hERG fallback [๊ทผ๊ฑฐ: TOOL_admet_ai.md:18, :120]
5.3 pepADMET ์น์๋น์ค โ HTTP 403 (๋ก์ปฌ์ ์ฐํ ์ฑ๊ณต)
- ์น์๋น์ค https://pepadmet.ddai.tech/ HTTP 403 ์ฐจ๋จ ์ ํจ. ๋จ ๋ก์ปฌ ๋ชจ๋ธ(
local_models/pepadmet/repo/model/toxicity_early_stop.pth)๋ก ์ฐํ ์ถ๋ก ์ฑ๊ณต(51/51 ์์ด, ~6-16๋ถ CPU) [๊ทผ๊ฑฐ: [LOCAL_PATH], :94-98, :191-199] โ ์ฑ๋ฅ์ ยง4 ์ฐธ์กฐ
6. ์ข ํฉ ๊ฒฐ๋ก ยท๊ถ๊ณ
- ์ ๋ขฐ ๊ฐ๋ฅํ ADMET ์ ํธ๋ ๋ฌผ์ฑ descriptor 5์ข (HIGH)๋ฟ โ GRAVYยทInstabilityยทAliphaticยทBomanยทpI. ํ์ดํ๋ผ์ธ ์ ์ฉ ์ ์ง [๊ทผ๊ฑฐ: ยง3]
- ์ฉํ ๊ฒ์ดํธ๋ D-aa ์๋ ์์์๋ง ์ ํ ์ฌ์ฉ(MED) โ L-aa ์ญ๋ณ๋ณ, cyclic(SST-14) fail-open์ด๋ฏ๋ก ์ฃผ์ ํ๋ณด๊ตฐ์ ์ฌ์ค์ ๋ฏธ์๋. ์ ๋ HC50 ํด์ ๊ธ์ง [๊ทผ๊ฑฐ: ยง4]
- ์ธ๋ถ ์น ํด ์์กด ๊ธ์ง โ ADMETlab ์๋ฒ ์ฅ์ ยทpepADMET ์น 403. ๋ก์ปฌ ์์(pepADMET ๋ก์ปฌ, ADMET-AI)์ผ๋ก๋ง ์ด์ฉ [๊ทผ๊ฑฐ: ยง5]
- ๋ชจ๋ ๋ชจ๋ ๊ณตํต ํ๊ณ: D-aaยทcyclic/SS-bond ์
์ฒดํํ์ RDKit
MolFromSequence๊ฐ ํํ ๋ชป ํจ โ SSTR2 ํต์ฌ ํ๋ณด(SST-14 ๊ณ์ด)์์ ADMET ์์ธก ์ ๋ขฐ๋ ๋ฎ์. ํฅํ SS-bond SMILES ์๋ ์์ฑ ๋๋ ์ ์ฒดํํ ์ธ์ง ๋ชจ๋ธ ํ์ [๊ทผ๊ฑฐ: ยง4.2, ยง5.2] - ๊ฐ์ ๊ถ๊ณ : โ pepADMET cyclic SMILES ๋น๋ ๋ณด๊ฐ(
hc50_reliable=Trueํ๋), โก L-aa ์ญ๋ณ๋ณ ํ์ต ํธํฅ ์์ธ ๊ท๋ช , โข ADMET-AI ๋ํผ(pipeline_local/admet_ai_wrapper.py) ์ ์ค๋ก fallback ์ด์คํ [๊ทผ๊ฑฐ: ยง4.2, ยง5.2]
7. ์์ ์ฐ๋ฌผยท์ฆ๊ฑฐ ๊ฒฝ๋ก (์ถ์ ์ฑ)
| ํญ๋ชฉ | ๊ฒฝ๋ก |
|---|---|
| ๋ฌผ์ฑ ์ฆ๊ฑฐ | _workspace/report_site2/_evidence/TOOL_our_physchem.md |
| HC50 ๊ฒ์ดํธ ์ฆ๊ฑฐ | _workspace/report_site2/_evidence/TOOL_our_hc50.md |
| pepADMET ๋ก์ปฌ ์ฆ๊ฑฐ | _workspace/report_site2/_evidence/TOOL_pepadmet.md |
| ADMET-AI ์ฆ๊ฑฐ | _workspace/report_site2/_evidence/TOOL_admet_ai.md |
| ADMETlab ์ฆ๊ฑฐ | _workspace/report_site2/_evidence/TOOL_admetlab.md |
| ์ฉํ ๋ฒค์น ground-truth | _workspace/report_site/_analysis/BENCH_admet_v2.md (์์ง 52์ข
) ยท ์ฑ์ run ๊ฒฐ๊ณผ BENCH_admet_v2_results.json (์ฑ์ 50์ข
, n_L=32 / n_D=18[D-aa+MIXED]) |
| pepADMET ์ถ๋ก ๊ฒฐ๊ณผ | local_models/pepadmet/repo/model/toxicity_early_stop.pth, scratchpad/pepadmet_full_results.json |
raw vs meta ์ฃผ: ๋ณธ ํ์ด์ง๋ ADMET(์ฉํยท๋ฌผ์ฑ) ํ๊ฐ์ด๋ฉฐ ๋ฐ๊ฐ๊ธฐ raw/meta ๋๊ธ๋น๊ต ์ด์๋ ํด๋น ์์(๋ฐ๊ฐ๊ธฐ๋ 10๋ฒ Serum Stability ํ์ด์ง) [๊ทผ๊ฑฐ: GOAL_SIM_MODULES_2026-06-18.md ยง3.2-5].