|
1 | | -# QuercusProteinViewer |
| 1 | +# QuercusProteinViewer 🧬 |
2 | 2 |
|
3 | | -A 3D Protein Structure Viewer built with React, TypeScript, Vite, and NGL.js. |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
4 | 7 |
|
5 | | -## Features |
6 | | -- Search and load structures from PDB. |
7 | | -- Upload local PDB/CIF files. |
8 | | -- Multiple representations (Cartoon, Ball & Stick, Spacefill, etc.). |
9 | | -- Custom coloring by Chain or Residues. |
10 | | -- **Mobile Responsive Design** with sidebar toggle. |
11 | | -- Sequence view with resize capability. |
| 8 | +A high-performance, modern 3D Protein Structure Viewer built for speed and usability. Visualize PDB structures with advanced rendering, custom coloring, and molecular analysis tools directly in your browser. |
12 | 9 |
|
13 | | -## Development |
| 10 | +## ✨ Features |
14 | 11 |
|
15 | | -This project uses React + TypeScript + Vite. |
| 12 | +- **📂 Dual Loading Modes**: Instantly fetch structures from the **RCSB PDB** by ID or upload your own `.pdb` / `.cif` files locally. |
| 13 | +- **🎨 Rich Representations**: Switch between **Cartoon**, **Ball & Stick**, **Spacefill**, **Licorice**, **Surface**, and **Backbone** views. |
| 14 | +- **🌈 Advanced Coloring**: Color by **Chain ID**, **Element**, **Residue**, **Secondary Structure**, **Hydrophobicity**, or define **Custom Color Rules**. |
| 15 | +- **📏 Molecular Analysis**: |
| 16 | + - **Distance Measurement**: Click any two atoms to measure the distance in Angstroms (Å) with visual indicators. |
| 17 | + - **Ligand Focus**: Automatically detect and zoom into ligand binding sites. |
| 18 | + - **Sequence Viewer**: Interactive protein sequence bar—hover to identify residues, click to highlight them in 3D. |
| 19 | +- **💡 Visual Enhancements**: |
| 20 | + - **Light/Dark Mode**: Toggle between a sleek dark interface and a clean light theme. |
| 21 | + - **Surface Overlay**: Toggle transparent molecular surfaces. |
| 22 | + - **High-Res Export**: Capture publication-quality renders (PNG) at 3x resolution. |
| 23 | +- **📱 Responsive Design**: Fully responsive UI with a collapsible sidebar for seamless use on tablets and desktops. |
16 | 24 |
|
17 | | -### Running Locally |
| 25 | +## 🚀 Getting Started |
18 | 26 |
|
19 | | -```bash |
20 | | -npm install |
21 | | -npm run dev |
22 | | -``` |
| 27 | +Follow these steps to set up the project locally. |
| 28 | + |
| 29 | +### Prerequisites |
| 30 | + |
| 31 | +- **Node.js** (v16 or higher) |
| 32 | +- **npm** (comes with Node.js) |
| 33 | + |
| 34 | +### Installation |
| 35 | + |
| 36 | +1. **Clone the repository** |
| 37 | + ```bash |
| 38 | + git clone https://github.com/YOUR_USERNAME/QuercusProteinViewer.git |
| 39 | + cd QuercusProteinViewer |
| 40 | + ``` |
| 41 | + |
| 42 | +2. **Install dependencies** |
| 43 | + ```bash |
| 44 | + npm install |
| 45 | + ``` |
23 | 46 |
|
24 | | -### Building |
| 47 | +3. **Run the development server** |
| 48 | + ```bash |
| 49 | + npm run dev |
| 50 | + ``` |
| 51 | + Open [http://localhost:5173](http://localhost:5173) in your browser. |
| 52 | + |
| 53 | +## 🛠️ Building for Production |
| 54 | + |
| 55 | +To create a production-ready build: |
25 | 56 |
|
26 | 57 | ```bash |
27 | 58 | npm run build |
28 | 59 | ``` |
29 | 60 |
|
30 | | -## License |
| 61 | +The output will be in the `dist/` directory, ready to be deployed to Vercel, Netlify, or GitHub Pages. |
| 62 | + |
| 63 | +## 🤝 Contributing |
| 64 | + |
| 65 | +Contributions are welcome! Feel free to open an issue or submit a pull request. |
| 66 | + |
| 67 | +## 📄 License |
| 68 | + |
| 69 | +This project is licensed under the [MIT License](LICENSE). |
31 | 70 |
|
32 | | -MIT |
|
0 commit comments