Skip to content

schwartzlab-methods/too-many-cells-interactive

Repository files navigation

too-many-cells-interactive

About The Project

too-many-cells-interactive is an interactive visualization tool allowing users to explore cell cluster trees generated by too-many-cells.

This tool with its associated website is free and open to all users and there is no login requirement.

Documentation and Quickstart

For detailed documentation, quickstart, and tutorial, see https://schwartzlab-methods.github.io/too-many-cells-interactive.

Node information

Color changing

Pruning

Tree manipulation

Branch width adjustment

Feature overlay

Built With

Building the application for development

The fastest and easiest way to get started developing with too-many-cells-interactive is with Docker and Docker Compose. If you don't already have them on your system, please consult the relevant install guides.

To build the application for development, you will need to provision the Docker containers, compile the Typescript, and mount your cluster_tree.json and labels.csv files into the node server's static/files directory. To do so, you may simply copy them into <project-root>/node/static/files, since the the development docker-compose file mounts the host's entire node directory into the container.

  • the Docker configuration for development can be found in docker-compose.yaml. Unlike the "production" configuration, the development setup splits the javascript code into front-end (React) and back-end (Node) containers. By default, the React application will listen on port 1212. You can change this value by creating an .env file and entering your own value for REACT_PORT. There is a sample .env file called .env.sample that can serve as a basis. Both the node and react containers are configured to recompile whenever there is a code change.
  • You need to perform the feature provisioning process just once for a given dataset. After the features are in the database and files moved into the /node/static/files directory, docker-compose up is sufficient to bring up the application. If you would like to import a new set of features, the easiest way to do so is to rerun the start-and-load.sh script, which will drop your previous data from the PostgreSQL database and import new data. Your dev application will use this same data the next time you bring it up with docker-compose up.