https://github.com/sdhutchins/labrat
A basic science lab framework aimed at reproducibility and lab management.
https://github.com/sdhutchins/labrat
genetics gui lab lab-inventory lab-management lab-report lab-website laboratory laboratory-automation labrat molecular-biology psychiatry python reproducible-research science
Last synced: 3 months ago
JSON representation
A basic science lab framework aimed at reproducibility and lab management.
- Host: GitHub
- URL: https://github.com/sdhutchins/labrat
- Owner: sdhutchins
- License: mit
- Created: 2017-08-03T21:40:40.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-20T04:28:15.000Z (over 1 year ago)
- Last Synced: 2024-01-30T04:07:40.464Z (over 1 year ago)
- Topics: genetics, gui, lab, lab-inventory, lab-management, lab-report, lab-website, laboratory, laboratory-automation, labrat, molecular-biology, psychiatry, python, reproducible-research, science
- Language: Python
- Homepage:
- Size: 223 KB
- Stars: 10
- Watchers: 4
- Forks: 6
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# labrat
[](https://app.travis-ci.com/sdhutchins/labrat)
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
```python
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.```python
# 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:
```python
from projectmanager import ProjectManagerproject_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:
```python
# 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](https://github.com/kalekundert/exmemo)## Author
Shaurita Hutchins · [@sdhutchins](https://github.com/sdhutchins)
· [:email:](mailto:[email protected])## Contributing
If you would like to contribute to this package, install the package in
development mode, and check out our [contributing
guidelines](https://github.com/sdhutchins/labrat/blob/master/CONTRIBUTING.md).## License
[MIT](https://github.com/sdhutchins/labrat/blob/master/LICENSE)