尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Autodock, Simplified.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Drug Discovery, On the Go. Powered by AutoDock Vina.
MolDock is a molecular docking platform that brings AutoDock Vina to your browser and phone. Search proteins and ligands from public databases, submit docking jobs, and visualize results — no installation required.
Available on Web, iOS, and Android.
Developed by John Wonmo Seong at University of California, Irvine in collaboration with Seoul National University. Special thanks to Professor Juyong Lee at the Computational Drug Discovery Lab.
/screen) — paste SMILES or upload an SDF library, dock every ligand against one target, ranked table (affinity, ligand efficiency, H-bonds, key residues) + CSV export.pml, ChimeraX .cxc, CSVs, params.json, or everything as one ZIPX-API-Key: mdk_... (Pro). OpenAPI docs at /docs on the API server| Free | Pro ($9.99/mo or $79/yr) | Lab / Institution (quote) | |
|---|---|---|---|
| Dockings/day | 5 (3 without account) | 300, priority queue | 1000 per seat |
| Exhaustiveness / poses / box | 8 / 9 / 30 Å | 32 / 20 / 40 Å | 64 / 20 / 60 Å |
| Batch screening | 5 ligands | 500 per batch | 2000 per batch |
| Private jobs, API keys, kept forever | – | ✓ | ✓ |
Limits are enforced server-side (api/plans.py, api/accounts.py). Stripe price IDs come from the environment; see .env.example.
pip install -r requirements.txt pytest && pytest tests # needs Open Babel for the interaction tests
16 curated famous protein-ligand dockings across 7 categories. Tap any example to start docking instantly.
| Ligand | Protein | Category |
|---|---|---|
| Imatinib | BCR-ABL Kinase (1IEP) | Cancer |
| Nutlin-3a | MDM2 (4HG7) | Cancer |
| Aspirin | COX-2 (5IKR) | Pain & Inflammation |
| Caffeine | Adenosine A2A (3RFM) | Neuroscience |
| Sildenafil | PDE5 (1UDT) | Cardiovascular |
| Oseltamivir | Neuraminidase (2HT8) | Antiviral |
| Remdesivir | RdRp (7BV2) | Antiviral |
| Lopinavir | HIV-1 Protease (1MUI) | Antiviral |
| Paclitaxel | Tubulin (1JFF) | Cancer |
| Metformin | AMPK (4CFF) | Metabolic |
| Tamoxifen | Estrogen Receptor α (3ERT) | Cancer |
| Donepezil | Acetylcholinesterase (2RG6) | Neuroscience |
| Erlotinib | EGFR Kinase (3NYA) | Cancer |
| Atorvastatin | HMG-CoA Reductase (3OGP) | Cardiovascular |
| Methotrexate | DHFR (2ITO) | Cancer |
| Penicillin G | PBP (1PWC) | Antibiotic |
| Step | Page | Description |
|---|---|---|
| 1 | /docking/protein | Search and select a protein from RCSB PDB |
| 2 | /docking/marinate | Prepare protein (remove water, heteroatoms, add charges) |
| 3 | /docking/ligand | Search and select a ligand from PubChem |
| 4 | /docking/cook | Configure exhaustiveness, add email, and submit |
| — | /dashboard | Track job status with live progress and ETA |
| — | /examples | Browse 16 curated famous dockings |
| — | /results/[jobId] | 3D viewer with docked ligand, binding affinities, downloads |
┌──────────────────────────────────────┐
│ Frontend (Next.js on CapRover) │
│ lcbc-client app │
│ │
│ /api/rcsb → RCSB PDB search │
│ /api/pubchem → PubChem search │
│ (server-side proxies, no CORS) │
│ │
│ /docking/* → protein/ligand flow │
│ /examples → curated docking gallery│
│ /dashboard → job tracking │
│ /results/* → 3D viewer + download │
└──────────────┬───────────────────────┘
│
│ POST /api/dock
│ GET /api/jobs/{id}
│ GET /api/results/{id}
▼
┌──────────────────────────────────────┐
│ Backend (FastAPI on CapRover) │
│ lcbc-server app │
│ │
│ ┌────────────────────────────────┐ │
│ │ Docking Worker Thread │ │
│ │ AutoDock Vina + Open Babel │ │
│ └────────────────────────────────┘ │
│ │
│ SQLite (/app/data/lcbc_dock.db) │
│ SMTP email notifications │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│ Mobile App (Expo React Native) │
│ iOS & Android │
│ │
│ Same 4-step docking workflow │
│ Examples gallery with search │
│ 3Dmol.js viewer via WebView │
│ Direct API calls (no CORS proxy) │
│ Tablet-optimized responsive layout │
└──────────────────────────────────────┘
LCBC-Dock/
├── app/ # Next.js frontend (App Router)
│ ├── api/
│ │ ├── pubchem/route.ts # Server-side PubChem proxy
│ │ └── rcsb/route.ts # Server-side RCSB PDB proxy
│ ├── components/
│ │ └── ProteinViewer.tsx # 3Dmol.js interactive viewer
│ ├── docking/
│ │ ├── protein/page.tsx # Step 1: Protein search + 3D viewer
│ │ ├── marinate/page.tsx # Step 2: Protein preparation
│ │ ├── ligand/page.tsx # Step 3: Ligand search
│ │ └── cook/page.tsx # Step 4: Docking config + submit
│ ├── examples/page.tsx # Curated examples gallery
│ ├── dashboard/page.tsx # Job tracking with live progress
│ ├── results/[jobId]/page.tsx # Results + 3D docked pose viewer
│ ├── about/page.tsx
│ ├── layout.tsx
│ ├── page.tsx # Homepage with inline examples + stats
│ └── globals.css
├── mobile/ # Expo React Native app (iOS & Android)
│ ├── app/ # Expo Router screens
│ ├── components/ # ProteinViewer, StepIndicator, Spinner
│ ├── lib/ # API helpers, useLayout hook
│ ├── plugins/ # Kotlin version config plugin
│ ├── assets/ # App icons & splash screen
│ └── app.json # Expo config (iOS + Android)
├── api/ # FastAPI backend
│ ├── index.py # API endpoints + stats
│ ├── docking.py # Vina docking engine
│ ├── worker.py # Background job processor with progress
│ ├── database.py # SQLite + status message logging
│ ├── email_service.py # SMTP notifications
│ └── models.py # Pydantic models
├── screenshots/ # App Store screenshots
│ ├── *.PNG # iPhone (1284x2778)
│ └── ipad/*.PNG # iPad (2732x2048)
├── docs/ # GitHub Pages
│ ├── index.html # Documentation site
│ └── privacy.html # Privacy policy
├── Dockerfile.frontend
├── Dockerfile.backend
├── deploy.sh # CapRover deploy script
├── package.json
├── requirements.txt
└── README.md
# Login (one-time)
caprover login
# Deploy everything
bash deploy.sh all
# Deploy frontend or backend only
bash deploy.sh frontend
bash deploy.sh backend
| App | Dockerfile | Port |
|---|---|---|
lcbc-client | Dockerfile.frontend | 3000 |
lcbc-server | Dockerfile.backend | 8000 |
In CapRover dashboard → lcbc-server → Bulk Edit:
[email protected]
SMTP_PASS=your_16_char_app_password
[email protected]
BASE_URL=https://lcbc-client.apps.johnseong.com
Persistent storage: /app/data → lcbc-data
cd mobile
npm install
eas build --platform all
eas submit --platform ios
eas submit --platform android
| Field | iOS | Android |
|---|---|---|
| Bundle ID | com.johnseong.dock-it | com.johnseong.dock_it |
| Backend | https://lcbc-server.apps.johnseong.com | same |
git clone https://github.com/wonmor/LCBC-Dock.git
cd LCBC-Dock
npm install # Frontend
pip3 install -r requirements.txt # Backend
cp .env.example .env
npm run dev # Starts both on :3000 and :8000
cd mobile
npm install
npx expo start
| Layer | Technology |
|---|---|
| Web Frontend | Next.js 13, React 18, TypeScript, Tailwind CSS, 3Dmol.js |
| Mobile App | Expo SDK 52, React Native, Expo Router, WebView |
| Backend | FastAPI, Python 3.11, AutoDock Vina 1.2.5, Open Babel |
| Database | SQLite |
| Data Sources | RCSB Protein Data Bank, PubChem |
| Deployment | CapRover (web), EAS Build (mobile) |
| SMTP (Gmail compatible) |
| Method | Endpoint | Description |
|---|---|---|
GET | / | Health check |
GET | /api/stats | Queue stats (total, completed, wait time) |
GET | /api/proteins/search?q= | Search RCSB PDB |
GET | /api/proteins/{pdb_id} | Protein details |
GET | /api/proteins/{pdb_id}/center | Compute grid center |
GET | /api/ligands/search?q= | Search PubChem |
GET | /api/ligands/{cid} | Ligand details |
POST | /api/dock | Submit docking job |
GET | /api/jobs/{job_id} | Job status + progress message |
GET | /api/results/{job_id} | Docking results with poses |
GET | /api/results/{job_id}/download/pdb | Download PDB |
GET | /api/results/{job_id}/download/pdbqt | Download PDBQT |
For research inquiries, funding, and collaboration: [email protected]
Built by John Wonmo Seong at University of California, Irvine in collaboration with Seoul National University. Special thanks to Professor Juyong Lee at the Computational Drug Discovery Lab.