Core Concepts
Across the API, there are several core concepts which map directly to the endpoints detailed below:-
Samples: A Sample is a collection of genetic sequences (reads or contigs) that can be uploaded for analysis on the One Codex platform. At this time, we support uploading both FASTA and FASTQ files, which can optionally be compressed using
gzip
. Samples are owned by a User and may be described with Metadata records (both structured and free-form), annotated with Tags, and organized and shared via Projects. - Analyses: An analysis of an uploaded Sample. Several types of Analyses are supported on the platform today, and range from metagenomic classification (example) to panels for anti-microbial resistance (example). Types of analyses currently exposed via the API include Classifications, Panels, and Alignments. More are planned for the future.
- Jobs: Analysis jobs represent an exact execution environment, analytic workflow, and accompanying reference data. Analyses are the result of a Job running against a specific Sample. All Jobs on the One Codex platform are strictly versioned and provide strong reproducibility guarantees, ensuring that an analyses of different samples can be readily compared and an analysis of the same sample can be repeated and reliably reproduced.
API Design & Accessing the API
Our API is a RESTful JSON API, and is self-described using JSON Schema. We hope that this format combined with an interactive API browser makes exploring and getting started with our API easy.
cURL
, an HTTP client library in your preferred language, our Python client library, or our command line client.
Finally, if you find any part of the docs to be outdated or unclear, please drop us a note and let us know! We’d also be grateful to hear any suggestions, requests, or other questions you have. You’re also always welcome to send us a note via the Chat button on the bottom right of these documentation pages and our API browser.