Gaggle Components
Data Standards

Gaggle Development Principles

Core components

  • The core components of the Gaggle are the Boss and the Goose interfaces. Because all Geese depend on these interfaces, changes to them require changes to all Geese. Therefore, changes to these interfaces must be carefully controlled to maintain compatibility.
    • The Boss and Goose interfaces should be revised rarely and carefully.
    • The right to change core components is reserved by the Baliga Lab at ISB.
    • Feature requests for core components will be carefully considered.

Loose Coupling

  • The Gaggle is designed as a system of loosely coupled components:
    • Almost any desired functionality can be implemented as a Goose.

Data Types

  • Existing Data types:
    • name list
    • tuple
    • matrix
    • network
    • cluster
  • A few general data types are preferred over special-purpose data types.
  • Almost all biological data can be represented as one of the existing types.
  • New data types should be introduced only when necessary.

Semantic Flexibility

  • Since the Gaggle is a merely a conduit for transferring data between applications, it does not need to assign specific meaning or roles to the data.
  • Interpretting the data is left up to the user and the applications.

Open Development

  • The Gaggle is open source.
  • The source repository for the core components of the Gaggle will be maintained at ISB.
  • Permission to commit to the source repository will be granted on a case-by-case basis. Reading the source repository is open to all.
  • Contributions of code, especially new Geese, are welcome.

The Gaggle Paper

These principles are more fully explained in the Gaggle paper.

© 2006, Institute for Systems Biology, All Rights Reserved