Skip to main content

A library for multi-modal cell morphology analyses using Gromov-Wasserstein (GW) distance.

Project description

CAJAL

Build and Test codecov GitHub release (latest by date including pre-releases)

CAJAL is a Python library for multi-modal cell morphology analyses using Gromov-Wasserstein (GW) distance. Detailed information about the methods implemented in CAJAL can be found in:

K. W. Govek, P. Nicodemus, Y. Lin, J. Crawford, A. B. Saturnino, H. Cui, K. Zoga, M. P. Hart, P. G. Camara, CAJAL enables analysis and integration of single-cell morphological data using metric geometry. Nature Communications 14 (2023) 3672. DOI:10.1038/s41467-023-39424-2

Installation

CAJAL is hosted on the Python Package Index - https://pypi.org/project/cajal/

It is recommended to install CAJAL via pip, which should automatically retrieve the correct wheel for your platform and Python version. It is strongly recommended to create a virtual environment.

pip install cajal

Installation on a standard desktop computer should take a few minutes.


CAJAL can be also built from source, by cloning the Github repository.

pip install git+https://github.com/CamaraLab/CAJAL.git

To build CAJAL from source, a C++ compiler is required for the Gromov-Wasserstein computation and may be required for the potpourri3d library if the precompiled binaries are not compatible with your system. On Windows, we recommend Microsoft Visual C++ 14.0 or greater, which can be installed via the Microsoft C++ Build Tools. On Ubuntu, it requires g++ and may require the package python3.x-dev, which registers the Python header files with g++. The Unbalanced Gromov-Wasserstein module requires a Gnu C compiler, such as is available through MinGW, and a library implementing pthreads on windows.

CAJAL contains numerous dependencies which are currently hosted only on PyPI; as such, it is not possible at this time to provide a CAJAL conda package. (conda packages require all their dependencies to also be conda packages.) However, it should be possible to install CAJAL in a conda is conscious of, using a conda-managed Python installation and calling pip from within a conda environment.


The easiest way to run CAJAL is via Jupyter. Install Jupyter with

pip install notebook

Then start up Jupyter from terminal / Powershell using

jupyter notebook

Docker image

We provide a Docker image which contains CAJAL and its dependencies, cajal:latest is built on top of the Docker image tensorflow-notebook and contains numerous data science tools for further analysis of the output of CAJAL. Running the following command will launch a Jupyter notebook server on localhost with CAJAL and its dependencies installed:

docker run -it -p 8888:8888 -v C:\Users\myusername\Documents\myfolder:/home/jovyan/work camaralab/cajal:latest

The -p flag controls the port number on local host. For example, writing -p 4264:8888 will let you access the Jupyter server from 127.0.0.1:4264. The -v "bind mount" flag allows one to mount a local directory on the host machine to a folder inside the container so that you can read and write files on the host machine from within the Docker image. Here one must mount the folder on the host machine as /home/jovyan/work or /home/jovyan/some_other_folder as the primary user "jovyan" in the Docker image only has access to that directory and to the /opt/conda folder. See the Jupyter docker image documentation for more information.

Documentation

Extensive documentation, including several tutorials, can be found in CAJAL's readthedocs.io website.

New in this release

Version 1.5 of CAJAL incorporates two significant new pieces of functionality for the analysis of neuron morphology, unbalanced Gromov-Wasserstein (a matching tool which allows for partial or incomplete matches) and fused Gromov-Wasserstein (a tool which allows the incorporation of additional feature data about neuron nodes, e.g., soma or dendrite.)

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

cajal-1.5.tar.gz (360.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cajal-1.5-cp312-cp312-musllinux_1_2_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cajal-1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cajal-1.5-cp312-cp312-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cajal-1.5-cp312-cp312-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

cajal-1.5-cp311-cp311-musllinux_1_2_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cajal-1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cajal-1.5-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cajal-1.5-cp311-cp311-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cajal-1.5-cp310-cp310-musllinux_1_2_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cajal-1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cajal-1.5-cp310-cp310-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cajal-1.5-cp310-cp310-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cajal-1.5-cp39-cp39-musllinux_1_2_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

cajal-1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cajal-1.5-cp39-cp39-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

cajal-1.5-cp39-cp39-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file cajal-1.5.tar.gz.

File metadata

  • Download URL: cajal-1.5.tar.gz
  • Upload date:
  • Size: 360.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5.tar.gz
Algorithm Hash digest
SHA256 140ca377de58ee75ccfc3b7a87f10535c5830ca0bc79a81f9b0f266ca8b86d17
MD5 22a5993a84be4f0047a7decdc07d61ad
BLAKE2b-256 0b46ce3590bced637ae766cae9c412203af7d534ae281cdd0e09f527162040e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5.tar.gz:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca9bc59c4cae7d45fc1ebfb353ba68b46b450fd332ddc2f429784e7a1c4bb932
MD5 d43cb2fa6c8e40f17102c4808f63c680
BLAKE2b-256 026eedf0afe18c8b4e34ca2f0c02b6190dc05f2f2bbde1d690df9ad200604479

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f9dd15ccbf69413dbca24ff80106d2d33e523a6f88f246622160d7ba6602cb0
MD5 235b239d2814ef083c89e85f89e3322d
BLAKE2b-256 1b288d550399d408948c510a21764939093fb8427af5f408191cca858848578c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: cajal-1.5-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0478d8e47ece5bf21134caecf361bf0fe21721574796bf09f6bc19132b6156b
MD5 1db78c6aff124ebbe43404a01c0ead82
BLAKE2b-256 d78be50a6a2848d588d7276fb58fafbe54ed97e62444e8b29b619710248358bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 926b4884447bc41f91296b0f617c3123543604f457982059f0137f75386c7844
MD5 5d09f8fe87539c0170185e705580e27a
BLAKE2b-256 8dfc93098c783ea2e020a68cdad314442b3bc4d223e45bc78b8cfaa06ca03dc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp312-cp312-macosx_10_9_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d52bf9219b08acdf512066804872f5e9c7e3a97c855e6de3898734df051b460
MD5 6f1397e91c541c92ea5a10258055e709
BLAKE2b-256 7524165de9697cd7953f915ff221998eff2236a09dac3949fed46bdb260dfd4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b440b8acb2b8265069848907af9fbbcae5a947484a622617e4a8187314897f5
MD5 6c1a3a84325695abda561d2e58be666e
BLAKE2b-256 de137862f74ed733ca5ce8fa5b1d80dad7d452540b1cd8ec6b639d34a7f228f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: cajal-1.5-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e762fac8f17b68502c023740acac742cebebc7884e90d694a07d77e6056a931
MD5 3d2a1212d82400b9721cf784450b08ff
BLAKE2b-256 42464062eec345a257f5a5f8ae739f4d293dfacd56d4eb36dddbcc59401d0b07

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e31dee00dace58d27f34a11db9f4eab7b4133558bc9f7e957ac9ba788bd5a6d
MD5 45ded4f381055b7d80049f3090b4ca43
BLAKE2b-256 39dfd9223bf9378c402d80d27bd280812c5d5c964a7c0b3909e7edb3dae26870

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3182260bbaaf3d70e062c13f3fc1d868e46e454e7cd601ea32c4a3dafb8bebfd
MD5 7fa369d6ada178ead354102957483b0e
BLAKE2b-256 db2c5d1e92ed98bddabbfa8a3d06f3e707e7b8678ffb397246645e10179c300a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d210246682ea49fb449a0bde1b6db87d9b6e4a5f2ad2b4a3aaabd8c026691baa
MD5 604bbbbda38b22423f6fec8025093e76
BLAKE2b-256 364dd7dfb68604bd6a0502a9869dacfc0e076e0ae9bcc4673fee514694c120dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: cajal-1.5-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96c2d9276d7fd076e6c9eed76ddcfeabdb6b8fae2a3b2bf77f0d99a218dbbec1
MD5 cb880d9fa334392d95b0f2e11c7583ba
BLAKE2b-256 d79339b7894c947aa8dc6d367796ae70c3e5155e3bd0ccae04cb7958c90035f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f6230ffd6cace0d350b3765db8cf54411e73dfc39a6b6acd6223664086a26f85
MD5 fa97c54b3687e755361a2d27480d9264
BLAKE2b-256 ef923fb2d059e7b27aa3e60a91b9351439d11b5c9db3862e052f31071dd5d20c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: cajal-1.5-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 79084753bf2cde52782a4b7831b75bb58855888b860de0edfd75c1a3e3b2f011
MD5 2a254d8585ddb626adcc6e68ec9e0f42
BLAKE2b-256 6dcd5fc99d6a1968772caedf28a1042dbff549417c137e5412e84996a1157493

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cajal-1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4718089bab4840b902aee95ce9d74db5c53795a73c5e16a7e2943bdfccccd77b
MD5 cb5229d6faac00f21d07e6b83ab5bb8d
BLAKE2b-256 7fbdcc6214f71087820cf18eb3ddda7db9f8086b15909555bde437c83a54f120

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: cajal-1.5-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c8379e6a7d0aa72966be36c069d45d282b66393f25d48694828e01d32f159c0
MD5 9799715809191e5784375bfe009c0f50
BLAKE2b-256 308bb3f76e464782f39820ceb7ff49b70f982fec8bdd2edafdb5994b3eb6d7db

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cajal-1.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: cajal-1.5-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cajal-1.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 207c79cddf2caaea06bad31e6a705006bcb948c29841f5b97b69bd846c41b9f5
MD5 6a8456e6f48a84b9fbfb390049f9ec06
BLAKE2b-256 b87d8bbb1fc286a97307f139fb774d5bcf7becee0c973b54f242e42bbfd16c6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cajal-1.5-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: python-package.yml on CamaraLab/CAJAL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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