Structured Resource Names
Every record has a stable, versioned address you can put in a paper and resolve a decade later.
urn:osa:antibodies:sequence:AB-4412@2You define the data model, we run the scientific database. Every deposit gets validated, every record gets a citable address, and everything is queryable by people and agents.
The Protein Data Bank works because deposition is structured, validation is mandatory, and every record is addressable and citable. Building that takes a decade and a consortium. Most data ends up in a supplementary ZIP instead.
A DOI on a ZIP is not a queryable dataset. Reuse depends on someone reading your methods section and guessing your column names.
Without validation at deposition, missing metadata and unresolvable ontology terms only surface years later, in someone else's analysis.
Training on public data means months of scraping and normalising, with no record of what was processed by which version of which script.
Someone has to keep the server up after the postdoc leaves. Most portals die quietly, three years in.
You write a data model: schemas for your record types, validation checks, and hooks that compute derived features. Amacrin runs everything downstream of it: deposition, builds, hosting, search and APIs.
Every record has a stable, versioned address you can put in a paper and resolve a decade later.
urn:osa:antibodies:sequence:AB-4412@2Public reads by default; you decide who can deposit and who curates. ORCID all the way down, so no new accounts.
antibodies.example.orgCompute, database, image registry and TLS are ours to keep up. Push a data model; we handle the rest, and you can export everything at any time.
deploy → live in ~3 minEvery archive publishes a skill file describing what it holds and when to use it, and an MCP server exposing search, filter, fetch and export. Both regenerate on every build. An agent that queried you last week automatically picks up today's new schemas, new features and new records, without any client update.
--- name: osa-data-antibodies-example-org description: Antibody sequences with binding affinity, expression yield and target metadata. Use when answering questions like: Which antibodies against PD-1 have sub-nanomolar Kd? What VH gene families target HER2? --- ## Datasets | Schema | Records | |---------------------------|---------| | antibody-sequence@2.1.0 | 7,204 | | binding-assay@1.3.0 | 3,118 |
{
"mcpServers": {
"antibodies": {
"type": "http",
"url": "https://antibodies.example.org/mcp"
}
}
}Most work on an archive starts by narrowing it: the samples that pass QC, the assays run on one platform, the records deposited since last release. A cut is that subset, exported with its features already computed and given a permanent name you can cite.
amacrin cut antibodies \ --schema antibody-sequence@2.1.0 \ --where 'target = "PD-1" and qc.status = "pass"' \ --features affinity_kd_nM, expression_yield, embedding \ --format parquet → 12,102 of 12,481 records match → 3 features resolved from build bld_8f3a91c2 ✓ cut_2f9a80 · 1.9 GB · ready to download
Cite the cut in your methods and a reader can rebuild the identical file: same records, same feature versions. It isn't a snapshot on someone's laptop.
Query validated, typed metadata instead of parsing filenames and reading methods sections. If a field exists in the schema, you can filter on it, and every record that matched has passed the same checks.
Embeddings, QC metrics and predictions come out as columns, versioned with the build that produced them. No preprocessing pipeline to rebuild, and no ambiguity about which version you trained on.
Publish a cut as the official release and every member analyses the same rows. Re-cut when the archive grows, and diff the two to see exactly what was added or corrected.
Rows in a cut aren't anonymous. Open any one of them and you get the record behind it: the specimen, the lab, the instrument, the terms you agreed to, and what changed since. This is the difference between a dataset you can defend and a spreadsheet you inherited.
Your data model is the contract between member sites. Validation makes it real, and every site's contribution stays attributed.
A hosted archive is the product you were going to build in-house anyway. Citable records, validation your funders can point to, and no infrastructure staff on your headcount.
Turn a public data commitment, the "PDB for our platform", into a queryable resource with a real API, instead of a download page nobody returns to.
Every field has data that lives in supplementary ZIPs and personal Dropboxes. Write the data model once, and every future deposit inherits validation, citations and search.
Open Science Archive is an open source scientific data platform: deposition, validation, curation, records, search and export, with federated nodes that exchange records while preserving provenance. Amacrin is the hosting platform for OSA archives, so you can deploy a data bank for your field without operating one.
Nothing about your archive is proprietary. Export every record and feature at any time, or take the whole node in-house and run it yourself. The software is the same either way.
We're onboarding archives one field at a time. Leave your email and tell us what you'd deposit, and we'll get you a slot.
Running a consortium or a large release? Talk to us directly.