Navigate
Back to Gym
← Back to Wall

Extra Credit - AF3 Server Automation Widget

Route ID: R037C • Wall: W10 • Released: Mar 9, 2026

5.13d
published

🎉 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:

  1. Automates the submission of draft jobs on AlphaFold Server
  2. Handles the multi-step submission flow (Continue → Preview → Confirm → Submit)
  3. Can process multiple drafts in sequence
  4. 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:

  1. Chrome Extension — most robust, can be scheduled
  2. Bookmarklet — simpler, runs on demand
  3. 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:

  1. Draft page → Click "Continue"
  2. Preview page → Click "Preview Job" (or similar)
  3. Confirmation page → Click "Confirm" or "Submit Job"
  4. Job starts running

Your task

  1. Open Chrome DevTools (F12)
  2. Go through the submission flow manually for one draft
  3. Identify the button elements at each step (use Inspector)
  4. Note any delays or loading states between steps
  5. 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:

  1. Click on the draft
  2. Click "Continue"
  3. Click "Preview Job"
  4. 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:

Approach options

ApproachComplexityProsCons
Chrome ExtensionHighFull control, can schedule, persistentMore setup, manifest files
BookmarkletLowSimple, no installationManual trigger each time
Selenium/PlaywrightMediumPowerful, scriptableRequires 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!