AnDiff is a nanobody humanization workbench for exploring adaptive diffusion-based sequence generation workflows. The interface provides a compact dashboard, model-training view, nanobody generator, CDR/framework mask editor, and analysis panels for reviewing generated candidates.
The current app is a Vite + React frontend with a simulated inference service. It is designed as a deployable web interface that can later be connected to a real AnDiff inference backend.
- Nanobody Generator with FreeGen and ConstGen modes
- CDR / framework mask editor for locking residues or marking positions for reconstruction
- Candidate generation preview with sequence-level scoring metrics
- Training and analysis screens for model workflow demonstrations
- Responsive single-page application built with React, TypeScript, Vite, Recharts, and Lucide icons
- React 19
- TypeScript
- Vite
- Tailwind-style utility classes
- Recharts
- Lucide React
- Node.js 20 or newer recommended
- npm
npm installnpm run devVite will print a local development URL, usually:
http://localhost:5173/
npm run buildThe production build is written to the dist directory.
npm run previewAnDiff is a static Vite application, so it can be deployed on common static hosting platforms.
- Push the project to a GitHub repository.
- Create a new site in Netlify and import the repository.
- Use the following build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Deploy the site.
- Import the GitHub repository into Vercel.
- Select Vite as the framework preset if Vercel does not detect it automatically.
- Use the default build settings:
- Build command:
npm run build - Output directory:
dist
- Build command:
- Deploy the project.
- Build the app:
npm run build- Upload the contents of the
distdirectory to any static hosting service, CDN bucket, or web server. - Configure the server to serve
index.htmlfor unknown routes if client-side routing is added later.
The frontend currently uses a mock backend service in services/mockBackend.ts. To connect a production inference service, replace the mock generation logic with API calls to your backend endpoint and update API_BASE_URL in constants.ts.
.
├── components/ Shared UI and sequence editor components
├── services/ Mock backend and future API integration layer
├── views/ Dashboard, generator, training, analysis, and documentation views
├── App.tsx Main application shell
├── constants.ts App constants and default sequence configuration
├── index.tsx React entry point
└── vite.config.ts Vite configuration