Linear Analysis of Midgut (LAM) is a tool for reducing the dimensionality of microscopy image–obtained data, and for subsequent quantification of variables and object counts while preserving spatial context. LAM’s intended use is to analyze whole Drosophila melanogaster midguts or their sub-regions for phenotypical variation due to differing nutrition, altered genetics, etc. Key functionality is to provide statistical and comparative analysis of variables along the whole length of the midgut for multiple sample groups. Additionally, LAM has algorithms for the estimation of feature-to-feature nearest distances and for the detection of cell clusters, both of which also retain the regional context. LAM also approximates sample widths and can perform multivariate border-region detection on sample groups. The analysis is performed after image processing and object detection. Consequently, LAM requires coordinate data of the features as input.
LAM can be used in a Python (>=3.7, <=3.11) environment and can be found on PyPI. Recommendation is to install LAM into its own virtual environment. An easy and functional way to prepare the LAM-environment is by using the "recipe"-file, LAMenv.yml, to create a conda environment (Download Anaconda). Simply, in 'Anaconda Prompt' give the following commands using functional path (e.g. "D:\user\LAM-master\LAMenv.yml"):
conda env create -n lamenv -f="Path/To/LAM-master/LAMenv.yml"
conda activate lamenv
# [OPTIONAL]: pip install lam
As a PyPI-package, LAM can be installed with the command pip install lam
. Installing LAM enables launching the
graphical user interface (GUI) via prompt command lam-run
. However, installing this way disables direct editing of
"src/settings.py" and consequently restricts LAM to the settings available on the GUI and/or command line.
However, a separate LAM-master can be edited and then be executed in the environment with command
python "Path/To/Alternate/src/run.py"
.
LAM can alternatively be installed from command line using the 'setup.py' by giving command: python setup.py install
while located inside the LAM-master -directory. Windows-users are recommended to install Shapely>=1.7.0 from a
pre-compiled wheel found here in order to properly link GEOS and
cython. The wheel can be installed with pip install path/to/wheel.
- UPDATE, 2023: conda installations of Shapely are functional for Windows.
LAM is used by executing "src/run.py" or with console command lam-run
, both of which by default open up
the GUI. Settings can be handled through src/settings.py, but LAM also includes argument parsing for most
important settings (python src/run.py -h
or lam-run -h
). Refer to 'docs/UserManual' for additional
information.
Note that many of LAM's command line arguments are toggles that switch the settings from their default behaviour as defined in "src/settings.py". This allows for better customization when for example designing batch files (see "docs/run_split_count.bat").
# IN LAM ENVIRONMENT:
# Launch GUI with default settings
lam-run
# Project and count the dataset at given path without GUI and bypassing user prompts (Linux path).
lam-run -p ~/datasets/lam-data -o c -GD
# Perform Count, Plots and Stats using 50 bins, and on input files with column names on the third row.
lam-run -p "D:\user\LAM-master\data" -o cls -b 50 -H 2
# Launch GUI of a non-installed version of LAM and specify path to dataset
python "D:\user\LAM-master\src\run.py" -p "D:\user\LAM-master\data"
A video tutorial series on LAM can be found on YouTube here. Several modules related to forming LAM-compatible folder structures can be found here. Hietakangas lab also provides a stitching script that uses ImageJ to properly stitch tile scan images for object detection and following LAM analysis. The script can be found here.
For object segmentation and/or acquirement of label information, we also provide a wrapper package for StarDist called predictSD that includes several 3D deep learning models that have been trained on images from Aurox spinning disc confocal. The package can extract label information in a format that is directly usable by LAM.
The 'data/'-directory includes a small test dataset of two sample groups with four samples each. Note that the sample number is not enough for a proper analysis; in ideal circumstances, it is recommended that each sample group should have >=10 samples. Refer to user-manual for additional information.
- Viitanen, A., Gullmets, J., Morikka, J., Katajisto, P., Mattila, J., & Hietakangas, V. (2021). An image analysis method for regionally defined cellular phenotyping of the Drosophila midgut. Cell Reports Methods, Sep 27th. https://doi.org/10.1016/j.crmeth.2021.100059
- LAM helper modules - organize data for LAM input
- LAM tutorial videos
- predictSD - a wrapper and some models for running StarDist segmentation with LAM-compatible output
- Stitch - Tile scan image stitching
This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details
- Arto I. Viitanen - Hietakangas laboratory
- Ville Hietakangas - Hietakangas laboratory
- Jaakko Mattila - Mattila laboratory