|
1 | 1 | # MARS: Multi-omics Adapter for Repository Submissions |
2 | 2 |
|
3 | | -## Introduction |
| 3 | +**MARS** is a framework for submitting multi-omics life-science studies to multiple target repositories using the **ISA-JSON** metadata standard. |
4 | 4 |
|
5 | | -MARS is a data brokering initiative designed to facilitate the submission of multi-omics life sciences studies to [multiple specialized repositories](#isa-json-support-by-repositories). Built as a modular system, MARS enables seamless data exchange between data producers and repositories using the standardized ISA-JSON format. |
| 5 | +Full documentation and concepts are hosted on the MARS website: https://elixir-europe.github.io/MARS/ |
6 | 6 |
|
7 | | -Unlike centralized platforms, MARS functions as a common framework for decentralized data submissions while ensuring consistent interpretation and validation of ISA-JSON metadata across various repositories. This approach preserves important links between multi-omics datasets derived from the same biological source, ensuring mutual understanding and accurate data interpretation. |
8 | 7 |
|
9 | | -## Stakeholders |
| 8 | +## Key components |
10 | 9 |
|
11 | | -MARS is comprised of multiple stakeholders: the end-user, the platform that generates the ISA-JSON, target repositories and the data broker. Each represents key roles in the data submission process. Read more about it in our [stakeholders page](/stakeholders.md). |
| 10 | + |
12 | 11 |
|
13 | 12 |
|
14 | | -## Components |
| 13 | +### ISA-JSON in MARS |
15 | 14 |
|
16 | | - |
| 15 | +- How MARS uses ISA-JSON for multi-omics metadata exchange: https://elixir-europe.github.io/MARS/#isa-json-as-metadata-carrier |
| 16 | +- Human readable presentation of the MARS ISA-JSON schema: https://elixir-europe.github.io/MARS/mars-isa-json |
17 | 17 |
|
| 18 | +### Stakeholders |
18 | 19 |
|
19 | | -### ISA-JSON as metadata carrier |
| 20 | +- End-users, ISA-JSON–producing platforms, data brokers, and repositories: https://elixir-europe.github.io/MARS/stakeholders |
20 | 21 |
|
21 | | -We use [ISA-JSON](https://isatools.readthedocs.io/en/latest/isamodel.html) to store and interchange metadata between the end-user and the target repositories because: |
| 22 | +### Repository API (Adapters) |
22 | 23 |
|
23 | | -- **Standardization**: ISA-JSON follows the ISA structure (Investigation- Study - Assay), ensuring structured metadata descriptions. |
24 | | -- **Versatile**: It is not bound to any domain and can represent multi-omics experimental metadata. |
25 | | -- **Interoperability**: Since ISA-JSON follows a standard format, it facilitates interoperability between different software tools and platforms that support the ISA standard. |
26 | | -- **Community Adoption**: Widely adopted within the life sciences research community for metadata standardization. |
| 24 | +- Standard for programmatic ISA-JSON ingestion and receipt generation: https://elixir-europe.github.io/MARS/repository-services/repository-api |
| 25 | +- Java utilities—including the standard receipt model—for developers building MARS-compatible repository adapters: https://github.com/elixir-europe/mars-repository-lib |
27 | 26 |
|
28 | | -ISA-JSON is generated by [ISA-JSON producing platforms](/stakeholders.md#isa-json-producing-platforms) and serves as the metadata input for the Data Broker platform, as outlined below. |
| 27 | +### MARS-cli |
29 | 28 |
|
30 | | -### Data broker platform |
| 29 | +- Python command-line tool and library for multi omics ISA-JSON submissionsubmissions to multiple repositories: https://github.com/elixir-europe/mars-cli |
31 | 30 |
|
32 | | -A platform operated by the [Data broker](/stakeholders.md#data-broker) should: |
33 | 31 |
|
34 | | -- Accept ISA-JSON as input and submit it to target repositories without any loss of information. |
35 | | -- Extend the ISA-JSON with additional information from the repositories, such as accession numbers assigned to submitted objects. |
36 | | -- Handle error reporting efficiently. |
37 | | -- Maintain an active submission process throughout its duration (up to multiple days), including waiting for repository-side validation steps to complete. |
38 | | -- Enable secure credential management. |
39 | | -- Support data transfer via various protocols (e.g., FTP), ensuring checksum verification for data integrity. |
40 | | -- Allow the Data broker to set up a brokering account or enable end-users to create personal accounts. |
| 32 | +## Repository Structure |
41 | 33 |
|
42 | | -Examples of Data broker platforms include ARC, Galaxy, and others. |
43 | 34 |
|
44 | | - |
45 | | -### MARS-CLI |
46 | | - |
47 | | -MARS-CLI is a command-line tool (CLI) used by the Data Broker platform to handle the submission of ISA-JSON metadata to multiple repositories. It automates the submission process, updates ISA-JSON with accession numbers based on repository responses, and ensures smooth data integration. |
48 | | - |
49 | | -Built as a Python library, MARS-CLI can be integrated into web applications, ARC, Galaxy, and other platforms. The source code and documentation are available in the [mars-cli repository](https://github.com/elixir-europe/mars-cli.git). |
50 | | - |
51 | | -### ISA-JSON support by repositories |
52 | | - |
53 | | -ISA-JSON API services, also known as adapters, are being developed and deployed by the repositories that are part of the MARS initiative. This includes programmatic submission, the ingestion of ISA-JSON in order to register the metadata objects and the creation of a receipt according to the MARS [repository-api](/repository-services/repository-api.md) standard. |
54 | | - |
55 | | -Track the status of each repository here: |
56 | | - |
57 | | -| Repository | Programmatic submission | Development status | Deployed | Source code | |
58 | | -|---|---|---|---|---| |
59 | | -| [BioSamples](https://www.ebi.ac.uk/biosamples/) | yes | PoC being improved | no | [GitHub](repository-services/isajson-biosamples) | |
60 | | -| [ENA](https://www.ebi.ac.uk/ena/browser/) | yes | PoC being improved | no | [GitHub](repository-services/isajson-ena) | |
61 | | -| [MetaboLights](https://www.ebi.ac.uk/metabolights/) | yes | Proof of concept | no | | |
62 | | -| [BioStudies/ArrayExpress](https://www.ebi.ac.uk/biostudies/arrayexpress) | yes, in dev | Not started | no | | |
63 | | -| [e!DAL-PGP](https://edal-pgp.ipk-gatersleben.de/) | NA | Not started | no | | |
64 | | -| Your repository here? Join MARS! | | | | | |
65 | | - |
66 | | -## File structure in this repo |
67 | | - |
68 | | -``` |
| 35 | +```text |
| 36 | +├── docs/ |
| 37 | +│ └── ... |
69 | 38 | ├── repository-services |
70 | 39 | │ ├── isajson-biosamples/ |
71 | | -│ │── isajson-ena/ |
72 | | -│ ├── repository-api.md |
| 40 | +│ ├── isajson-ena/ |
73 | 41 | │ └── README.md |
| 42 | +├── schemas |
74 | 43 | │ └── ... |
75 | 44 | ├── test-data |
76 | 45 | │ └── ... |
77 | 46 | └── README.md |
78 | 47 | ``` |
79 | 48 |
|
| 49 | +- **docs**: Astro project powering the public MARS documentation site. |
80 | 50 | - **repository-services**: Code to deploy repository API endpoints that can accept ISAJSON. See [README](/repository-services/README.md) for deployment instructions. |
81 | | - - **repository-api.md**: Describing the receipt standard for repository APIs to follow. |
| 51 | +- **schemas**: JSON schema representation of the pydantic models used for syntactic validation of the ISA-JSON |
82 | 52 | - **test-data**: Test data to be used in a submission. |
83 | | -- **README.md**: This file |
84 | | - |
85 | | -## Acknowledgements |
| 53 | +- **README.md**: This file. |
86 | 54 |
|
87 | | -This project was initiated during the ELIXIR Europe BioHackathon 2022 and has since received continued support through subsequent ELIXIR Hackathons and the ELIXIR Data Platform WP2. |
0 commit comments