Skip to content

Creating a new analysis type for JAMO

Andrew Tritt edited this page Jul 10, 2025 · 2 revisions

In JAMO, the term analysis is used to describe a collection of files. It stems from the idea that a data analysis pipeline produces a collection of files that should be stored together. However, there is nothing that precludes storing any collection of files together, regardless of their provenance.

Create a template

The first thing you will need to do is write a template that schematizes the metadata for the collection, the files that will be a part of the collection, and the metadata for each file in the collection. You can see an example template here.

Once you have written your template, submit a pull request to this repository with your template in the data_management/config/templates directory. Someone will review your template and help you fix any issues. Once your template is merged in, someone will upload it to the configuration directory for JAMO to use.

Submitting results

The JAMO API provides an endpoint for uploading data. We have tried to simplify this process with some classes is in the t5common package. You will need to extend the JATSubmitter abstract base class. The point of this class is to aggregate metadata and files from a directory containing your collection of files. Once you define the get_template_data method and template_name property in your JATSubmitter subclass, this JATSubmitter.submit will handle generating the payload and posting it to the correct endpoint. Here is an example of a script that extends JATSubmitter and uses it to submit results to JAMO.

Running your submitter

You will need an API token to submit to JAMO. This token should be made available to your submission script in the JAMO_TOKEN environment variable. This is actually a feature of the JAMOConnector class.

Contact your administrator for obtaining an API key.

Clone this wiki locally