Skip to content

A basic science lab framework aimed at reproducibility and lab management.

License

Notifications You must be signed in to change notification settings

sdhutchins/labrat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cefdc39 · Dec 17, 2024
Dec 17, 2024
Dec 17, 2024
Dec 17, 2024
Nov 28, 2024
Dec 17, 2024
Sep 2, 2018
Sep 2, 2018
Oct 4, 2017
Oct 14, 2017
Dec 17, 2024
Jul 10, 2018
Nov 28, 2024
Sep 2, 2018
Dec 17, 2024

Repository files navigation

labrat

Build Status

A basic science lab framework aimed at reproducibility and lab management. This package is in the very early stages of development.

Features

  • Easily use math functions to dilute solutions, calculate molarity, etc.
  • Backup your documents using the command-line
  • Manage lab inventory using a GUI
  • Create and manage new projects using the command-line

Install

  1. Clone this repository.
  2. Change to the downloaded repository's base directory.
  3. pip install .

If you want to develop or contribute to this package, install with pip install -e .

Examples

Dilute a stock concentration

from labrat.math import dilute_stock

# Get the final concentration
dilute_stock(100, 2, **{'vF': 4})

Project Management

Create a new project using the below code. This will create a .labrat file that contains the project information for any project created.

# Create a new project
import os
from labrat.project import ProjectManager

# Initialize the ProjectManager with a username
project_manager = ProjectManager('Dr. Jane Doe')

# Create a new project
project_manager.new_project(
    project_type='computational-biology',
    project_name='KARG Analysis',
    project_path=os.getcwd(),
    description="Analyze the KARG data."
)

Archive a project:

from projectmanager import ProjectManager

project_manager = ProjectManager()
project_path = "/Users/shutchens/Documents/Git-Repos/labrat/karg_analysis"
archive_base_dir = "/Users/shutchens/Archive"

archive_dir = project_manager.archive_project(project_path=project_path, archive_base_dir=archive_base_dir)

Delete a project:

# Path to the project to delete
project_path = "/Users/shutchens/Documents/Git-Repos/labrat/karg_analysis"
archive_base_dir = "/Users/shutchens/Archive"

# Delete the project
archived_path = project_manager.delete_project(project_path, archive_base_dir)

ToDo

  • Add a lab inventory app
  • Add project report template
  • Command-line functionality
  • Integrate exmemo

Author

Shaurita Hutchins · @sdhutchins · 📧

Contributing

If you would like to contribute to this package, install the package in development mode, and check out our contributing guidelines.

License

MIT