Skip to content

sdhutchins/labrat

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

Releases

No releases published

Packages

No packages published

Contributors 6

Languages