Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: GPL v3 Python 3 DOI

Lab-management

This work is licensed under the GPL v3 terms, which are designed to ensure that users have the freedom to run, study, share, and modify the software. Importantly, any derivative works must also be shared under the same license terms. Please check the LICENSE file for the full terms.

Please cite :
A platform for lab management, note-keeping and automation
Aubin Fleiss, Alexander S Mishin, Karen S Sarkisyan
bioRxiv 2024.07.08.602487; doi: https://doi.org/10.1101/2024.07.08.602487




1. Introduction

This repository contains a collection of bots running a variety of routine tasks on the database. Simulating assembly reactions, generating visualisations, summaries, etc. Please check the subfolders for a description of each bot.

The bots are plain python scripts, running in Docker containers.

Most bots require access to an Airtable base to work. Check the section "Creating the database" below for more information.

For some bots, additional requirements apply. You may have to create a google service account with writing permissions to a google drive folder, and/or the creation of a Benchling API key.




2. How this repository is organised

The folder synbiobot_CORE contains code shared by almost all bots and should always be downloaded.

The other folders, named synbiobot_[bot name] each contain all the code and elements necessary to run a bot. You can choose which bots to run.




3. Configuration

Creating the database

For most bots, you need to create a database with the adequate schema.
The easiest way to do that is to use our template, available from Airtable universe here.

You also need a personal access token from Airtable which you can create here.

Give the token a name, set the scope ("data.records:read", "data.records:write", "schema.bases.read"), select the base.

Click create and copy the token value for the env files.

Populating the .env files

You need to populate the environment files in the synbiobot_CORE and synbiobot_[bot name] folders.

Use the templates files provided, named "core.env.template" or "bot.env.template". Copy the template file, rename it "core.env" or "bot.env" accordingly.

Open the env file and follow the instructions for configuring the bot.

4. Running, stopping and debugging a bot

The helper script called tool_helper.sh can be used to start, stop and open a terminal inside a running Docker container.

Simply open a terminal in the directory of the repo and run this command:

./tool_helper.sh or bash tool_helper.sh

The script will first ask you which bot you wish to select.

Enter the number corresponding to the bot you want and press enter.

The script will then ask what to do with the bot: start it, stop it, enter the terminal, or quit the helper script.

Enter a number and press enter.

The helper script will then perform the seleted action on the selected bot for you.




5. Contributing

Contributions are welcome !

If you wish to contribute or debug a bot, you can use the tool scripts provided to assist you.

tool_setup_dev_envs.sh

This script automates the creation of anaconda environments and the installation of the dependencies required for developing each bot.

Run it with the command:

./tool_setup_dev_envs.sh or bash tool_setup_dev_envs.sh

tool_run_jupyter.sh

This script will ask you to select a bot. It will then activate the required conda environment, load the environment vars and start jupyter notebook for you where you can modify the code of the bot.

Run it with:

./tool_run_jupyter.sh or bash tool_run_jupyter.sh

tool_refresh_scripts.py

After you have modified and saved the jupyter notebook file(s), use this script to export recursively all jupyter notebook files as python scripts.

Run it with the command:

./tool_refresh_scripts.sh or bash tool_refresh_scripts.sh

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages