Getting Started With Biology Tips Cute
I keep running into people trying to set up their first Biology Tips Cute workspace and hitting the same wall within the first hour. The documentation treats you like you already know what the config files are for, which they aren't. Here's how I actually got mine working after three false starts.
What Biology Tips Cute Actually Is
It's a lightweight setup framework for biology lab workflows. Not a full lab management suite. Not a data analysis pipeline. Just the glue between your pipetting routine and your tracking software, which is why it feels like more than it actually is. People overcomplicate the initial install because they assume there are a hundred knobs to turn. There aren't. There are maybe twelve, and six of them don't matter unless you're doing multiplexed sequencing. Download the latest build from their GitHub releases page. Don't use pip install from source unless you enjoy reading dependency conflict errors at 2 AM. The prebuilt wheel has everything bundled. I run it on Ubuntu 22.04 inside a Docker container because the host dependencies bleed into other projects on the machine. That adds about twenty minutes to setup but saves you from accidentally breaking a cell culture imaging script later.
Once downloaded, extract the archive and navigate to the bin directory. Run the setup script with the default flags: ./setup.sh --mode=standard
That's it. The "advanced" flag is basically a trap. I've seen three people brick their configs with it. The default mode gives you everything you need for standard plate reader integration, liquid handler handshake, and basic metadata tagging. Skip it.
Configuring Your First Run
The config file lives at ~/.biology_tips_cute/config.yaml. Open it. You'll see a section called devices. Add your hardware there. The format is straightforward: I spent an afternoon once trying to force a Telecan multi-well washer into the config because the forum posts made it sound native. It isn't. You can talk to it through the generic serial port driver, but you lose the auto-rinse cycle tracking. The workaround was mapping the washer as a dumb serial device and logging rinse events manually in a separate CSV. Takes five extra minutes per run. Worth it if you need clean audit trails for GLP compliance. Load your sample plate layout into the platemap.json file in the samples directory. Each well gets an entry with sample ID, treatment group, and dilution factor. The system validates against common typos — swapped rows, duplicate IDs, volumes that exceed well capacity — so if you mess up the layout it tells you before you ever touch hardware.
Get the Full Details

Then run: btc run --plate=my_plate --protocol=growth_curve That triggers a standard growth curve read at thirty-minute intervals over sixteen hours. Readings go to the out/ directory as both CSV and native instrument formats. If you need raw data for downstream analysis, check the --raw flag. Without it, you only get processed absorbance values, which isn't always enough depending on what you're publishing.
Common Pitfalls
First, don't skip the calibration step on day one. The btc calibrate command aligns your pipette channel offsets against the reader's coordinate grid. I've seen labs skip this and lose whole batches because Well A3 was consistently two microliters short across every plate. Calibrating takes about eight minutes and catches most of that stuff. Second, the default log level is set to warning, which suppresses a lot of useful information. Change it to info in the config if you're debugging. You'll fill up disk space faster, but you'll actually know why something failed instead of guessing. Third, and this one bites people every time — the software assumes a single user by default. If you're on a shared machine with multiple researchers, set up individual user directories with the --user flag. Otherwise your plate history merges with someone else's and the metadata gets tangled. I fixed a two-day investigation once where three different people's growth curves were mixed into one output file because nobody had bothered with user segregation.
Known Limitations
Biology Tips Cute doesn't handle FACS data. If you need flow cytometry integration, you're looking at either a plugin that's still in beta or a completely separate toolchain. It also doesn't do live cell imaging control — only endpoint reads. The developers have said it's on the roadmap but the earliest I've seen it land is Q3 2026 at the earliest, and that's being generous. For large-scale screening operations, the single-plate bottleneck is real. The software runs one plate at a time unless you manually script parallel execution, and even then you're limited by your hardware handshake bandwidth. I manage a six-plate batch by running two instances on different logical cores with staggered start times. It's not elegant. It works.
When to Look Elsewhere
If you're doing metagenomics or need heavy computational pipelines, this isn't your tool. It's for wet lab workflow management, not data science. For that, grab something like Galaxy or a custom Nextflow setup. Biology Tips Cute is strictly about making sure your physical experiments don't produce garbage data because someone forgot to label a plate correctly. That's a real problem. Just don't expect it to do what it doesn't do.
