Thin Layer Chromatography Substance Identification for Lichens
TLCid is a desktop application for analyzing TLC (Thin Layer Chromatography) plates, designed specifically for identifying lichen substances. It allows you to load plate images, mark reference lines and spots, and predict substances based on Rf values against a built-in reference database.
- Multi-plate support: Analyze up to 3 TLC plates (A, B', C) side-by-side
- Rf calculation: Automatic calculation with linear interpolation calibration using reference standards
- Substance prediction: Match spots against a database of 500+ lichen substances
- Species prediction: Identify lichen species based on substance profiles
- Visual filtering: Filter predictions by genus, UV characteristics, and more
- Export: Save annotated plate images and analysis state (JSON)
- Python 3.10+
- uv (recommended) or pip
-
Clone the repository:
git clone https://github.com/reslp/tlcid.git cd tlcid -
Install dependencies:
uv sync
-
Run the application:
uv run main.py
Build a standalone .app bundle:
uv run pyinstaller tlcid.spec --cleanThe application will be at dist/TLCid.app.
Build using Docker (cross-compilation from any OS):
./build_windows_docker.shThe executable will be at dist/windows/TLCid/TLCid.exe.
Requirements:
- Docker must be running
- The build uses Wine inside a container for Windows cross-compilation
Build a Linux binary bundle using Docker:
./build_linux_docker.shThe bundle will be at dist/linux/TLCid/.
Requirements:
- Docker must be running
- Build artifacts are generated inside the container and written to the mounted project directory
- Load plate images using the "Load Image" buttons
- Set reference lines: Click and drag the green start/front lines to mark solvent boundaries
- Mark reference standards (optional): Use Atranorin/Norstictic acid spots for calibration
- Add substance spots: Click on the plate to mark spots
- View predictions: Results appear in the right panel with candidate substances
- Refine matches: Use the characteristics window to filter by genus, UV response, etc.
- Predict species: Use Analysis → Predict species to identify lichens from the substance profile
tlcid/
├── main.py # Application entry point
├── gui/ # PyQt6 interface modules
│ ├── mainwindow.py # Main analysis window
│ ├── database_window.py
│ ├── prediction_results_window.py
│ ├── settings_window.py
│ ├── species_prediction_window.py
│ └── substance_characteristics_window.py
├── tlcid_database.db # Reference substance database (picked up during release build)
├── examples/ # Sample TLC plate images
└── tlcid.spec # PyInstaller build spec
