尚未检测到更新。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.