ISA-tools / ISA-tools/isa-api

ISA-JSON validation error for JSON from createSimpleJSON documentation

Open
#480 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
48
Forks
42
PR merge metrics
No merged PRs in 30d

Description

I have installed the isa-api for the first time and tried to create a sample ISA.json file using your documentation (https://isatools.readthedocs.io/en/latest/example-createSimpleISAJSON.html). Then I tried to validate the created file accordingly:

from isatools import isajson
my_json_report = isajson.validate(open('isa.json'))

For this, I receive two errors:

2022-11-28 15:07:28,225 [ERROR]: isajson.py(check_characteristic_category_ids_usage:844) >> (E) There are characteristic categories ['#d88b6d5e-0187-4c4a-ae6b-6efc40dd2279'] used in a source or sample characteristic that have not been not declared

and

2022-11-28 15:07:28,227 [ERROR]: isajson.py(check_measurement_technology_types:1254) >> (E) Could not load configuration for measurement type 'gene sequencing' and technology type 'nucleotide sequencing'

According to my findings, the characteristicCategories for the samples are indeed missing in both the study section and in the assay section of the JSON file. Maybe you should add them in the example source code in the documentation.

To investigate the second error, I downloaded the MTBLS1 experiment as described by you (https://isatools.readthedocs.io/en/latest/importdata.html) in the JSON format. This file passes the validation. In the assay section, the "measurementType" (annotationValue : metabolite profiling) and the "technologyType" (annotationValue : NMR spectroscopy) don't produce this error. When I copy both annotationValues to the first example JSON (the one producing the error), the file suddenly passes validation. I think the problem might be with the configuration file (isaconfig_v2015_07_02.json) as the error states which I have found to describe two graphs that detail these two measurement and technology types. Where does this configuration file come from and do I need a specific new configuration file for any ISA-json file I want to validate? Or is something else the problem?

OS: Ubuntu 20.04
isatools: 0.12.2
python: 3.9.12

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the createSimpleISAJSON documentation example and reproduce validation using isajson.validate(open('isa.json')). Compare its characteristicCategories, measurementType, and technologyType with the passing MTBLS1 JSON from the importdata documentation, then investigate the referenced isaconfig_v2015_07_02.json. Done means the documented example validates and the configuration-file requirement is explained.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.