The Application Layer for Science

First off, welcome to the Lab7 blog!

We've seen many corporate blogs, some good, some bad, and some great. The great ones all seem to have one thing in common: a genuine desire to communicate and connect with not only their customers but the community at large.  They are at once engaging, educational, and stimulating, with posts focusing on (generally) relevant or simply fun topics that place the company's mission in a larger context.  At Lab7,  we are scientists and geeks first, so our definition of engaging and stimulating may be a little different than the general public's.  But, in the context of software and sequencing, we hope to emulate the good blogs and strive to be a great one.

To help increase our odds of success, our blog is open to all our employees.  We encourage everyone to post on what's exciting to them now, be it new science, a cool Python library, or even a philosophical discussion on our genomic relationship to Neanderthals (ok, maybe we'll do some filtering).  By opening our blog, we hope to stimulate discussion by covering a broad range of topics and engage with the community as individuals and as a company.

What's in a Name?

I'll get things started by providing the (very geeky) back story behind the company name (and shift away from the royal "we", as I take full responsibility for what follows).

Steering Abstraction Layers Steering Abstraction Layers

One of the first questions I get about Lab7 is, "Why Lab7? What's the name mean?". The answer is: "We're the application layer for science!"  (dead silence... confused looks usually follow)  Ok, if you're the one person out there who got the reference, congratulate yourself on your impressive command of geek trivia. For everyone else, here's what it means...

Computer science and software types are known for talking about software in terms of 'abstraction' layers.  In an ideal world, each layer only needs to know about how it communicates with other layers and should know nothing about how the other layers work.  The other layers are 'abstracted' by messages they can respond to. For example, if a car was a piece of software, the steering system could be one layer of abstraction.  The driver interacts with it through the steering wheel and does not care how his intentions are communicated to the wheels.  As long as the car turns when the steering wheel turns, the abstraction works.

OSI Network Layers OSI Network Layers

One of the canonical examples of a layered abstraction in computer science is the OSI Model, a model for computer networks.  The model lays out 7 different layers, each of which leverages the abilities of the layers below it.  For example, the first layer is the physical layer.  This includes the networking hardware that moves the data around.  The next layer is the data link layer.  This layer defines the basic protocol for how data is moved between nodes on a network.  The data link layer assumes a physical layer and therefore does not need to worry about, for example, wires functioning properly.   The other layers are Network, Transport, Session, Presentation, and Application.  Each layer has its responsibilities and makes guarantees to the other layers.   This allows each layer to focus on its core competency, be it data movement, data integrity, data presentation, or user-level services, without having to worry about details handled by other layers.

The seventh layer in the OSI Model is the application layer, giving Lab7 its name and also helping define our mission. As the application layer for science, our goal is to provide a solid foundation for building sequencing applications.  Our tools are designed to handle all the underlying aspects of sequencing data management, freeing up our users to focus on what matters most to them: the science.

This entry was posted in L7 Informatics News