Data Hub

Browse and analyze runs

Use the web app to find runs, inspect processed results, claim attribution, download files, comment, and manage run lifecycle.

ForEveryone

After instruments are uploading, the web app is where you find runs and act on them: inspect results, claim work, download files, and leave lab notes. The sections below follow the order you’ll use them in.

Orient yourself in the app

The sidebar and the home page are the two starting points for daily work.

Home lists recent runs across instruments, most recent first, with counts for today and this week at the top. Filter by date range, who ran it, and instrument-specific metadata when it’s available, then page through results. Below the runs, Home shows up to four of today’s comments; use the date picker to see comments from a different range.

datahub.example.comHome dashboard with instrument status and recent runs

Instruments in the sidebar lists five instruments, and View all opens the full list. Each instrument’s page shows the folder its watcher reads from and the file patterns it uploads, then a runs table with column filters that match the instrument type (for example wavelengths on a plate reader).

datahub.example.com/instruments/spectramax-id5-plate-readerPlate reader instrument page with the runs table and column filters

My runs lists runs you’ve claimed, so you can return to your own work without re-filtering the full dashboard.

datahub.example.com/users/3f2a9c1e-7b4d-4e0a-9c55-1d2e8f6a7b90My runs page listing runs attributed to the signed-in user

Comments lists every run comment by day. Open it from View all comments on Home. Each person’s profile page also shows the comments they wrote and the comments on runs they ran.

datahub.example.com/commentsComments page listing each run comment by day, with filters for instrument and for comments on your runs

Narrow a long run list

Home and the instrument pages share the same four controls:

  • Search runs: filters the list by run name as you type
  • Date range: presets from Today through Last 4 weeks, plus a custom range
  • Add filter: filter by run status, or turn on Show deleted runs
  • Column headers: sort by Run Started, Last Updated, size, who ran it, or any instrument-specific column

The Lab Notebook column header filters the list to runs that have a lab notebook link, or to runs that don’t.

Run Started is when the instrument acquired the run. Last Updated changes when the run’s files change, or when someone edits, claims, or comments on it, or changes its lab notebook links. The default order is newest run first. The sort order is saved in the page link, so a link you share opens with the same order.

What each run status means

A run’s status tells you how far its files have got from the instrument to the dashboard:

StatusMeaning
FailedAt least one file failed processing. The file’s row on the run page gives the reason.
StalledAt least one file has been processing for more than 20 minutes without finishing. Reprocess it to try again.
Pending uploadThe watcher found the files but hasn’t sent them yet.
UploadedThe files are in storage. Processing hasn’t started, or this instrument type has no processor.
QueuedYou chose Reprocess, and the files are waiting for a free processing slot. They start as other files finish.
ProcessingThe server is reading the files, extracting metadata, and building reports.
CompletedProcessing finished.
EmptyThe run has no files.

A run with files in several states shows the first status in this table that applies. For example, a run with one failed file and nine completed files shows Failed.

Press ⌘ K (macOS) or Ctrl K (Windows/Linux) to open global search from any page. Results are grouped into runs, files, instruments, users, and comments. That means you can also look up a colleague’s work or the text of a lab note. A file hit opens the parent run with the files table already filtered to that file.

Runs also match on their lab notebook links. Paste a notebook page’s URL to find every run linked to it, or search for a link’s label.

datahub.example.comGlobal search modal with results for runs and files

Open a run and inspect results

Each run has a details page at /instruments/your_instrument_id/runs/your_run_id. The arrows beside the run name step you to the next or previous run without going back to the list.

The top of the page lists who ran it, the number of raw files, and their total size. Below that, the Lab notebooks section links to the notebook pages for the experiment; see Link a run to its lab notebook. What you see after that depends on the instrument type and whether a processor ran:

  • Metadata tags for extracted fields, such as experiment type, wavelength, or temperature
  • Processed reports such as tables, images, PDFs, and videos, including interactive plate maps for plate readers and a video player for DishCam runs
  • A files table of everything in the run, labeled Raw or Processed, with each file’s size and status

Click a metadata tag to open the instrument’s runs table filtered to that value. For example, clicking a wavelength tag lists every run on that instrument recorded at the same wavelength.

Reports with many images, PDFs, or spectra show one item at a time. Search by filename to jump anywhere in the run, or use the arrows to step through it. The counter beside the arrows shows your position out of the total. Plate maps with more than 12 columns, such as 384-well plates, scroll sideways inside the plate.

Per-type inputs and outputs are in Instrument data preprocessing.

datahub.example.com/instruments/azure-600-gel-doc/runs/26.02.02_10.45.05Gel doc run detail with metadata badges, files table, and report preview

datahub.example.com/instruments/spectramax-id5-plate-reader/runs/260721_OD750_AAAPlate reader run detail with plate map visualization

datahub.example.com/instruments/spectramax-id5-plate-reader/runs/260710_OD595_kinetic_EEEPlate reader run detail with kinetic traces and comments

Filter the files table

The files table has separate Type and Status filters. Use them to show, for example, only failed files or only processed CSVs. Download all and the run archive include only the files the filters show.

Live file updates

While files are uploading, queued, or processing, the run page checks for updates every 5 seconds for up to 5 minutes. After that it stops and shows Stopped checking for file updates. Choose Refresh to check for another 5 minutes. Uploading or reprocessing files from the page also starts a new 5 minutes.

Claim who ran it

Use Claim on the run details page to attribute yourself. You can claim or unclaim your own user only, so nobody else can attribute a run to you. Claims show on the run and appear in “ran by” filters on Home and elsewhere. API tokens can’t claim runs; a signed-in person has to.

Asked after a download

When you download a run archive or a file from a run nobody has claimed, Data Hub asks Did you run this? in a card near the bottom of the page. Choose I ran this to claim the run, or Not me so that browser doesn’t ask about the run again. Downloading several runs from a runs list asks once about all the unclaimed ones, and I ran these claims them all.

An AI assistant connected to the MCP server learns the same thing when it downloads from an unclaimed run, so it can ask you and claim the run for you.

Link a run to its lab notebook

A run can link to the lab notebook pages for its experiment, so whoever analyzes it can read how it was set up. Any web page works, such as a Notion or Google Docs page.

On the run page, choose Add link in the Lab notebooks section, paste the page’s URL, and give it a label if you like. Without a label, the link is named after the last part of its URL, which for a Notion page is its title. Tick I ran this run to claim the run at the same time. Each link shows who added it and when; use its ⋯ menu to edit, copy, or remove it.

  • A run can have up to 20 links, but only one to each page.
  • Two URLs count as the same page when they differ only in http or https, www., a trailing slash, the part after #, or tracking parameters such as utm_source. Notion links count as the same page when they have the same page ID, so a link copied before the page was renamed still matches.
  • Anyone signed in can add, edit, or remove any link.
  • A deleted run keeps its links, but they can’t change until the run is restored.

Runs tables show each run’s first link in the Lab Notebook column, with +1, +2, and so on when there are more. Filter that column to No link to find runs that still need one. To link many runs at once, select them and choose Add notebook link; see Act on several runs at once.

Scripts can manage links through the REST API with a token that has the runs:link scope. An AI assistant connected to the MCP server can add, edit, and remove them with the add_notebook_link, update_notebook_link, and remove_notebook_link tools.

Download files

From the files table you can:

  • Preview a CSV, TSV, JSON, or other text file by clicking its row. The preview shows the first 1 MB of the file. Use the back and forward buttons to move between previewable files on the same page of the table. Download in that window saves the file
  • Select files and choose Download in the bar that appears above the files table. One file downloads directly. Two or more come as a single zip, which builds in the background like Download all
  • Choose Download all to build a zip of active files in the run, with any active file filters applied

File preview window showing the first rows of a processed CSV, with a Download button and buttons for the next and previous file

Large zips build in the background. When one isn’t ready yet, Data Hub tells you how long to wait before trying again.

Act on several runs at once

Select the checkbox on one or more run rows to open an action bar at the bottom of the list. Run rows have no buttons of their own; every run action goes through this bar.

  • I ran these: claim every selected run in one step
  • Remove my attribution: unclaim them
  • Upload: ask the watcher to upload files that are still on the instrument PC
  • Download: download a zip of each selected run
  • Reprocess: run server-side processing again, including on runs whose files have stalled
  • Add notebook link: link every selected run to the same lab notebook page. Runs that already link to it keep their link and are skipped
  • Remove notebook link: choose from the links on the selected runs, and remove them from every selected run
  • Delete: mark the selected runs deleted

Upload, Download, Reprocess, Delete, and the notebook link actions appear only when every selected run allows them. For example, Reprocess is hidden if one of the selected runs belongs to an instrument type with no processor, and the notebook link actions are hidden if a selected run is deleted. Remove notebook link also needs at least one selected run to have a link. The notebook link actions work on up to 100 runs at a time. The checkbox in the header row selects every run on the page, and Clear drops the selection.

The selection stays when you move to another page of the same results. It clears when you change the search, a filter, or the sort, so the bar never acts on runs from a list you are no longer looking at.

The files table on a run page works the same way: select files to get Upload, Dismiss, Reprocess, and Download for just those files. Its selection also clears when you change the files search, a filter, or the sort.

datahub.example.com/instruments/azure-600-gel-docRun list with several runs selected and the bulk action bar open

Comment on a run

The comments thread on run details is for lab notes and follow-ups. Comment activity can notify people who claimed the run or already commented, and clicking a comment notification scrolls to that comment. Set preferences under Settings → Notifications; see Configure notifications.

Only the author of a comment can edit it. Authors can delete their own comments, and workspace admins can delete any comment. Comments posted by a script through an API token show the token’s name with a key icon instead of a person.

datahub.example.com/instruments/azure-600-gel-doc/runs/26.02.02_10.45.05Gel doc processed image with a lab comment on the run

Reprocess or delete a run

Reprocessing runs server-side processing again. Use it after a file failed or stalled, or after an engineer fixes the code that reads a file type. The stored result doesn’t change until you reprocess.

  • On the run page, hover over a file and choose Reprocess.
  • To reprocess several files, select them in the files table and choose Reprocess in the bar.
  • To reprocess whole runs, select them in a run list and choose Reprocess in the bar.

Reprocessing sends only the original instrument files. Files Data Hub generated, such as videos, previews, and CSVs, have no Reprocess button and are rebuilt from the originals. Reprocessed files go through a queue; see How reprocessing is queued.

Delete marks the run deleted without removing stored files. To find a deleted run again, turn on Show deleted runs under Add filter, then open it and choose Restore. Anyone signed in can delete or restore a run. Files that were queued for reprocessing when the run was deleted stay queued and don’t start while the run is deleted. If you restore the run, they start as processing slots free up.

Deleting a run also cancels the uploads that were requested for its files, so the watcher stops trying to send them. Those files go back to Pending. Restoring the run doesn’t bring the requests back. Choose Upload again if you still want the files. See Request an upload.

While a run is deleted, Data Hub refuses a watcher’s reports of it, so the watcher’s new files aren’t added. After you restore the run, restart the watcher to send them. Watchers before 1.4.3 also send them when another file of the run finishes. See A run was deleted on Data Hub.

datahub.example.com/instruments/spectramax-id5-plate-reader/runs/260720_OD595_flat_BBBDeleted run page with a red banner naming who deleted it and when, and a Restore button

How reprocessing is queued

Reprocessing starts at most 10 files at a time, counted across all runs and instruments. When you choose Reprocess, each file goes into a queue:

  • A file that can start right away shows Processing.
  • A file that has to wait shows Queued. It starts when another file finishes, and files that were queued earlier start first.
  • A run with queued files shows Queued in the runs list, unless a file in it failed, stalled, is waiting to upload, or is uploaded and not yet processing.
  • If Data Hub can’t send a file to the processor, or the processor ends with an error without saving a result, the file shows Failed with a message that says so, and the next queued file starts. Reprocess the failed file to try again.
  • To take the waiting files out of the queue, choose Cancel queued at the top of the run page. Each queued file shows Failed with a message that says the reprocess was cancelled, and you can reprocess it again. Files that have already started aren’t affected.

Files that arrive from a watcher upload count toward the 10, but they start right away and never wait in the queue. A file that has been processing for more than 20 minutes without finishing stops counting, so one stuck file doesn’t hold up the queue.

A large run takes several rounds. For example, reprocessing a run of 80 files starts 10 files, and the other 70 show Queued until slots open. You can leave the page, because the queue keeps running. A queued file has no Reprocess button. An admin who runs Data Hub can change the limit with the PROCESSING_CONCURRENCY_LIMIT variable; see the web application environment variables.

If a file that the queue started never finishes, for example because Data Hub restarted just as it started the file, it shows Stalled after 20 minutes. The queue then puts it back in line once. If it stalls a second time, it stays Stalled until you reprocess it.

Request an upload

A file that the watcher found but hasn’t uploaded shows Pending. Choose Upload on that file, or select runs and choose Upload, to ask the watcher to send it. The watcher picks up the request within a minute. On instruments that upload automatically, this needs watcher 1.2.1 or later; see Roll out watcher releases.

For instruments in manual upload mode, every file waits for this approval. Dismiss tells the watcher not to upload a file. See Manage the watcher fleet.

datahub.example.com/instruments/hina-microscope/runs/20260316_101845_330Run page for a manual-upload instrument with its pending files selected and a bar offering Upload and Dismiss

Use the same data outside the UI

You can also list and fetch the same runs and files over the REST API or the Model Context Protocol (MCP) endpoint. REST needs a personal access token; scopes and creation are covered in Issue and revoke tokens. MCP clients sign in through the browser instead, and clients that support MCP Apps show the same interactive run report you see here.

On this page