Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

CAFE

Cofolding-Approach to Fragment Exploration of Allosteric and Cryptic Binding Sites

CAFE is a workflow for probing orthosteric and allosteric pockets with fragment libraries via structure prediction (Boltz) and geometric localization. This repository packages the fragment catalogs, pocket reference structures, and pipeline entry points used in the study.

Private preview release (THGLab).

What is included

PathContents
data/fragments/Paper-style fragment catalogs (kinase, nonkinase, Enamine)
data/references/sites.csvOrthosteric / allosteric site definitions (PDB, chain, ligand, resseq)
data/references/pdb/Reference structures used for alignment and localization
scripts/fragmentation/Build / regenerate fragment libraries (BRICS)
scripts/boltz/Cofolding: prepare inputs → predict → align
scripts/localization/Score poses vs orthosteric / allosteric references

A three-arm worked example (no ADP / ADP / Type‑1) is in examples/mapk14_map_a005/.

Quickstart (MAP-A005 · three arms)

From the repo root (needs numpy; RDKit only for the optional BRICS demo):

# Score pre-aligned Boltz poses for each ATP-site conditionforarmin no_adp with_adp type1;do
PYTHONPATH=scripts python scripts/localization/score_poses.py \
--target MAPK14 \
--poses examples/mapk14_map_a005/aligned_poses/$arm \
--out examples/mapk14_map_a005/localization_${arm}.csv
done

Expected at 5 Å: no ADP → 10/10 ortho; ADP and Type‑1 → 10/10 allo.

Boltz input YAMLs for the same fragment are under examples/mapk14_map_a005/boltz_yamls/. See that folder’s README for rebuild / predict / align steps.

Fragment catalogs

Human-readable IDs for the libraries used in the paper:

FileCountID patternNotes
kinase_fragment_catalog.csv232{KIN}-A### / {KIN}-O###116 allosteric + 116 orthosteric BRICS fragments across AKT2, CDK2, CHEK1, CSNK2A1, MAPK14
nonkinase_fragment_catalog.csv37PTP-A### / KRA-A###Allosteric-only BRICS fragments for PTP1B (23) and KRAS (14)
enamine_fragment_catalog.csv300ENA-###Enamine diversity set ordered by selection_rank

Kinase abbreviations: AKT, CDK, CHK, CSK, MAP.

Example rows:

CHK-A000 allosteric CHEK1 3F9N/38M …
MAP-O012 orthosteric MAPK14 …
PTP-A000 allosteric PTP1B 1T49/892 …
ENA-000 enamine Z1473029920 …

Reference structures

Pocket geometry is defined in data/references/sites.csv:

target,role,pdb_id,chain,ligand,resseq
MAPK14,ortho,3S3I,A,CQ0,1
MAPK14,allo,5N63,A,8OW,401
…

PDB files live under:

data/references/pdb/
kinases/<TARGET>/<PDB>.pdb
nonkinase/<TARGET>/<PDB>.pdb

Kinases — one orthosteric alignment frame per target, plus allosteric localization references:

TargetOrtho frameAllo refs
AKT22JDO8Q61, 9C1W
CDK22UUE6Q3F, 6Q49, 6Q4K, 8VQ3, 8VQ4
CHEK12YEX3F9N, 3JVR, 3JVS
CSNK2A13WAR5MMF, 5MOD, 5OSU, 6GIH
MAPK143S3I3NEW, 5N63, 5N64, 5N67, 5N68, 8X3M, 8YD9

Nonkinases

TargetOrtho / blockerAllo refs
PTP1B5K9W (OTA)1T49, 1T4J, 7GSA, 7GTQ, 8G65, 8G68, 8G69
KRAS4OBE (GDP)7RPZ, 5V71

Structures are RCSB-derived, cleaned to the chains used in the study. Cite the PDB IDs in any downstream work.

Pipeline overview

fragments ──► Boltz cofolding ──► align to ortho frame ──► localize vs sites.csv
│ │ │
catalogs predicted poses % in pocket (e.g. ≤5 Å)

Typical arms for kinases: empty ATP site (no_adp), ADP-occupied, and Type‑1 inhibitor–occupied (verified CCD ligand). Localization uses heavy-atom minimum distance to reference ligands listed in sites.csv.

Script folders are staged for a public-facing API; wire them to your Boltz install and compute environment as needed.

Setup

conda env create -f environment.yml
conda activate cafe

Requires a working Boltz installation for cofolding (GPU recommended). RDKit is used for fragmentation; MDAnalysis or PyMOL can be used for alignment helpers.

Repository layout

CAFE/
├── README.md
├── LICENSE
├── environment.yml
├── data/
│ ├── fragments/
│ └── references/
│ ├── sites.csv
│ └── pdb/
├── examples/
│ └── mapk14_map_a005/ # no ADP / ADP / Type-1 walkthrough
└── scripts/
├── lib/ # shared PDB / sites / Kabsch helpers
├── fragmentation/brics_cut.py
├── boltz/prepare_yaml.py
├── boltz/align_to_ortho.py
└── localization/score_poses.py

Citation

Manuscript in preparation. Please cite this repository and the RCSB PDB entries for any reference structures you reuse.

Enamine catalog identifiers (Z…) remain the property of Enamine; SMILES are provided for reproducibility of the computational screen.

License

Code is released under the MIT License (see LICENSE). Reference PDB coordinates remain subject to the RCSB PDB terms; fragment catalog SMILES are provided for research use.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages