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
Last synced: 7 months ago · JSON representation ·

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
Created about 4 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

Polyphony Interface

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. vitessce v1.1.21

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

package-lock.json npm
  • 2035 dependencies
package.json npm
  • @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