Converting between ISA format¶
The ISA API includes a set of functions to allow you to convert between
ISA formats, as well as between ISA formats. These converters can be
found in the isatools.convert
package.
Converting from ISA-Tab to ISA JSON¶
To convert from a directory ./tabdir/
containing valid ISA-Tab files
(e.g. one i_investigation.txt
file, with at least one s_...txt
and one a_...txt
files):
from isatools.convert import isatab2json
isa_json = isatab2json.convert('./tabdir/', validate_first=True, use_new_parser=True)
Tip
The conversions by default run the ISA validator to check for correctness of the input content.
To skip the validation step, set the validate_first
parameter to False
by doing something like
<converter>.convert('./my/path/', validate_first=False)
.
Tip
The conversions by default use a legacy ISA-Tab parser, which has now been replaced with a faster version.
To specify using the new parser, set the use_new_parser
parameter to True
by doing something like
isatab2json.convert('./my/path/', use_new_parser=True)
.
Converting from ISA JSON to ISA-Tab¶
To convert from an ISA JSON file, for example a file named isa.json
, one needs to provide as argument a target directory where to write out the
ISA-Tab files: in our example, this directory is ./outdir/
, Therefore, the code looks as follows:
from isatools.convert import json2isatab
with open('isa.json') as file_pointer:
json2isatab.convert(file_pointer, './outdir/')
To turn off pre-conversion validation, use [validate_first=False]{.title-ref}. By default it is set to [validate_first=True]{.title-ref}.
from isatools.convert import json2isatab
with open('isa.json') as file_pointer:
json2isatab.convert(file_pointer, './outdir/', validate_first=False)
Note
The ISA API can also convert to and from other formats for import/export to relevant databases and services. For more on those conversions, please read the sections on Importing data in ISA formats and Exporting data in ISA formats.