Awesome SiLA

A curated list of awesome SiLA 2, implementations, applications, drivers, clients, devices, servers that use the SiLA 2 standard.

Contents


Introduction to SiLA 2

What is SiLA 2

SiLA (Standard in Laboratory Automation) is a global initiative aimed at standardizing connectivity and data exchange in life science lab automation. It focuses on facilitating orchestration and ensuring FAIR (Findable, Accessible, Interoperable, Reusable) data principles, thereby enhancing the user experience in laboratory software and instrumentation. This initiative is backed by leading life science companies, device manufacturers, and software suppliers worldwide.

Who Is This For

This curated list and the resources provided are designed for a wide range of users:

  • For software developers and engineers who are familiar with coding and SiLA concepts, you'll find direct links to various implementations and technical resources.
  • For scientists and laboratory personnel who are newer to software and SiLA, this document aims to provide a clear and accessible entry point into the world of laboratory automation.

Understanding SiLA 2 Components

What is a Client

Clients in the SiLA 2 ecosystem are tools used to interact with SiLA servers. Their primary functions include accessing data or controlling laboratory instrumentation. Many lab orchestration software suites incorporate SiLA clients, and continuous development is expanding their availability and capabilities.

What is a Server

Colloquially referred as "drivers", SiLA Servers are the backbone of the SiLA 2 framework. They facilitate communication between laboratory instruments and client software. Each server-client interaction is designed in accordance with the SiLA standards, ensuring consistency and reliability in lab automation.

Terminology

In line with the SiLA 2 standard terminology, the terms "SiLA Server," "SiLA Device," and "SiLA Client" are used to describe the respective components. These terms focus on what the component is, rather than how it is implemented (e.g., as a driver over an existing interface). While "Driver" can be used, our ultimate goal at SiLA is to motivate companies, both software and hardware vendors, to integrate native SiLA support into their products.

Accessing and utilizing the most of the resources available in this document will be done through websites such as GitLab/GitHub or vendor websites.

  • GitLab / GitHub Repositories: The provided GitLab / GitHub links lead to repositories containing code and documentation. For those unfamiliar with Git or GitLab / GitHub, we recommend exploring introductory guides to them, which will assist in understanding how to download repositories, navigate code, and contribute.
  • Installation and Setup: The complexity of setting up and installing these tools can vary. However an upcoming user friendly SiLA Installer project is being developed to ease the installation process for any kind of users.

We recognize the diversity in the technical background of our community and strive to make SiLA 2 as inclusive and accessible as possible. Your feedback and contributions help us bridge any gaps and improve user experience.

Implementations

Standard Implementations

  • SiLA Java Gitlab - Official Java reference implementation of the SiLA2 Standard.
  • SiLA Python Gitlab - Official Python reference implementation of the SiLA2 Standard.
  • SiLA C# Gitlab - Official C# reference implementation of the SiLA2 Standard.
  • SiLA2 Grpc Dotnet Gitlab - Platform-independent SiLA2 .NET 6 (LTS) implementation with recommended https://github.com/grpc/grpc-dotnet.
  • SiLA Tecan Gitlab - Alternative implementation of the SiLA 2 standard using .NET.
  • SiLA C++ Gitlab - Official C++ reference implementation of the SiLA2 Standard.
  • SiLA Javascript Gitlab - Official Javascript reference implementation of the SiLA2 Standard.
  • SiLA Haskell Gitlab - Official Haskell reference implementation of the SiLA2 Standard.
  • SiLA UniteLabs Gitlab - Python implementation including cloud-connectivity by UniteLabs (SiLA 2 1.1).

Clients

  • Universal SiLA Client Gitlab - Feature full client that enables scientists and non technical users to control any SiLA2 Servers in a user friendly manner through their Phone, Tablet and PC.
  • SiLA Orchestrator Github - A simple, dynamic SiLA 2 compliant client for coordinating various services.
  • SiLA 2 Manager Gitlab - Framework for laboratory automation with a modern IoT interface.
  • SiLA Box Gitlab - Manage SiLA server/client and the network configurations using a Raspberry Pi.
  • SiLA Edge Gateway Gitlab - The SiLA Edge Gateway is a middleware between SiLA Servers in the laboratory and SiLA Clients in the cloud.
  • SiLA Camunda Gitlab - Implementation allowing Camunda BPM to discover, connect to, and call SiLA Servers using the Camunda BPM Engine.
  • SiLA Browser - The new SiLA 2 Browser from UniteLabs. It allows users to discover and operate any SiLA 2 server in the same network from your web browser. A lightweight, easy to use application.
  • niceLAB - SiLA version coexistence scheduling software - A dynamic scheduling software used for controlling automated laboratory systems.
  • Workflow Automation Flowable & Camunda - In this POC it was shown how automation software can be developed with free and open source components and together with the community.
  • UniteLabs Edge Gateway - An Edge Gateway that takes every SiLA 2 Server to the cloud and makes them SiLA 2 1.1 compliant. Based on the UniteLabs SiLA 2 TypeScript implementation.

Servers

Other

  • UniteLabs Connectivity Platform - A cloud application leveraging the SiLA 2 1.1 cloud-connectivity. UniteLabs is a connectivity platform for biotech companies. UniteLabs Connect is an integration layer that connects laboratory hard- & software systems across vendor barriers and enables seamless integration within minutes. With UniteLabs Automate, users can rapidly build and deploy custom workflows to automate processes or supercharge existing lab software. It also contains a Python client library for API access.
  • Workflow Validation - This solution improves the security in handling patient DNA extracted from blood samples in a next generation sequencing workflow.
  • Mobile sealing station implemented with niceLAB - The control system of a mobile sealing station at Roche in Basel, which could be used by several labs, has been realized by using the scheduling software niceLAB from EQUIcon.
  • SiLA2 Add-On for CETONI Elements - A laboratory automation software with a powerful scripting system for device and process control.

Resources

Standard

Documentation

Examples

  • SiLA Interoperability Gitlab - This repository shall host the interoperability tests between the different implementation languages.
  • SiLA Nespresso Github - A fun implementation of a SiLA compliant server that allows clients to see available Nespresso (CH) coffees and to make a shopping list.

Tutorials

  • SiLA Training Gitlab - Repository with example implementations to be used for SiLA Training.

Contributing

Contributions in the form of "feature" requests on the Official SiLA Awesome GitLab Repository, merge requests, and general feedback are highly encouraged. The SiLA 2 Core working group will review and process your merge requests diligently. How to edit a file online on GitLab and how to create a merge request.