polyphony-vis
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.7%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: scPolyphony
- License: mit
- Language: JavaScript
- Default Branch: main
- Size: 4.28 MB
Statistics
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
polyphony-vis
This repository contains the frontend implementation for Polyphony, our interactive transfer-learning framework for reference-based single-cell data analysis.
polyphony-vis is implemented using the
Vitessce framework and its plugin APIs.
Run polyphony-vis (frontend)
In this repository, run:
sh
npm run start
Developed under Node v14.0.0 and NPM v6.14.16.
Run polyphony (backend)
Currently works with polyphony/dc09630
Setup
Clone the https://github.com/scPolyphony/polyphony repository, then:
sh
cd polyphony
git checkout dc09630
mamba env create -f environment.yml # or conda
conda activate polyphony-env
pip install -e .
mkdir data
Run
In the root of the polyphony repository, run:
sh
conda activate polyphony-env
polyphony --experiment case-1 --save --load_exist --port 7778
Documentation
Plugin file types
anndata-polyphony.zarr
Plugin view types
All plugin view types assume there are two dataset coordination scopes (named REFERENCE and QUERY).
The comparison view
Registered as qrComparisonScatterplot.
The anchor set view
Registered as qrCellSets.
The marker view
Registered as qrScores.
Status bar
App header view, provides controls for selecting anchor sets and updating the model.
Registered as qrStatus.
Plugin coordination types
anchorEditTool
Is the user currently lassoing?
Either null or 'lasso'. By default, null.
anchorEditMode
Which anchor set is the user currently editing?
By default, null.
anchorSetFocus
Which anchor set to focus? (caused by click in the Anchor Set View)
By default, null.
anchorSetHighlight
Which anchor set to highlight? (caused by hover in Anchor Set View)
By default, null.
embeddingVisible
Whether the embedding is visible in the comparison view. Intended to be used to show the reference or query only.
Boolean. By default, true.
embeddingEncoding
How to encode cells on the scatterplot?
Either 'scatterplot', 'heatmap', 'contour', 'scatterplot-and-contour'. By default, 'scatterplot'.
embeddingLinksVisible
Whether the anchor link glyphs between corresponding query and reference sets are visible.
Boolean. By default, false.
anchorSetFilter
How to sort and filter the list of anchor sets in the anchor set view.
By default, null.
presetButtonsVisible
Should the rendering preset buttons be rendered in the comparison view?
Boolean. By default, true.
embeddingLegendsVisible
Should the legends be rendered in the comparison view?
Boolean. By default, true.
debugCellTypes
Boolean. By default, false.
embeddingLinksSizeEncoding
Should the anchor link glyph line width be mapped to the anchor set score?
Either null or 'anchorSetScores'. By default, 'anchorSetScores'.
cellColorEncodingPlugin
The same idea as the built-in cellColorEncoding, but can take on the value dataset.
Either 'dataset', 'geneSelection', 'cellSetSelection'. By default, 'cellSetSelection'.
anchorApiState
Holds the state (loading, success, error) of requests to the anchor API endpoint.
Object { iteration: 1, status: 'success', message: null }.
modelApiState
Holds the state (loading, success, error) of requests to the model API endpoint.
Object { iteration: 1, status: 'success', message: null }.
Citation
To cite Polyphony in your work, please use:
bibtex
@article{cheng2022polyphony,
title = {Polyphony: an {Interactive} {Transfer} {Learning} {Framework} for {Single}-{Cell} {Data} {Analysis}},
author = {Cheng, Furui and Keller, Mark S. and Qu, Huamin and Gehlenborg, Nils and Wang, Qianwen},
journal = {OSF Preprints},
year = {2022},
month = apr,
doi = {10.31219/osf.io/b76nt},
url = {https://osf.io/b76nt/},
language = {en}
}
Notes
polyphony-vis was originally implemented as a fork of the Vitessce repository at https://github.com/ChengFR/vitessce/tree/figure-making (see https://github.com/vitessce/vitessce/compare/master...ChengFR:figure-making) before refactoring into the plugin implementation here. Some of the utility functions have been copied from Vitessce.
Citation (citation.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "Polyphony"
authors:
- family-names: "Cheng"
given-names: "Furui"
orcid: "0000-0003-2329-6126"
- family-names: "Keller"
given-names: "Mark"
orcid: "https://orcid.org/0000-0003-3003-874X"
- family-names: "Qu"
given-names: "Huamin"
orcid: "0000-0002-3344-9694"
- family-names: "Gehlenborg"
given-names: "Nils"
orcid: "https://orcid.org/0000-0003-0327-8297"
- family-names: "Wang"
given-names: "Qianwen"
orcid: "https://orcid.org/0000-0003-1728-4102"
url: "https://github.com/gosling-lang/gosling.js"
preferred-citation:
type: article
title: "Polyphony: an {Interactive} {Transfer} {Learning} {Framework} for {Single}-{Cell} {Data} {Analysis}"
authors:
- family-names: "Cheng"
given-names: "Furui"
orcid: "0000-0003-2329-6126"
- family-names: "Keller"
given-names: "Mark"
orcid: "https://orcid.org/0000-0003-3003-874X"
- family-names: "Qu"
given-names: "Huamin"
orcid: "0000-0002-3344-9694"
- family-names: "Gehlenborg"
given-names: "Nils"
orcid: "https://orcid.org/0000-0003-0327-8297"
- family-names: "Wang"
given-names: "Qianwen"
orcid: "https://orcid.org/0000-0003-1728-4102"
journal: "OSF preprint"
doi: 10.31219/osf.io/b76nt
month: 4
year: 2022
GitHub Events
Total
Last Year
Dependencies
- 2035 dependencies
- @babel/core ^7.9.0 development
- @svgr/webpack ^5.3.1 development
- babel-loader ^8.1.0 development
- babel-plugin-glsl ^1.0.0 development
- babel-plugin-named-asset-import ^0.3.6 development
- babel-preset-react-app ^9.1.2 development
- glsl-colormap ^1.0.1 development
- sass ^1.51.0 development
- @craco/craco 5.8.0
- @luma.gl/core ^8.5.10
- @material-ui/core ^4.12.3
- @material-ui/icons ^4.11.2
- @material-ui/styles ^4.11.4
- @testing-library/jest-dom ^4.2.4
- @testing-library/react ^9.3.2
- @testing-library/user-event ^7.1.2
- @turf/bbox-polygon ^6.5.0
- @turf/boolean-contains ^6.0.1
- @turf/boolean-overlap ^6.0.1
- @turf/boolean-point-in-polygon ^6.0.1
- @turf/boolean-within ^6.0.1
- @turf/centroid ^6.0.2
- @turf/helpers ^6.1.4
- colormap ^2.3.2
- concaveman ^1.2.1
- d3-array ^2.4.0
- d3-color ^1.4.0
- d3-force ^2.1.1
- d3-interpolate ^2.0.1
- d3-quadtree ^1.0.7
- d3-scale ^3.2.3
- d3-scale-chromatic ^1.5.0
- deck.gl ^8.6.8
- glslify ^7.0.0
- internmap ^2.0.3
- lodash ^4.17.21
- nebula.gl ^0.23.8
- react ^16.13.0
- react-dom ^16.13.0
- react-scripts 3.4.1
- uuid ^3.3.2
- vitessce ^1.1.21
- zarr ^0.5.1
- zustand ^3.5.10