Tripal v2 Developer's Handbook

Tripal provides an Application Programming Interfaces (API) that allows developers to interact with and customize Tripal. Using the API, developers can customize the way data is presented or create custom modules that provide new or different functionality.  These custom modules can in turn be shared with the Tripal community.  The Tripal API is documented online at This document provides examples and best practices for using the Tripal API. To use the API, a knowledge of Chado and the relationships between tables is necessary.

The Tripal API divides functions into the following groups

  1. Querying/Updating/Inserting Chado records
  2. Creating Drupal nodes from content in Chado
  3. Managing jobs
  4. Managing materialized views
  5. Managing custom Chado tables

Adjusting Theme Templates

Tripal is designed such that the code that constructs the display for each page (and sub-component of a page) is housed in template files.  These template files can be edited or adjusted  to change how and which data is presented to the user.  Adjusting theming templates is the easiest way to customize Tripal. The first section in this handbook describes how to use the API to make changes to theming templates.

Creating Custom Modules

The Tripal API, in conjunction with the Drupal API allow developers to create their own modules that can "plug-in" with Tripal.  Developers may create their own modules if they desire new or different functionality.  A custom module can also be desired to house a sites "customizations." The Tripal API provides an interface for module developers to interact with the Chado database as well as the other Tripal core functions such as jobs management, materialized views, in-house vocabularies, external database cross-references, properties, etc. An understanding of the Drupal API and Drupal module development is required.

If you find details in this document lacking, please subscribe to the Tripal mailing list and let us know!