This version introduces support for registering fields from the output of third-party analysis tools that store their results within the database. These fields can then be searched, exported, or used by other analysis tools.
BIGSdb can store the results of arbitrary analyses as JSON within the analysis_results table without requiring any understanding of what the data represent. Information from this can be extracted and formatted within an isolate information page using template files stored in /etc/bigsdb/templates or in /etc/bigsdb/dbases/{dbase_config}/templates. This is used by the rMLST species id and Kleborate plugins to store their results and make them available to everyone once these analyses have been run by anyone, or by an offline script.
It is now possible to register specific fields from this output and make them available for searching, analysis (currently only in GrapeTree), and export. To do this, you need to be able to describe the location of the field in question within the JSON field. This can be done using JSONPath, e.g. a field called ‘predicted_serotype’ at the top-level within the JSON hierarchy can be described with a JSONPath of ‘$.predicted_serotype’.
Admins can add fields by expanding the ‘Fields’ selection in the admin interface and clicking the ‘Add’ link for ‘Analysis fields’:
Enter the analysis tool name, which must match the value used within the analysis_results table, the name of the field, and its JSONPath. You also need to indicate the data type (integer, text, float, or date). Optionally you can set the analysis_display_name to change how it is listed within the query and analysis interfaces.
This will now be searchable within the isolate query interface. First you will need to select the ‘Analysis results’ form elements from the ‘Modify form’ tab.
Then select the field and the value to search on.
Full Changelog: v_1.49.1...v_1.50.0