Brainstorming a Feature Set for an Open-Source LIMS

As I investigate Django, I find myself matching up features of the framework with applications I’d like to implement if I were writing my own Laboratory Information Management System (LIMS).  So far my typical cycle goes something like this:

  • Find new (to me) development framework and do a cursory investigation
  • Work through some basic tutorials
  • Choose one component of a custom LIMS that looks to be the simplest to implement with the new framework and work on it
  • Get bogged down
  • Give up

With Django, I’m at step 3 of the process.  The interesting thing this time is that I can envision solutions to writing several of the LIMS modules I have in mind, rather than a rough idea for one and a hope that I’ll figure out the rest as I go.  Maybe this time around I just “get it” a little more than with previous systems.  Perhaps I just think that I do :)

With that in mind, I’ve turned once again to brainstorming the set of features that I would like to see in a LIMS.  Even if I don’t end up writing the software myself (a likely scenario), it’s worthwhile to have the ideas out there.  Here is my list, but feel free to add any you can think of in the comments.

  • User authentication
    • Django largely takes care of this automatically
  • Manuscript repository with version control (for collaborative document writing)
  • To-Do lists/Workflow management
  • Inventory/Re-ordering management
    • Chemical locations, MSDS links
  • Wiki (with the standard Wiki history allowing for reverts)
    • I’m imagining this as being used for protocols, but it could potentially hold a lot of things
  • Literature repository (can hold actual PDFs or link to Institutional/other open Repository)
  • Calendar (group & individual, perhaps the group calendar just aggregates the others)
  • Research Image repository/browser
  • Personal blogs/microblogs
    • Could use tags/categories to separate “lab notebook” entries from other, less formal posts
  • Portal page which can serve as public lab homepage if desired
  • Grant/manuscript tracking (could be integrated with the workflow manager above)
  • Teaching material repository
  • Automated backup of data
    • Daily/weekly database & file backup
  • Instrument interface API?

That is what I can think of off the top of my head.  Now, tell me all the things I’m missing.

One that I’m aware of is integration of laboratory instruments - the ability to have an instrument dump the data directly into the LIMS.  My reason for leaving this out is that I really think this is the most complicated part.  Every instrument will have different ways of outputting data.  My most ambitious goal would be to have some sort of ability for people to write their own interface modules, which could then be added on by that particular lab.  Even this is a task that I’m not really sure how to start on.

Leave a Reply