All Projects → burtonrj → CytoPy

burtonrj / CytoPy

Licence: other
A data-centric flow/mass cytometry automated analysis framework

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to CytoPy

Spectre
A computational toolkit in R for the integration, exploration, and analysis of high-dimensional single-cell cytometry and imaging data.
Stars: ✭ 31 (+14.81%)
Mutual labels:  clustering, flow-cytometry, mass-cytometry
FlowKit
FlowKit is an intuitive Python toolkit for flow cytometry analysis and visualization, with full support for the GatingML 2.0 standard and limited support for FlowJo 10 workspace files.
Stars: ✭ 67 (+148.15%)
Mutual labels:  flow-cytometry-analysis, flow-cytometry, cytometry
Micro Cluster
Run multiple micro servers and a front proxy at a time
Stars: ✭ 173 (+540.74%)
Mutual labels:  clustering
Clustering With Deep Learning
Generic implementation for clustering with deep learning : representation learning (DNN) + clustering
Stars: ✭ 236 (+774.07%)
Mutual labels:  clustering
Uci Ml Api
Simple API for UCI Machine Learning Dataset Repository (search, download, analyze)
Stars: ✭ 190 (+603.7%)
Mutual labels:  clustering
Gsdmm
GSDMM: Short text clustering
Stars: ✭ 175 (+548.15%)
Mutual labels:  clustering
Keras deep clustering
How to do Unsupervised Clustering with Keras
Stars: ✭ 202 (+648.15%)
Mutual labels:  clustering
Rayo.js
Micro framework for Node.js
Stars: ✭ 170 (+529.63%)
Mutual labels:  clustering
Machine-Learning-Algorithms
All Machine Learning Algorithms
Stars: ✭ 24 (-11.11%)
Mutual labels:  clustering
Timeseries Clustering Vae
Variational Recurrent Autoencoder for timeseries clustering in pytorch
Stars: ✭ 190 (+603.7%)
Mutual labels:  clustering
Clustering.jl
A Julia package for data clustering
Stars: ✭ 227 (+740.74%)
Mutual labels:  clustering
Pqkmeans
Fast and memory-efficient clustering
Stars: ✭ 189 (+600%)
Mutual labels:  clustering
Dcc
This repository contains the source code and data for reproducing results of Deep Continuous Clustering paper
Stars: ✭ 179 (+562.96%)
Mutual labels:  clustering
Gemsec
The TensorFlow reference implementation of 'GEMSEC: Graph Embedding with Self Clustering' (ASONAM 2019).
Stars: ✭ 210 (+677.78%)
Mutual labels:  clustering
Splitter
A Pytorch implementation of "Splitter: Learning Node Representations that Capture Multiple Social Contexts" (WWW 2019).
Stars: ✭ 177 (+555.56%)
Mutual labels:  clustering
Orange3
🍊 📊 💡 Orange: Interactive data analysis
Stars: ✭ 3,152 (+11574.07%)
Mutual labels:  clustering
Flexsearch Server
High-performance FlexSearch Server for Node.js (Cluster)
Stars: ✭ 172 (+537.04%)
Mutual labels:  clustering
Clustergrammer
An interactive heatmap visualization built using D3.js
Stars: ✭ 188 (+596.3%)
Mutual labels:  clustering
Vectorai
Vector AI — A platform for building vector based applications. Encode, query and analyse data using vectors.
Stars: ✭ 195 (+622.22%)
Mutual labels:  clustering
ml-book
Codice sorgente ed Errata Corrige del mio libro "A tu per tu col Machine Learning"
Stars: ✭ 16 (-40.74%)
Mutual labels:  clustering

CytoPy: a cytometry analysis framework for Python

PyPi Readthedocs Python Wheel Downloads License LastCommit DockerPulls DockerImageSize

Overview

In recent years there has been an explosion in Cytometry data analysis tools in the open source scientific community. This expansion is looking to soon replace traditional methods such as manual gating with sophisticated automated algorithms.

Although exciting, most of the tools and frameworks on offer are implemented in the R programming language and offer little structure and data management for those that are new to cytometry bioinformatics. This is especially difficult for those with limited experience with R and Bioconductor. We offer an alternative solution implemented in Python, a beginner friendly language that prides itself on readable syntax.

The CytoPy framework offers an object orientated design built upon mongoengine for flexible database designs that can incorporate any project, no matter how complex. CytoPy's toolkit populates this database with common data structures to represent cell populations identified in your cytometry data, whilst being algorithm agnostic and encouraging the use and comparison of multiple techniques.

Features we offer are:

  • Dynamic central document-based data repository
  • Autonomous gating with hyperparameter search and local normalisation to help with tricky batch effects
  • Global batch effect correction with the Harmony algoritm
  • Supervised classification supporting any classifier in the Scikit-Learn ecosystem
  • High dimensional clustering, including but not limited to FlowSOM and Phenograph
  • Feature extracting and selection techniques to summarise and interrogate your identified populations of interest
  • A range of utilities from sampling methods, common transformations (logicle, arcsine, hyperlog etc), and dimension reduction (including PHATE, UMAP, tSNE, PCA and KernelPCA)

To find out more and for installation instructions, please read our documentation at https://cytopy.readthedocs.io/en/latest/

CytoPy was authored by Ross Burton and the Eberl Lab at Cardiff University Infection and Immunity Research Institute

Quickstart with Docker

CytoPy has many complex dependencies, therefore we recommend that you use docker. A more thorough tutorial is currently being developed, but for those familiar with docker you can run CytoPy with the following commands:

# Clone this repository (*optional)
git clone https://github.com/burtonrj/CytoPy.git
# Navigate to where docker-compose.yml file is located and run docker compose
cd CytoPy
docker-compose up

This will launch the CytoPy docker container and a MongoDB container with mounted volumes:

  • Notebooks are stored locally at /DockerData/notebooks; edit this path in docker-compose.yml to modify where notebooks are stored on your machine
  • HDF5 files are stored locally at /DockerData/hdf; edit path as above to modify
  • MongoDB database files stored locally at /DockerData/db; edit path to modify where MongoDB files are stored

* Note, cloning the entire repo is optional, you can download the docker-compose.yml file and run this alone

Release notes

  • 2.0.2 (stable) - Bumped FlowUtils to v0.9.3 and fixed figure bug in GatingStrategy apply_to_experiment method
  • 2.0.1 (stable) - Issues #22 #23 & #24 addressed with additional test coverage
  • 2.0.0 (stable) - This new build represents a refactored framework that is not compatible with previous builds. Expanded methods and a restructured design.
  • 1.0.1 (premature) - This release corrects some major errors encountered in the flow.clustering module that was preventing clusters from being saved to the database and retrieved correctly.
  • 1.0.0 (premature) - This is the first major release of CytoPy following the early release of v0.0.1 and updated in v0.0.5 and v0.1.0. This first major release includes fundamental changes to data management and therefore is not backward compatible with previous versions.

Contributors and future directions

We are looking for open source contributors to help with the following projects:

  • Graphical user interface deployed with Electron JS to expose CytoPy to scientists without training in Python
  • Expansion of test coverage for version 2.0.0
  • CytoPySQL: a lightweight clone of CytoPy that swaps out mongoengine for PeeWee ORM, granting the use of SQLite for those that cannot host a MongoDB service on their local machine or on Mongo Atlas
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].