Skip to content

Commit

Permalink
Merge pull request #150 from hubmapconsortium/develop
Browse files Browse the repository at this point in the history
2.1.0
  • Loading branch information
bherr2 authored Jun 23, 2021
2 parents 6f3ac18 + c3ff757 commit 042bb25
Show file tree
Hide file tree
Showing 260 changed files with 2,929 additions and 53,445 deletions.
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Changelog

Changelog for the HuBMAP CCF ASCT+B Reporter

## 2.1.0 - 2021-06-23

### Added in 2.1.0

- Added FMA ontology term support
- Added more biomarker types (proteins and lipids)
- Added shapes to biomarkers in the visualization
- Improved parsing of the ASCT+B data tables
- Minor UI improvements / bug fixes
- Counts by organ are shown in the report tab when all organs are selected
- Added discrepency labels
- New Demo Video
- Alert users when they add a Google Sheets Share URL instead of the Browser URL
- Fixed a regression in the ASCT+B API homepage
- Duplicate ID's can be highlighed when ID duplicates toggle is on

## 2.0.0 - 2021-04-06

### Added in 2.0.0

- Redesign of the UI
- Usability refactoring through user testing
- Updated architecture with state manager
- Brand new playground feature
- Increased interactivity of the graph with into sheets and DOI
- Filtering biomarkers based on their protein type
- Improved google analytics
- Updated legend to show the values of the uploaded compare sheets
- Revamped report generator
- Documentation added in the Reporter
40 changes: 15 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,14 @@ The [CCF ASCT Reporter](https://hubmapconsortium.github.io/ccf-asct-reporter/) i

## Overview

The [CCF ASCT+B Reporter](https://hubmapconsortium.github.io/ccf-asct-reporter/) includes a partonomy tree that presents relationships between various anatomical structures and substructures, that is combined with their respective cell types and biomarkers via a bimodal network. The reporter also presents an indented list tree for a more traditional look. Along with visualizing, the reporter has a report generator that enlists various meta data for the visualized ASCT table, which is download-able. There is also an in-house debug logger that lists any issues related to the data provided in the table. The reporter is also accompanied by a backend server, ASCT+B Data Miner.
The [CCF ASCT+B Reporter](https://hubmapconsortium.github.io/ccf-asct-reporter/) includes a partonomy tree that presents relationships between various anatomical structures and substructures, that is combined with their respective cell types and biomarkers via a bimodal network. The reporter also presents an indented list tree for a more traditional look. Along with visualizing, the reporter has a report generator that enlists various meta data for the visualized ASCT table, which is download-able. There is also an in-house debug logger that lists any issues related to the data provided in the table. The reporter is also accompanied by a backend server, ASCT+B API.

## Links

- Production Site: <https://hubmapconsortium.github.io/ccf-asct-reporter/> ([staging](https://ccf-asct-reporter.netlify.app))
- Documentation: <https://hubmapconsortium.github.io/ccf-asct-reporter/docs> ([staging](https://ccf-asct-reporter.netlify.app/docs))
- ASCT+B API: <https://asctb-api.herokuapp.com/> ([staging](https://asctb-api--staging.herokuapp.com/))
- Change Log: [CHANGELOG.md](CHANGELOG.md)

## Installation

Expand All @@ -23,31 +30,20 @@ $ npm install
$ ng serve

# Miner
$ cd data-miner
$ cd asctb-api
$ npm install
$ npm start
```

## Deployment


```shell
$ git clone https://github.com/hubmapconsortium/ccf-asct-reporter
$ cd ccf-asct-reporter

# Reporter
$ npm run build
$ npm run deploy

# Miner
$ git subtree push --prefix data-miner miner master
```
Deployment is accomplished via GitHub Actions based on the branch. The `main` branch deploys to production (both the web application and ASCT+B API server) and `develop` deploys to staging.

## Details

### Currently supported ASCT Tables

Below are a list of ASCT+B tables supported by the Reporter,
Below are a list of ASCT+B tables supported by the Reporter:

- [Bone Marrow & Blood](https://docs.google.com/spreadsheets/d/1F7D0y7pNPVIR3W4LjjtIMGg7rKTOxwyjVKzS-iiffz4/edit#gid=1852470103)
- [Brain](https://docs.google.com/spreadsheets/d/1F7D0y7pNPVIR3W4LjjtIMGg7rKTOxwyjVKzS-iiffz4/edit#gid=345174398)
Expand Down Expand Up @@ -78,27 +74,21 @@ Below are a list of ASCT+B tables supported by the Reporter,

Click [here](https://ccf-asct-reporter.netlify.app/docs) to view the documentation.

### Data Miner
### ASCT+B API

The reporter is also accompanied by a backend server ASCT+B Data Miner. In the event of Google Sheets blocking requests by the Reporter or any error, the Reporter fetches the data from the Data Miner which runs a simple Node script to fetch the data from Google Sheets. By supplying the SheetId and GID to the Data Miner, the data from the flattened tables can be retrieved. If for some reason the Data Miner also fails to retrieve the data, the Reporter falls to its system cache, which contains a snapshot of the flattened tables.
The reporter is also accompanied by a backend server ASCT+B API. In the event of Google Sheets blocking requests by the Reporter or any error, the Reporter fetches the data from the ASCT+B API which runs a simple Node script to fetch the data from Google Sheets. By supplying the SheetId and GID to the ASCT+B API, the data from the flattened tables can be retrieved. If for some reason the ASCT+B API also fails to retrieve the data, the Reporter falls to its system cache, which contains a snapshot of the flattened tables.

The Miner can also be used as a stand-alone tool to retrieve the data from the flattened Google sheets. Below is the API that you'll have to use,

```
https://asctb-data-miner.herokuapp.com/v2/<sheetID>/<gid>
https://asctb-api.herokuapp.com/v2/<sheetID>/<gid>
```

This will either return the data, or will return a `500` HTTP code.

#### Deploying

Since the ASCT+B Data Miner is a dynamic script, Heroku has been used to deploy the server. Heroky is free to use for this usage. Deploying on Heroku requires the `data-miner` folder to have an additional git remote. To deploy the latest changes to the Heroku cloud,

```shell
$ git add data-miner
$ git commit -m <commit_message>
$ git subtree push --prefix data-miner miner master
```
Since the ASCT+B API is a dynamic script, Heroku has been used to deploy the server. Heroky is free to use for this usage. Deployment is accomplished via GitHub Actions based on the branch. The `main` branch deploys to production and `develop` deploys to staging.

## Screenshots of the ASCT+B Reporter

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
3 changes: 2 additions & 1 deletion data-miner/const.ts → asctb-api/const.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* tslint:disable:max-line-length */
export const PLAYGROUND_CSV = `"Anatomical Strucures, Cell Types and Biomarkers Table for *Organ Name*",,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,
Author: Joe Doe (add up to 3 authors with ORCID IDs),,,,,,,,,,,,,,,,,,,,,,,,,,,
Expand All @@ -14,4 +15,4 @@ AS/1,AS/1/LABEL,AS/1/ID,AS/2,AS/2/LABEL,AS/2/ID,AS/3,AS/3/LABEL,AS/3/ID,CT/2,CT/
AS/1,AS/1/LABEL,AS/1/ID,AS/2,AS/2/LABEL,AS/2/ID,AS/3.1,AS/3.1/LABEL,AS/3.1/ID,CT/3,CT/3/LABEL,CT/3/ID,BG/3,BG/3/LABEL,BG/3/ID,,,,,,,,,,,,,
AS/1,AS/1/LABEL,AS/1/ID,AS/2.1,AS/2/.1LABEL,AS/2/ID,AS/3.1,AS/3.1/LABEL,AS/3.1/ID,CT/4,CT/4/LABEL,CT/4/ID,BG/3,BG/3/LABEL,BG/3/ID,,,,,,,,,,,,,
AS/1,AS/1/LABEL,AS/1/ID,AS/2.1,AS/2.1/LABEL,AS/2/ID,AS/3.2,AS/3.2/LABEL,AS/3.2/ID,CT/2,CT/2/LABEL,CT/2/ID,BG/4,BG/4/LABEL,BG/4/ID,,,,,,,,,,,,,
AS/1,AS/1/LABEL,AS/1/ID,AS/2.1,AS/2.1/LABEL,AS/2/ID,AS/3.2,AS/3.2/LABEL,AS/3.2/ID,CT/3,CT/3/LABEL,CT/3/ID,BG/5,BG/5/LABEL,BG/5/ID,,,,,,,,,,,,,`
AS/1,AS/1/LABEL,AS/1/ID,AS/2.1,AS/2.1/LABEL,AS/2/ID,AS/3.2,AS/3.2/LABEL,AS/3.2/ID,CT/3,CT/3/LABEL,CT/3/ID,BG/5,BG/5/LABEL,BG/5/ID,,,,,,,,,,,,,`;
Loading

0 comments on commit 042bb25

Please sign in to comment.