🎉 Sent!
You made it to the top. Submit your work above!
Submission
Submission details coming soon — reach out to the instructor when you have a working tool
Deliverable
Submit a working browser automation tool that:
- Automates the submission of draft jobs on AlphaFold Server
- Handles the multi-step submission flow (Continue → Preview → Confirm → Submit)
- Can process multiple drafts in sequence
- Includes basic documentation for installation and use
This route is worth 8 regular routes. It's a significant engineering challenge.
Mission checklist
- Analyzed the AF3 Server submission flow
- Identified DOM elements and click targets
- Built working automation (extension, script, or other)
- Tested on real draft jobs
- Documented installation and usage
Exercise 3: Build and Test
Build your automation tool. Options include:
- Chrome Extension — most robust, can be scheduled
- Bookmarklet — simpler, runs on demand
- Selenium/Playwright script — if you're comfortable with browser automation frameworks
Requirements
Your tool must:
- Submit N drafts in sequence (where N is configurable or reasonable)
- Wait appropriately between steps (the server needs time to respond)
- Not break if a job fails
- Work on the actual alphafoldserver.com interface
Testing
Test on a small number of real drafts (2-3) before running on larger batches. Jobs count against your daily quota, so test carefully.
Exercise 2: Reverse-Engineer the Flow
Before you can automate, you need to understand exactly what happens when you submit a job manually.
The submission flow
When you click on a draft job, you go through:
- Draft page → Click "Continue"
- Preview page → Click "Preview Job" (or similar)
- Confirmation page → Click "Confirm" or "Submit Job"
- Job starts running
Your task
- Open Chrome DevTools (F12)
- Go through the submission flow manually for one draft
- Identify the button elements at each step (use Inspector)
- Note any delays or loading states between steps
- Document the CSS selectors or XPaths for each button
Hint: Look for button elements, data-* attributes, or class names that identify the submit/continue buttons.
Questions to answer
- How long should you wait between clicks?
- How do you know when a page has fully loaded?
- What happens if you click too fast?
Exercise 1: Understand the Problem
The pain point
AlphaFold Server's batch upload creates drafts, not running jobs. To actually submit each job, you must manually:
- Click on the draft
- Click "Continue"
- Click "Preview Job"
- Click "Confirm and Submit"
For 30 jobs, that's 120+ clicks. Every day. This is exactly the kind of tedious task that computers should handle.
Your challenge
Build a browser automation tool that submits draft jobs automatically. Your tool should:
- Navigate the multi-step submission flow
- Handle multiple drafts in sequence
- Wait appropriately between actions (don't break the server)
- Ideally, handle failed jobs gracefully
How you implement this is up to you. Analyze the AlphaFold Server interface and figure out how to automate it.
Exercise 0: Setup
Prerequisites
- Familiarity with browser DevTools (Inspector, Console)
- Basic JavaScript knowledge
- An AlphaFold Server account with some draft jobs to test on
Useful background
If you've never built a browser extension or automation tool, start here:
- Chrome Extension Getting Started Guide
- MDN: Browser Extensions
- Or ask your chatbot: "How do I build a simple Chrome extension that clicks a button on a webpage?"
Approach options
| Approach | Complexity | Pros | Cons |
|---|---|---|---|
| Chrome Extension | High | Full control, can schedule, persistent | More setup, manifest files |
| Bookmarklet | Low | Simple, no installation | Manual trigger each time |
| Selenium/Playwright | Medium | Powerful, scriptable | Requires local Python/Node setup |
Choose based on your comfort level. A working bookmarklet is better than an unfinished extension.
Intro
In Routes 37A and 37B, you submit jobs to AlphaFold Server manually. For a handful of jobs, this is fine. But what if you needed to submit hundreds?
The AlphaFold Server interface requires multiple clicks per job:
- Upload JSON → creates drafts
- Click each draft → Continue → Preview → Submit
This is tedious and error-prone. Real research labs running large-scale AF3 campaigns have built automation tools to handle this.
Your challenge: Build a tool that automates AF3 Server job submission.
This is a real engineering problem. There's no single right answer. You'll need to:
- Analyze a web interface
- Understand DOM structure
- Write code that interacts with a live website
- Handle timing and error cases
Why this matters
Browser automation is a valuable skill beyond this specific use case:
- Web scraping and data collection
- Automated testing
- Repetitive workflow automation
- Building browser-based tools
Route 037C: AF3 Server Automation Widget
- RouteID: 037C
- Wall: Protein-Protein Interactions (W10)
- Grade: 5.13d (Extra Credit — worth 8 routes)
- Routesetter: Adrian
- Time: Variable (significant project)
- You'll need: Chrome browser, DevTools, JavaScript knowledge, AF3 account with test drafts
🧗 Base Camp
Start here and climb your way up!