RxCubedAI-guided. AI-curated. AI-modelled.
Test version
← All docsTutorials

RxCubed Tutorial: Computational Drug Discovery Foundations

A hands-on walkthrough of the real RxCubed workflow — search, collect, run local tools, confirm a drug's mechanism, and write up a small report — with an optional deeper path that docks the drug back into its own crystal structure and checks whether the computer got it right.

RxCubed Tutorial: Computational Drug Discovery Foundations

This is the written guide to the RxCubed Tutorial: Computational Drug Discovery Foundations, a learning workspace you can open from the Learning Hub. It is disposable: everything you create in it can be deleted with Restart tutorial, and it never counts as one of your research projects. Use it to learn the real workflow before starting your own work in a proper project. When you are ready, use Create research project on the Projects page, or click the project name in the banner and choose + New Project.

This tutorial teaches the workflow, not the theory behind it. If you would like that first — how genes become proteins, why shape decides what a drug can do, and which diseases this kind of work suits — read Drug discovery basics. Nothing here assumes it, so read it before, after, or not at all.

💡 In a hurry? If you just want to quickly pick up RxCubed's most useful features, skip ahead to the Core Tutorial.

The scenario

Every step below works toward one real research question:

How does acetazolamide interact with human carbonic anhydrase II, can a computer reproduce that interaction from scratch, and what basic chemical properties make it a plausible small-molecule drug?

This is an educational analysis of a known, published drug–protein complex — not a discovery, a validation, or a treatment recommendation.

The science, in three paragraphs

Carbonic anhydrase II is one of the fastest enzymes known. It sits in your red blood cells, your kidneys and your eyes, doing one deceptively simple thing: turning carbon dioxide and water into bicarbonate and a proton, roughly a million times a second. A single zinc ion, at the bottom of a cone-shaped pocket, does the chemistry. It holds one water molecule in place and makes it reactive enough to attack CO₂.

Acetazolamide works by taking that water's place. Its sulfonamide group binds the zinc directly, and the rest of the molecule fills the cone. With the zinc occupied the enzyme cannot turn over, and the downstream consequences are what the drug is actually prescribed for — less fluid produced inside the eye, which lowers pressure in glaucoma, and a shift in blood chemistry that helps with altitude sickness.

That is the whole story in one sentence: a drug that works by sitting exactly where the substrate should be. Everything you calculate in this tutorial is a different way of looking at that one fact — which atoms touch, how tightly, whether the shape is drug-like enough to have reached a pharmacy, and finally whether a computer, given only the empty protein and a flat drawing of the drug, can put the drug back in the right place.

What you'll learn

By the end of the core tutorial — six stages — you will have used, on real data:

  • Literature Search, under Find papers;
  • RCSB PDB and PubChem, under Collect files;
  • two of RxCubed's local computational tools — Drug-likeness filters and Contact mapper (chemical);
  • Results Hub, including its viewers and the way it groups everything as Category → Tool → Run → Evidence;
  • Ask AI, attached to specific evidence and results rather than a blank chat; and
  • Reports, under Create reports — a short one, covering what you did.

That is a complete, real result on its own: a validated drug, and the experimental confirmation of how it works. If you want the platform's deeper capability — asking a computer to find that same answer blind, with nothing but an empty protein and a flat drawing of the drug — Extend the Experiment picks up right where the core tutorial leaves off, with four more local tools (Ligand extraction, Structure cleanup, Small-molecule docking and Pose RMSD) and Results Hub's Graph tab. Neither that section nor External Providers after it is required to say you've finished.

Links to RxCubed pages open in a new tab so you can keep this tutorial open.

Quick Start

Six stages make up the core tutorial. Start with the action in the table, then use the detailed instructions below when you want more guidance.

StageWhat you will do
🧭1. Find the paperSearch Literature Search and save the structural paper.
🧬2. Collect the structureSave 3HS4, the protein with the drug already bound.
💊3. Collect the drugSave acetazolamide from PubChem as an SDF.
✓4. Check drug-likenessRun the local drug-likeness filters.
🔗5. Map the contactsCalculate what the drug actually touches.
📝6. Write it upA short report: the question, the mechanism, the evidence.

Nothing here requires programming, and none of it spends anything beyond RxCubed's own compute.

That's the tutorial. Two more sections follow it, and neither is a numbered stage — they're there for when you want to go further, not because you owe them a completion checkmark:

  • Extend the Experiment — take the drug out of the crystal, strip the protein bare, dock the drug back in blind, and measure how close the computer got. This is the platform's real predictive test, not just a description of something already known, and it's worth coming back for even though it isn't required.
  • External Providers — two optional exercises on your own Neurosnap (AI & Computational Biology) and Rowan (Molecular Modelling & Computational Chemistry) accounts, for when you want to see the same questions answered by a different engine.

The tutorial is pinned to these specific records. If a live search doesn't surface them, or ranks something else first, use these directly:

Core Tutorial


🧭 Step 1 — Find the paper that already answered this

Under Find papers, open Literature Search and search for “acetazolamide and human carbonic anhydrase II”. Add a Quality: “Describes direct binding of an inhibitor to the catalytic zinc”.

A Quality is not a keyword. Keywords decide what is retrieved; qualities describe what would make a retrieved paper good for you, and the assistant scores each result against them. That is why the two boxes are separate.

Notice the paper's plain Search rank is 3, but sorting by AI score instead puts it first — the quality you added is doing real work. Open its AI summary to see, in a sentence or two, how well that particular result matches the quality you asked for, so you can judge relevance before committing to reading the whole abstract.

Shortlist, then save

Results are never saved directly. Add to shortlist, choose the file types you want, then Save shortlist. A shortlist row is an intention, not a file — nothing is fetched until you save, and one row with two file types ticked becomes two evidence rows.

Save the paper High-resolution structure of human carbonic anhydrase II complexed with acetazolamide reveals insights into inhibitor drug design.

After saving, the evidence appears under the All files tab. If the PDF didn't download, it also appears under Missing Files, where file ↗ opens the source and Manual Upload attaches what you fetched by hand.

Results Hub review

Open Results Hub. Everything in a project lives here, organised as Category → Tool → Run → Evidence: your search is a run, and the paper you saved is evidence under it. That shape never changes — a literature search, a docking job and a report are all runs with outputs.

✦ Ask AI

On the paper's information box in Results Hub, click Ask AI at the bottom right. Rather than asking for a summary, give it something to do:

"Read this paper's abstract and tell me which of its claims I could check computationally with a structure and which I could not."

Keep the answer in mind — in the steps ahead, you'll check some of them.

🧬 Step 2 — Collect the experimental structure

Under Collect files, open RCSB PDB, search for “3HS4”, and save it as Coordinates (mmCIF).

3HS4 is the protein with acetazolamide already bound in it, solved at 1.1 Å. That resolution matters for what follows: at 1.1 Å the position of the drug is known to a fraction of an Ångström, which is what makes it a fair answer sheet in step 9.

The structure viewer

In Results Hub, open the 3HS4 evidence card. Open File info to see what is inside the structure file — every chain, ligand and other heterogen it contains. Then open Group to see every other piece of evidence linked to it, such as anything derived from this file later on.

Then click the view button. The viewer is Mol*, the same one RCSB uses.

Try these, in order:

  1. In the Components panel on the right, click Ligand. The view jumps to acetazolamide, buried in a cone-shaped pocket.
  2. Look for the single grey sphere beside it — that is the zinc. Click Ion in the same panel and the view jumps straight to it.
  3. Drag to rotate, and notice how deep the pocket is. A drug that binds here has to fit a narrow cone, not a flat surface.

You are looking at the answer to this tutorial's question. Extend the Experiment, later on, asks whether a computer can reach the same answer without being shown it.

✦ Ask AI

With the structure card open, click Ask AI and ask:

"This structure is 1.1 Å. What can I safely conclude about the drug's position at that resolution, and what would change if it were 3.0 Å?"

💊 Step 3 — Collect the drug on its own

Under Collect files, open PubChem and search for “CID 1986” or “acetazolamide”. Save it as Structure (2D SDF).

This file is deliberately flat. A 2D SDF has connectivity — which atom bonds to which — but no real three-dimensional shape. That is exactly what you want: it is the drug as a chemist would draw it, carrying no information about how it sits inside a protein. In step 8 you will hand this file to a docking program, and because it knows nothing about 3HS4, the pose it produces will be earned rather than remembered.

Open it in Results Hub and try the drug viewer: a flat diagram, with the sulfonamide group (S(=O)(=O)N) at one end. That group is the part that binds the zinc.

✦ Ask AI

"The acetazolamide SDF I saved from PubChem is 2D. What has to happen to it before a docking program can use it, and what could go wrong in that conversion?"

✓ Step 4 — Check the drug is drug-like

Before trusting anything else this tutorial does with acetazolamide, it's worth a basic sanity check: does it even look like a plausible drug, by the same simple rules of thumb medicinal chemists use to triage candidates? Drug-likeness filters answers that in one run.

Under Model, open Tool Selector.

Search for “lipinski”. You will find Drug-likeness filters — select it. Searching by the rule's name rather than the tool's own name works for every tool here.

Open the Compound dropdown — it already lists the acetazolamide SDF you saved from PubChem. Select it. Once selected you can View it or open File info; if you don't have the file yet, Don't have the file? lets you fetch it right there instead.

Click Run. It checks Lipinski's rule of five, Veber's rule, and PAINS — routine screening heuristics, not proof that a compound is safe or effective.

Results Hub

Open the run, either from the All files tab or from Results Hub, and inspect the output. Under the run's name, a quiet Run Details ▾ toggle opens two boxes: Inputs (what fed into it) and Settings (every option, exactly as you set it). That is the answer to "what did I actually run, and on what" without reopening the form.

Every output file the run produced is listed underneath it — here, drug_likeness_filters_table (TSV) and 1986_drug_likeness (JSON). Click view on either to see the detail.

Acetazolamide passes comfortably. It should — it has been an approved drug since 1952, so a filter that rejected it would be telling you about the filter, not the drug.

The JSON also states the exact thresholds each rule judged it against — under lipinski.thresholds and veber.thresholds — not just for a violation. A clean pass tells you nothing about how close it was, and the numbers are right there if you want to check.

✦ Ask AI

"In my latest Drug-likeness filters run, acetazolamide passes all of the checks. Name a real approved drug that would fail them, and explain what that tells me about how much weight to put on this result."

🔗 Step 5 — See what the drug actually touches

Passing a filter says a molecule is plausible, not that it works. The real mechanism is a physical contact: does acetazolamide actually touch the catalytic zinc in the real crystal structure, the way the paper claims? Contact mapper (chemical) measures that directly, atom by atom.

Under Model, open Tool Selector and choose Contact mapper (chemical). Open the Structure dropdown and select the 3HS4 mmCIF — no need to go back to Results Hub for it.

Which acetazolamide? Once it's selected, open File info right there on the form. It lists three copies of AZM, at residue numbers 701, 702 and 703 — the same ligand code, three separate times in this file. Nothing about the count alone says which copy is the one that matters.

Now click View on that same file. In the Components panel, click Ion to jump to the zinc, then click the acetazolamide sitting right next to it — the one buried in the cone-shaped pocket from step 2. In the Structure panel at the top right, the bottom of the box names whatever you last clicked; it will read AZM 701. That is how you know which number to use, rather than guessing — File info and the viewer are both right here on the tool page, so you never have to leave the form to figure out what to type into it.

Fill in partner type Ligand, partner ID AZM, residue number 701, and the default pH. Run it.

This reads the experimental structure — it is measurement, not prediction. Look for a contact between the sulfonamide nitrogen and the zinc. That single interaction is the drug's mechanism.

The table is sorted closest-first, so that contact is one of the very first rows — look for the one naming the zinc (ZN) in the To column. Its Distance (Å) is the number you're after: a direct coordination like this sits at roughly 2.0–2.3 Å, and the same row's Interaction column names what kind of contact it measured it as.

Run it again with residue number 702 or 703 instead, and you will find they sit roughly 15–17 Å from the zinc — nowhere near close enough to take part in the reaction. They are almost certainly acetazolamide molecules that stuck to the outside of the protein during the soak that produced this crystal, not a second or third copy of the real binding event. 701 is the one bound in the active site.

Viewers, and the shape of an output

The run produces two files, and each gets its own viewer: a TSV of the contacts, which opens as a table you can read down, and a JSON with the full detail. They sit together under one run because a run is the unit that groups its outputs — which is why Results Hub never shows you a loose file with no explanation of where it came from.

The two are not duplicates. The table is what the tool showed you when it finished, capped at the most significant contacts; the JSON is the complete record. Most tools here work that way — something readable, and something exhaustive.

✦ Ask AI

"Of the contacts in my latest Contact mapper (chemical) run, which one is the drug's actual mechanism and which are just the rest of the molecule filling space? How would I tell the difference without already knowing the answer?"

Keep a research note

Use the Notes panel on the right edge of the workspace to record an observation, interpretation, or question while you work. Notes are separate from evidence, and a useful note can later be promoted to a report with Save as report. This is a simple way to preserve your reasoning and keep it connected to the evidence you reviewed.

📝 Step 6 — Write it up

Ask the assistant to write a report on the experiment. Detailed instructions help it write the report the way you actually intend, rather than it having to guess what to include — for example:

"Write a very short report on this experiment: the research question, the paper, the RCSB and PubChem records, the drug-likeness result, and the contact map — specifically the sulfonamide-to-zinc contact and why residue 701 rather than 702 or 703 was the one that mattered."

Click Save as report.

This is a small report, and it should be — everything in it is something you directly measured or looked up in the last five steps. It is a complete, citable finding on its own: a validated drug, and the experimental confirmation of how it works.

Open Reports. Your new report is there, named Project Report plus the date and time it was saved. Click the pen icon next to its title to rename it to something more specific, then open it in the viewer. You can edit it right there, and every change is autosaved — there is no separate save step.

You don't need a draft to start one, either. In Notes, a selected note can be promoted into the same workflow with ⇪ report instead of starting from a blank draft, and Create a new report on the Reports page makes an empty document from nothing but a name, if you would rather write it from scratch.

✦ Ask AI

"Given everything in this project, what is the single weakest claim in my report, and what one experiment would strengthen it most?"

🎉 Milestone reached — you finished the tutorial

That's the core tutorial, start to finish: a real research question, real records, a measured mechanism, and a short report to show for it. Nothing past this point is required, and neither of the next two sections outranks the other — pick whichever sounds more interesting right now:

  • Jump to External Providers to try the same kind of question through a third-party engine, on your own account.
  • Or keep going into Extend the Experiment, immediately below, for RxCubed's actual predictive test: can a computer find the position you just confirmed by measurement, without being shown it first? It picks up using files you already have.

Extend the Experiment


Everything so far has been descriptive: you looked up a known structure and confirmed a mechanism that was already published. This section asks a different, harder question — can a computer find that same answer working blind, from nothing but an empty protein and a flat 2D drawing of the drug? That is a genuine predictive test, and it is the only part of this tutorial that can fail.

✂️ Step 6 — Take the drug out of the crystal

Now the experiment begins. The rest of this section asks whether a computer can find the binding pose blind — and to check its answer later, you first need the real, experimentally-determined position saved as a file of its own. Ligand extraction pulls it straight out of the crystal.

Under Model, open Tool Selector and choose Ligand extraction.

  • Structure: the 3HS4 mmCIF.
  • Ligand code: AZM.
  • Template: the acetazolamide SDF from PubChem.

This pulls acetazolamide out of the crystal structure as a file of its own, in its experimentally determined position. Keep that file — it is the answer sheet for step 9.

Why the template matters. A ligand inside a PDB or mmCIF file is stored as coordinates and element symbols and nothing else — there are no bond orders in the file at all. Which bonds are single, double or aromatic has to be worked out, and guessing from atom positions fails quietly. Giving the tool the PubChem SDF lets it take the bonds from a molecule that genuinely knows them, and the coordinates from the crystal. Run it without a template and it will still work, and warn you.

Check the SMILES in the summary: CC(=O)Nc1nnc(S(N)(=O)=O)s1. Thirteen heavy atoms. That is acetazolamide, and confirming it takes two seconds.

Three copies, and how you would have known

The run warns that AZM appears three times — at residues 701, 702 and 703, all in chain A — and used residue 701 by default. That default is the right one, but not because the three copies are interchangeable: they are not the same binding event. Residue 701 is the copy bound in the active site, directly coordinating the catalytic zinc, exactly as step 5 showed you. 702 and 703 sit roughly 15–17 Å away — nowhere near the zinc — and are almost certainly acetazolamide molecules that stuck to the outside of the protein during the soak that produced this crystal, not a second or third copy of the real mechanism.

This matters here specifically because this file becomes step 9's answer key. Extract the wrong copy and the "correct" pose you're checking against is itself meaningless — the redocking experiment would still run, and would still produce a number, but that number would no longer mean anything.

You could have seen the ambiguity coming, if not which copy to pick. Open the 3HS4 card's File info and the ligand table lists every heterogen with its Copies count and residue numbers — AZM ×3 (701, 702, 703), plus one zinc, one glycerol and 404 waters. That tells you a choice exists; it does not by itself tell you which one is right. For that, use what step 5 already gave you: click Ion in the viewer, then click the acetazolamide sitting right next to it — the Structure panel names whatever you last clicked, and it will read AZM 701.

To take a different copy, give the Residue number (702 or 703). The Chain field is for the other case, where copies sit in different chains — it cannot help here, because there is only one chain to name.

✦ Ask AI — extraction

"3HS4 has three copies of AZM in one chain, and I'm about to run Ligand extraction on it. Does it matter which one I take for a docking reference, and how would I check?"

🧼 Step 7 — Take the structure apart

For the docking test ahead to mean anything, the receptor it searches must not already contain the drug — otherwise finding it would prove nothing. Structure cleanup strips the crystal down to the bare protein and adds the hydrogens crystallography doesn't normally see.

Under Model, open Tool Selector and choose Structure cleanup. Run it on the 3HS4 mmCIF, with Remove heterogens set to all.

What comes back is the protein alone — no drug, no glycerol, no water. In the summary you will see a few hundred heterogen atoms removed and around two thousand hydrogens added, because crystallography rarely sees hydrogens and the physics needs them.

This is the step that makes the experiment honest. The receptor now has no drug in it. Nothing downstream can copy an answer that isn't there.

There is a practical reason too: docking software refuses a structure that still contains its own ligand, because it cannot build a chemical template for it. If you skip this step, step 8 will tell you to come back and do it.

✦ Ask AI — cleanup

"I just ran Structure cleanup with Remove heterogens set to all, which also removed the waters. That might have removed some that were part of the binding site. What could that cost me, and when would I keep them?"

🎯 Step 8 — Put the drug back, by calculation

Now the actual test: given only the cleaned, drug-free protein from step 7 and the flat 2D drawing from step 3 — nothing that has ever seen the real bound position — can Small-molecule docking calculate where acetazolamide goes?

Under Model, open Tool Selector and choose Small-molecule docking.

  • Receptor: the cleaned 3HS4 from Structure cleanup.
  • Ligand: the 2D SDF from PubChem.
  • Search box: Around a reference ligand, and choose the AZM you extracted with Ligand extraction.
  • Reference ligand padding: leave at its default, 4 Å.
  • Leave Engine, Exhaustiveness and Number of poses at their defaults.

What the search box is, and why blind is not the default answer

Docking searches a box. The default, Whole receptor, covers the entire protein and needs nothing from you — but a blind search will find some pose for almost any molecule, so a good score from it is weak evidence. Pointing the box at a site you have a reason to believe in is what makes the result mean something.

The reference ligand you pick is what actually defines that box. RxCubed draws a box tightly around the reference file's own atoms, then pads it out on every side — that padding is the Reference ligand padding field above, 4 Å by default, and yours to change. It is not something AutoDock Vina itself imposes; it is RxCubed's own choice, editable per run. Smaller gives the search less room to be wrong about where the true pose sits; larger starts drifting back toward a blind search over a wider region. 4 Å is enough room for a pose to shift and rotate without reopening the search to the whole protein — a box drawn tight to the reference's own atoms would only ever find poses sitting exactly where the reference already does, which defeats the point of a redocking test.

Using the extracted ligand as the reference does not give the answer away. The box says where to look; it does not say which way up, which rotation, or which conformation the ligand should take within it. The search still has to find those.

If you had no bound ligand, Pocket detection (fpocket) would find candidate pockets and give you a centre to type into Centre and size instead. That is the normal case in real work.

This one runs in the background

Docking is one of several asynchronous local tools — the run appears immediately, but the answer does not. Open the Run Results tab: opening it checks status automatically, and again whenever you switch back to it. Check status does the same thing on demand — it checks whether the run has finished, and fetches the result the moment it has; it does not skip the wait itself.

Expect roughly twenty seconds. A blind run over the whole protein takes considerably longer, which is the other reason to aim the box.

Reading the result

You get a ranked table of poses with an affinity in kcal/mol, and one SDF containing all of them, ranked best first. Treat the affinity as a rank-ordering signal, not a measurement — docking scores correlate only loosely with real binding strength.

Every pose in that SDF is the same molecule — same atoms, same bonds — just placed differently in 3D, so the 2D view always shows the same flat structure no matter which pose you're looking at; only the 3D view actually changes between poses. Open the SDF and switch to each view to step through them:

  • 2D: a Pose 1 of N control with ◀ ▶ arrows appears next to the 2D/3D toggle whenever a file holds more than one record — this run's output does, so it will be there.
  • 3D: Mol*'s own model stepper, top-left of the 3D view — a small ◀ Model 1 / N ▶ control, separate from RxCubed's own toolbar above it. It is part of the underlying 3D viewer, not something RxCubed added, so it looks different from the 2D control next to it — easy to miss the first time, worth knowing is there.

✦ Ask AI — docking

"I have an affinity score from my latest Small-molecule docking run. List the things this kind of number cannot tell me, and what I would need to measure instead."

📏 Step 9 — Did the computer get it right?

This is the step the previous three were for: step 6's Ligand extraction saved the real, experimentally-determined binding position as the answer key; step 7's Structure cleanup stripped the receptor of its own drug so step 8's calculation couldn't copy an answer that wasn't there to copy; and step 8's Small-molecule docking produced a blind guess at that same pose, seeing neither the crystal position nor knowing it was being tested against it. Pose RMSD measures the distance between the guess and the real thing, in Ångström — turning "looks about right" into an actual number.

Under Model, open Tool Selector and choose Pose RMSD.

  • Poses: the SDF Small-molecule docking produced.
  • Reference pose: the AZM you extracted with Ligand extraction.

The tool measures how far each calculated pose sits from the real one, in Ångström. Under 2.0 Å is the convention for a successful redocking, and it is stated in the result rather than left for you to remember.

You should see the top-ranked pose land well under 2 Å. If it does, something worth pausing on has happened: given only an empty protein and a flat drawing of a drug, the calculation reproduced a position that was determined experimentally, and it did so in about twenty seconds.

If it lands badly, that is a finding too, not a failure of the tutorial. The tool will tell you which kind of failure it is — a pose that was found but ranked below another is a scoring problem; no good pose anywhere is a sampling or a setup problem.

Compare it with the paper

Go to Results Hub, open the Graph tab and select the docking run: you will see the whole chain you built by hand — the mmCIF and the SDF feeding extraction and cleanup, those feeding docking, and docking feeding the pose check. Nothing in that graph was typed in; it was recorded as you went.

✦ Ask AI — RMSD

"My latest Pose RMSD run says my top docked pose is under 2 Å from the crystal structure. Write two sentences I could honestly put in a paper about what this does and does not establish."

🎉 Milestone reached — you finished a full experiment

That's RxCubed's predictive test, start to finish: an empty protein, a flat drawing of a drug, a blind calculation, and a real number measuring how close it got. If you want to fold this into the report from step 6, open it again from Results Hub and ask the assistant to add the redocking result, its RMSD, and the provenance chain behind it — the same Save as report workflow, just with more to say.

From here, External Providers is next: the same kind of question, through a different engine, on your own account.

External Providers


Neurosnap (AI & Computational Biology) and Rowan (Molecular Modelling & Computational Chemistry) are third-party engines, running on infrastructure RxCubed doesn't own — so why reach them from inside RxCubed instead of just using their own websites directly? Because everything either one produces lands back in the same project, next to everything else: the same evidence store, the same viewers, the same provenance graph, the same Ask AI. You don't export a file from RxCubed, upload it to a separate site, run something, then import the result back in by hand — an external tool reads the structures and compounds you already saved here, and its output is saved back automatically, as evidence like any other. An AllMetal3D prediction or a Rowan pKa run is a run with outputs, exactly like a local tool's, so it shows up in Results Hub, carries the same lineage back to the files it used, and is something the assistant can read and reason about together with everything local RxCubed already computed — one connected record of an experiment, not a pile of files scattered across several unrelated tools' own accounts.

Tracking a remote job

External provider jobs — anything run on Neurosnap or Rowan — are asynchronous: a job isn't finished the moment you submit it. Tool Selector has a Run Results tab for exactly that gap: while the provider works, your run sits under Pending Runs. Press ⟳ Check status for all there any time you want an answer now — and RxCubed also checks for you on its own: once when you open Run Results or Results Hub, and again whenever you switch back to that tab. The moment a check finds the job finished, its files are fetched automatically. If a run somehow finishes without ever being checked — you never revisit the page, say — it sits under Results not collected until you check it yourself.

🤖 Cross-check the zinc site with Neurosnap

Step 5 had you find, by eye, that acetazolamide's sulfonamide nitrogen sits right up against the catalytic zinc. This optional exercise asks an AI model to predict where a metal ion binds this protein independently, straight from the crystal structure you already have — no cleanup, no ligand, one run — and checks whether it lands on the same site.

Set up Neurosnap
  1. Create or sign in to a Neurosnap account.
  2. In Neurosnap's left navigation, under Home, select API Keys.
  3. Select Generate API Key, then copy the value shown under Your API Key and store it somewhere safe until you add it to RxCubed.
  4. In RxCubed, open the user menu, select Settings and then the External Services tab; add the key under Neurosnap.
  5. Keep the key private. Each run sends its selected input to Neurosnap and may use your account's credits or allowance.

Under Model, open Tool Selector, search AllMetal3D and choose AllMetal3D > neurosnap. It's a 3D convolutional neural network trained to spot metal-binding sites in a protein structure from geometry alone — it never sees a ligand, only the protein.

  • Input Structure: the raw 3HS4 mmCIF from step 2's RCSB PDB search — the same file you downloaded before doing anything to it.
  • Leave Models and Mode unchanged.

Run it, then track the job as explained in Tracking a remote job above.

Interpreting the prediction

Go to All Runs or Results Hub and open the latest AllMetal3D > neurosnap run. Open results.csv with View — one row per candidate site the model considered, in four columns: Site (a number), Identity (its best guess at what element sits there, with a confidence), Geometry (its best guess at the coordination shape), and Probability (how confident it is that this site is a real metal site at all).

Click the Probability column header to sort by it. The first click sorts ascending, so in a clean run the standout site — far more confident than the rest, which mostly read NoMetal — ends up at the bottom of the table, not the top. That row's Identity names the predicted element (for example, ZN 53.00% means zinc, at 53% confidence among the metal types it considered).

metal.pdb records that same site's predicted 3D coordinates, in the same coordinate frame as your original 3HS4 structure — a confident top-ranked prediction like this lines up almost exactly with the real zinc ion, chain A residue 301, the same site coordinated by His94, His96, and His119. An AI that was never shown the ligand still found the right site independently.

✦ Ask AI — metal site prediction

"In my latest AllMetal3D run, an AI model predicts where a metal ion binds this protein from geometry alone, with no ligand in the input. I already know the real zinc site from the crystal structure and step 5. What does an independent geometric predictor add over just looking at the structure myself, and what could it miss that the crystal structure already tells me directly?"

🧪 Predict sulfonamide pKa with Rowan

You already know acetazolamide's sulfonamide nitrogen binds the zinc directly — step 2's Ask AI question raised it, and step 5 showed you the contact itself. This exercise answers the question underneath both: at the pH inside a cell, is that nitrogen actually in the charged form that can do this? It runs on your own rowansci.com account and credits, using the cheapest of Rowan's methods.

Set up Rowan
  1. Create or sign in to a Rowan account.
  2. Open API keys and generate one; store it somewhere safe until you add it to RxCubed.
  3. In RxCubed, open the user menu, select Settings and then the External Services tab; add the key under Rowan.
  4. Keep the key private. Each run sends its selected input to Rowan and may use your account's credits or allowance.

Under Model, open Tool Selector and choose pKa prediction — the one Rowan workflow that speaks directly to this tutorial's own story.

  • Molecule: use the SMILES text input and enter acetazolamide's SMILES — the same one you checked in step 6 — instead of selecting a structure file: CC(=O)Nc1nnc(S(N)(=O)=O)s1. This is what lets starling work from connectivity alone, the cheaper option on Rowan.
  • Method: leave it at starling, the fastest of the four and the only one this tutorial needs.

Everything else can stay at its default. Run it, then track the job as explained in Tracking a remote job above, then open the result.

Interpreting the pKa result

Open pka_result.json with View. Two fields answer the question directly: strongest_acid and strongest_base — starling's own picks for the most relevant acidic and basic site, already narrowed down from every protonation state it considered (the full list, and each state's own SMILES, is in pka_sites.tsv alongside it, if you want to see how it got there).

The rule connecting a pKa to what actually happens at cell pH (7.4) is simple: a site whose pKa is above 7.4 sits mostly protonated at that pH; a site whose pKa is at or below 7.4 sits mostly deprotonated. Acetazolamide's sulfonamide nitrogen is the site that binds zinc — so strongest_acid's pKa, compared to 7.4, is the direct answer to whether it's actually in the zinc-binding form inside a cell, the same question step 2's Ask AI question raised and step 5's structure only showed you half of.

✦ Ask AI — pKa

"In my latest Rowan pKa prediction run, the sulfonamide nitrogen's strongest acidic site has a pKa value. Explain what that number means for how much of the drug is in the zinc-binding form at pH 7.4, and why that matters for how strongly it inhibits the enzyme."

If chat isn't available

Every Ask AI step is optional. If no model is configured, or you'd rather not use chat, the written instructions and Results Hub checkpoints above are enough to finish the tutorial on their own. Configure a model under Settings → Assistant whenever you want to try the chat steps.

Restarting the tutorial

Restart tutorial, on the learning-workspace banner, deletes everything you created in this walkthrough — evidence, files, runs, notes, and reports — and returns the workspace to empty so you (or someone else) can run through it again cleanly. It asks for a typed confirmation first, and it never touches your account settings, your API keys, or any research project.

When you're ready for your own research

Use Create research project on the Projects page to start a real project with your own question. Nothing you do inside the RxCubed Tutorial is copied into it — you're starting from the same empty state this tutorial did.