Skip to content

Commit

Permalink
Merge pull request #42 from agduncan94/release/0.1.4
Browse files Browse the repository at this point in the history
Release/0.1.4
  • Loading branch information
agduncan94 authored Aug 15, 2019
2 parents 6f4e38c + 1397d36 commit abafaf5
Show file tree
Hide file tree
Showing 19 changed files with 865 additions and 208 deletions.
40 changes: 25 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ICGC JBrowse Plugin - Faceted Search and New Store Classes
A plugin for [JBrowse](https://jbrowse.org/) for viewing ICGC data. For any bugs, issues, or feature recommendations please create an issue through GitHub.
# ICGC JBrowse Plugin
A plugin for [JBrowse](https://jbrowse.org/) for viewing [ICGC](https://icgc.org/) data. For any bugs, issues, or feature recommendations please create an issue through GitHub.

# Installation and Setup
## 1. Install JBrowse
Expand Down Expand Up @@ -31,12 +31,12 @@ bin/prepare-refseqs.pl --fasta Homo_sapiens.GRCh37.75.dna.chromosome.1.fa.gz
Note that you can specify multiple fast in one command by doing `--fasta fasta1.fa.gz --fasta fasta2.fa.gz ...`

## 4. Adding new tracks
We have some basic example tracks in `data/tracks.conf`. You can also add new tracks by using the ICGC Dialog accessible within JBrowse.These are present in the menu under `ICGC`.
We have some basic example tracks in `data/tracks.conf`. You can also add new tracks by using the ICGC Dialog accessible within JBrowse. These are present in the menu under `ICGC`.

### A. Explore ICGC
### A. Explore donors, genes and mutations
This dialog is similar to the Exploration section of the ICGC data portal. As you apply facets on the left-hand side, updated results will be shown on the right side. You can create donor specific SSM and Gene tracks, along with ICGC-wide SSM and Gene tracks.

### B. View ICGC Projects
### B. View Projects
This dialog shows the projects present on the ICGC Data Portal. You can add SSM and Gene tracks for each project.

## 5. Run JBrowse
Expand Down Expand Up @@ -64,6 +64,9 @@ displayColumns =
```

# Available Store SeqFeature
## A note on filters
All SeqFeatures support filters as they are used in the ICGC API Documentation.

## Genes
A simple view of all genes returned by the ICGC portal for a given range of the chromosome you are looking at.

Expand Down Expand Up @@ -95,13 +98,14 @@ Example Track:
```
[tracks.ICGC_Genes]
storeClass=icgc-viewer/Store/SeqFeature/Genes
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/CanvasVariants
key=ICGC_Genes
unsafePopup=true
fmtDetailValue_annotations=function(value) { return "<div id='annotations-icgc-" + value + "'>Loading content...</div>";}
```

### Extra notes
You can also set the 'size' attribute (defaults to 1000). This is the theoretical maximum number of genes displayed at a time in JBrowse. The smaller the value, the faster JBrowse will be.
You can also set the `size` attribute (defaults to 1000). This is the theoretical maximum number of genes displayed at a time in JBrowse. The smaller the value, the faster JBrowse will be.

## SimpleSomaticMutations
A simple view of all the simple somatic mutations across all donors in the ICGC portal.
Expand Down Expand Up @@ -134,34 +138,40 @@ Example Track:
```
[tracks.ICGC_Mutations]
storeClass=icgc-viewer/Store/SeqFeature/SimpleSomaticMutations
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/CanvasVariants
key=ICGC_Mutations
unsafePopup=true
fmtDetailValue_projects=function(value) { return "<div id='projects-icgc-" + value + "'>Loading...</div>";}
fmtDetailValue_projects=function(value) { return "<div id='projects-icgc-" + value + "'>Loading content...</div>";}
```

### Extra notes
You can also set the 'size' attribute (defaults to 500). This is the theoretical maximum number of mutations displayed at a time in JBrowse. The smaller the value, the faster JBrowse will be.
You can also set the `size` attribute (defaults to 500). This is the theoretical maximum number of mutations displayed at a time in JBrowse. The smaller the value, the faster JBrowse will be.

# Menu option for searching ICGC
In the tools menu there is an option to search ICGC. This will bring up a dialog similar to the [advanced search page](https://dcc.icgc.org/search) on the ICGC portal. Here you can apply facets related to donor, gene and mutation. This will create a filtered list of matching donors, genes and mutations.
# Dynamic track generation
In the tools menu there is an option to explore ICGC. This will bring up a dialog similar to the [advanced search page](https://dcc.icgc.org/search) on the ICGC portal. Here you can apply facets related to donor, gene and mutation. This will create a filtered list of matching donors, genes and mutations.

Donors Tab:
* View donors that match the selected facets
* For each donor
* Add track for affected genes
* Add track for mutated genes
* Add track for SSMs

Genes Tab:
* View genes that match the selected facets
* Create a track of all matching genes

Mutations Tab:
* View mutations that match the selected facets
* Create a track of all matching SSMs

There is also an options to search ICGC by projects. This allows you to see all of the associated SSMs and Genes per project in one track.

# Export Types
The following export types are supported by both Genes and SSMs. To export, select `Save track data` in the track dropdown. Note that not all track information is carried over to the exported file.
* BED
* GFF3
* Sequin Table
* CSV
* Track Config

# Miscellaneous
## Advanced Usage of Tracks
You do not need to add tracks directly from the ICGC Dialog. You can also define them in the `tracks.conf` file.
Expand Down
22 changes: 17 additions & 5 deletions data/advanced-tracks.conf
Original file line number Diff line number Diff line change
@@ -1,27 +1,39 @@
[tracks.ICGC_Mutations]
storeClass=icgc-viewer/Store/SeqFeature/SimpleSomaticMutations
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/CanvasVariants
key=ICGC_Mutations
filters={"mutation":{"functionalImpact":{"is":["High"]}}}
size=300
metadata.datatype=SSM
unsafePopup=true
fmtDetailValue_projects=function(value) { return "<div id='projects-icgc-" + value + "'>Loading content...</div>";}

[tracks.ICGC_Genes]
storeClass=icgc-viewer/Store/SeqFeature/Genes
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/CanvasVariants
key=ICGC_Genes
filters={"gene":{"type":{"is":["protein_coding"]}}}
size=400
metadata.datatype=Gene
unsafePopup=true
fmtDetailValue_annotations=function(value) { return "<div id='annotations-icgc-" + value + "'>Loading content...</div>";}

[tracks.ICGC_Genes_donor_DO229446]
storeClass=icgc-viewer/Store/SeqFeature/Genes
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/CanvasVariants
key=ICGC_Genes_donor_DO229446
donor=DO229446
filters={"gene":{"type":{"is":["protein_coding"]}}}
metadata.datatype=Gene
unsafePopup=true
fmtDetailValue_annotations=function(value) { return "<div id='annotations-icgc-" + value + "'>Loading content...</div>";}

[tracks.ICGC_SSMs_donor_DO229446]
storeClass=icgc-viewer/Store/SeqFeature/SimpleSomaticMutations
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/CanvasVariants
key=ICGC_SSMs_donor_DO229446
donor=DO229446
filters={"mutation":{"functionalImpact":{"is":["High"]}}}
filters={"mutation":{"functionalImpact":{"is":["High"]}}}
metadata.datatype=SSM
unsafePopup=true
fmtDetailValue_projects=function(value) { return "<div id='projects-icgc-" + value + "'>Loading content...</div>";}
8 changes: 5 additions & 3 deletions data/tracks.conf
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
[tracks.ICGC_Mutations]
storeClass=icgc-viewer/Store/SeqFeature/SimpleSomaticMutations
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/SSMTrack
key=ICGC_Mutations
metadata.datatype=SSM
unsafePopup=true
fmtDetailValue_projects=function(value) { return "<div id='projects-icgc-" + value + "'>Loading content...</div>";}

[tracks.ICGC_Genes]
storeClass=icgc-viewer/Store/SeqFeature/icgcGenes
type=JBrowse/View/Track/CanvasVariants
type=icgc-viewer/View/Track/GeneTrack
key=ICGC_Genes
metadata.datatype=Gene
unsafePopup=true
unsafePopup=true
fmtDetailValue_annotations=function(value) { return "<div id='annotations-icgc-" + value + "'>Loading content...</div>";}
65 changes: 65 additions & 0 deletions icgc-viewer/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ table.results-table td {
padding: .2rem .4rem;
}

table.results-table th {
border: 1px solid #b3b3b3;
padding: .2rem .4rem;
}

table.results-table tr:nth-child(odd) {
background-color: #f2f2f2;
}
Expand Down Expand Up @@ -78,4 +83,64 @@ table.results-table tr:nth-child(odd) {

.dijitContentPane.dijitAccordionContainer-child.dijitAccordionContainer-dijitContentPane {
width: 100% !important;
}

.popup-dialog {
width: 80% !important;
}

.value_container.projects {
width: 100% !important;
}

.value.projects {
width: 100% !important;
padding: 0 !important;
}

.value_container.mutation_consequences {
width: 100% !important;
}

.value.mutation_consequences {
width: 100% !important;
padding: 0 !important;
}

.value_container.annotations {
width: 100% !important;
}

.value.annotations {
width: 100% !important;
padding: 0 !important;
}

.value_container.feature_sequence {
width: 100% !important;
}

.value.feature_sequence {
width: 100% !important;
padding: 0 !important;
}

.feature-detail {
width: 100% !important;
}

.popup-table {
width: 100% !important;
padding-left: 1em !important;
padding-right:1em !important;
padding-top: 0.3em !important;
}

.popup-table-header {
border: 1px solid #e6e6e6 !important;
padding: .2rem .2rem !important;
}

.feature-detail {
width: 100% !important;
}
Loading

0 comments on commit abafaf5

Please sign in to comment.