Skip to main content

Linear Analysis of Midgut

Project description

Linear Analysis of Midgut

---------------LAM---------------

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.

Installation

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.

Usage

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.

Run examples

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"

Related material

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.


Test data

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.


Publication

  • 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

Additional Resources

License

This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details

Authors

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

LAM-0.4.7.tar.gz (802.4 kB view details)

Uploaded Source

Built Distribution

LAM-0.4.7-py3-none-any.whl (824.4 kB view details)

Uploaded Python 3

File details

Details for the file LAM-0.4.7.tar.gz.

File metadata

  • Download URL: LAM-0.4.7.tar.gz
  • Upload date:
  • Size: 802.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.5

File hashes

Hashes for LAM-0.4.7.tar.gz
Algorithm Hash digest
SHA256 034d363a5b57ecf31982a19640a2d7c06b48f86983f2ae06d85877625941a7b0
MD5 8171792c33ee88937a2d89dccbfd0fbf
BLAKE2b-256 782b33b6237588d80bef1b35be0d9aaefbafff82aef8d3dc1f28c3c3047096f9

See more details on using hashes here.

File details

Details for the file LAM-0.4.7-py3-none-any.whl.

File metadata

  • Download URL: LAM-0.4.7-py3-none-any.whl
  • Upload date:
  • Size: 824.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.5

File hashes

Hashes for LAM-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e4c175a6474544cc86667cf51d4707733e39c74f7ba8841b1db0f6c833f936cb
MD5 30b485bdfaa5b15777ef73cf0ba56a85
BLAKE2b-256 8727605848d8e14b461342a8cf39f9e7b116a75ae0af6c53502a454c0d12edcc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page