AAGI Shared Code
  • About
  • Usage and Contributions
  • Explore Database

On this page

  • Our motivation
  • What is desk drawer code?
    • 🧑‍🍳 Attributes of desk-drawer code based on usage
    • 🥚 Attributes of desk-drawer code based on the problems it solves
    • 🧁 Attributes of desk-drawer code based on it’s outcome:
  • Our team

AAGI Shared Code Database

Our motivation

This project was motivated by our team’s desire to:

  • Reduce duplication in our coding practices
  • Offer shared resources to support growing AAGI community, especially new comers
  • Improve statistical rigour and coding practices
  • Create opportunites to connect and collaborate
  • Identify greatest code duplication/overlap for creating software

What is desk drawer code?

Desk drawer code refers to functions that have been created and reused for multiple projects. They may not be neccesarily packaged but have stood the test of successive projects. This type of code often resides in personal folders or your one’s “desk drawers” making it less accessible to others who might benefit from its use. This project is about bringing that code to one place for the benefit of the wider AAGI community.

🧑‍🍳 Attributes of desk-drawer code based on usage

Code that is:

  • in regularly use (implies is up-to-date) in your analytical workflow
  • often duplicated across projects for their usefulness
  • shared with others because it also solves a common problem
  • reused and improved over successive projects

🥚 Attributes of desk-drawer code based on the problems it solves

Code that:

  • Wrangles data that is always consistent format e.g. machine outputs, marker data into genomic related matrix
  • Checks or visualises data that has a predictable layout e.g. field/glasshouse design
  • Extracts useful components from model outputs for checking/reporting/visualising
  • Computes summary statistics from regularly used model outputs
  • Formats results nicely e.g. tables in QMD/RMD

🧁 Attributes of desk-drawer code based on it’s outcome:

  • You don’t have to write from scratch every time
  • Makes your code tidy, readable. It’s modularised
  • The workload on common tasks are reduced.

Our team

Vivi Arief headshot

Vivi Arief

Consult

Robert Armstrong headshot

Robert Armstrong

Advice

Adam Sparks headshot

Adam Sparks

Advice, Design and Development

Rose Megirian headshot

Rose Megirian

Documentation and Design

Julian Taylor headshot

Julian Taylor

Project Lead

Emi Tanaka headshot

Emi Tanaka

Project Lead

Sam Rogers headshot

Sam Rogers

Advice, Design and Development

Fonti Kar headshot

Fonti Kar

Project Lead