IRIDA for Developers
IRIDA is an open source application developed under the Apache 2.0 license. Developers are encouraged to contribute tools, updates, and fixes to IRIDA via our GitHub page. IRIDA includes a number of tools to allow developers to customize their IRIDA installation and data analysis to fit their needs.
Developing Pipelines For IRIDA
IRIDA encourages developers to integrate their analysis pipelines into the IRIDA system. Because IRIDA uses the Galaxy workflow management system to coordinate the execution of its analysis pipelines, custom analysis pipelines can be added to IRIDA by implementing them as a Galaxy workflow. Galaxy provides interactive tools for constructing and modifying workflows which makes it easy to convert command line tools into a visual interactive pipeline.
Pipelines added to IRIDA are able to take advantage of IRIDA’s data management features to help users load data into their pipelines. Once the user launches a pipeline, IRIDA and Galaxy manage all the background tasks to run the pipeline steps and report the results to the user.
Documentation for developing pipelines for IRIDA can be found here.
REST API
Some tools aren’t appropriate for integration with IRIDA or Galaxy such as web services, desktop applications, or command line scripts. Fortunately these tools can also be tweaked to take advantage of the data storage and management features of IRIDA. IRIDA allows developers to securely connect their tools to IRIDA using its REST API. Tools using IRIDA’s REST API will have access to any data a user can normally access through IRIDA’s web interface including projects, samples, sequencing data, analysis results, and metadata. Access to IRIDA is controlled using OAuth2, an industry standard means for verifying a user’s identity, which allows IRIDA to only expose information a user is explicitly given access to read or modify. External tools with proper access privileges are able to save their analysis results and associated metadata back into the IRIDA system.
Documentation for the REST API can be found here