A basic science lab framework aimed at reproducibility and lab management. This package is in the very early stages of development.
- Create, list, and track/manage computational biology projects with structured templates
- Calculate solution dilutions, molarity, transmittance/absorbance conversions, and more
- Automatically organize scientific data files (FASTQ, FASTA, SAM, BAM, VCF, etc.) and others files like pictures, videos, and archives
- Archive projects and directories with timestamped backups
- Convert DNA sequences to amino acids and analyze genetic data
- Full-featured CLI for all major operations
Install from PyPI:
pip install pylabratOr install from source:
git clone https://github.com/sdhutchins/labrat.git
cd labrat
pip install .For development, install in editable mode:
pip install -e .Create a new project:
labrat project new --type computational-biology --name "KARG Analysis" \
--path ./karg_analysis --description "Analyze the KARG data"List all projects:
labrat project listArchive files or directories:
labrat archive --source ./my_project --destination ~/Archive --name "project_backup"Organize scientific data files:
labrat organize --scienceCalculate solution dilutions:
from labrat.math import dilute_stock
# Calculate final concentration
final_conc = dilute_stock(100, 2, vF=4) # Returns 50.0Manage projects programmatically:
from labrat.project import ProjectManager
# Create a new project
manager = ProjectManager('Dr. Jane Doe')
manager.new_project(
project_type='computational-biology',
project_name='KARG Analysis',
project_path='./karg_analysis',
description="Analyze the KARG data."
)
# List all projects
projects = manager.list_projects()Before running tests, ensure all dependencies are installed:
pip install -r requirements.txtOr if installing the package:
pip install .Run all tests using unittest:
python -m unittest discover -s testsOr run tests with pytest (if installed):
pytest tests/To run a specific test file:
python -m unittest tests.test_archiver
python -m unittest tests.test_file_organizer
python -m unittest tests.test_project_manager- Add a lab inventory app
- Add project report template
- Integrate exmemo
Shaurita Hutchins · @sdhutchins · 📧
If you would like to contribute to this package, install the package in development mode, and check out our contributing guidelines.