Skip to content

Commit

Permalink
Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
shreyasun committed May 31, 2024
1 parent 1e0eb4e commit b0e5697
Show file tree
Hide file tree
Showing 20 changed files with 176 additions and 16 deletions.
16 changes: 11 additions & 5 deletions asset-manifest.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
{
"files": {
"main.css": "/sequenceTubeMap/static/css/main.629d6d93.css",
"main.js": "/sequenceTubeMap/static/js/main.ecdb9ad6.js",
"static/js/599.78b06b4b.chunk.js": "/sequenceTubeMap/static/js/599.78b06b4b.chunk.js",
"main.js": "/sequenceTubeMap/static/js/main.d737f630.js",
"static/js/635.f9175cd1.chunk.js": "/sequenceTubeMap/static/js/635.f9175cd1.chunk.js",
"static/js/599.43912877.chunk.js": "/sequenceTubeMap/static/js/599.43912877.chunk.js",
"static/js/416.eb85f570.chunk.js": "/sequenceTubeMap/static/js/416.eb85f570.chunk.js",
"static/js/366.6d7de32b.chunk.js": "/sequenceTubeMap/static/js/366.6d7de32b.chunk.js",
"static/media/query.wasm": "/sequenceTubeMap/static/media/query.447ca55ce499f5f05499.wasm",
"index.html": "/sequenceTubeMap/index.html",
"main.629d6d93.css.map": "/sequenceTubeMap/static/css/main.629d6d93.css.map",
"main.ecdb9ad6.js.map": "/sequenceTubeMap/static/js/main.ecdb9ad6.js.map",
"599.78b06b4b.chunk.js.map": "/sequenceTubeMap/static/js/599.78b06b4b.chunk.js.map"
"main.d737f630.js.map": "/sequenceTubeMap/static/js/main.d737f630.js.map",
"635.f9175cd1.chunk.js.map": "/sequenceTubeMap/static/js/635.f9175cd1.chunk.js.map",
"599.43912877.chunk.js.map": "/sequenceTubeMap/static/js/599.43912877.chunk.js.map",
"366.6d7de32b.chunk.js.map": "/sequenceTubeMap/static/js/366.6d7de32b.chunk.js.map"
},
"entrypoints": [
"static/css/main.629d6d93.css",
"static/js/main.ecdb9ad6.js"
"static/js/main.d737f630.js"
]
}
149 changes: 147 additions & 2 deletions help/help.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#### Sequence Tube Map Usage Guide
The Sequence Tube Map is used to generate visualizations of genomic sequence graphs. This guide will demonstrate how to select custom data to visualize. [You can also read this guide on Github.](https://github.com/vgteam/sequenceTubeMap/blob/master/public/help/help.md)


##### Selecting Tracks
The following procedure describes adding and updating settings of custom tracks. You can use a custom track to load your own graph file, haplotype database, or file of aligned reads.

Expand All @@ -27,5 +28,149 @@ The following procedure describes adding and updating settings of custom tracks.
* A start position and a distance (e.g. "chr1:1+100")
* A node ID anchor and a distance (e.g. "node:100+10")
![Region Input Options](helpGuideImages/img8.png)
9. Click Go to see the selected tracks render in the visualization area.
![Go Button](helpGuideImages/img9.png)
4. If simplifying the BED file chunk or graph is possible, users will see a "Simplify Off" button, which when clicked with toggle to "Simplify On". This option enables vg simplify, which would remove small snarls. This option will only appear when there aren't any reads to be displayed.
5. Click Go to see the selected tracks render in the visualization area.
![Go Button](helpGuideImages/img9.png)

##### How to make link-to-view URLs
Users can compose URLs that link to a specific view, or a visualization of genomic data. The link describes which tracks and files will be displayed.

###### Query String Encoding
The link has a [query string](https://en.wikipedia.org/wiki/Query_string#Structure) that consists of key-value pairs separated by ampersands, where the keys are not URL-econded and the values are URL-encoded.

Keys can use brackets to encode hierarchical structures such as arrays and objects.
* For arrays, put a number in brackets to assign a new value to or access a value in that entry in the array.
* For objects, put the key's name in brackets to assign a new value to or access a value in that entry in the object.

The key's name should **not** be in quotes.

Example of an array of JSON objects:

```json
[
{
"a": "b",
},
{
"c": "d",
"e": {
"f": "g"
}
}
]
```

This array's query string representation would be: `object[0][a]=b&object[1][c]=d&object[e][f]=g`.


###### Fields that can be included in the link URL:
1. `tracks`

Array of tracks. Tracks are objects consisting of `trackFile`, `trackType`, and `trackColorSettings`.

A track object in JSON format might look like this:

```json
{
"trackFile": "exampleData/internal/snp1kg-BRCA1.vg.xg",
"trackType": "graph",
"trackColorSettings": {
"mainPalette": "greys",
"auxPalette": "ygreys",
"colorReadsByMappingQuality": false
}
}
```

The collection of tracks wil be encoded as query string parameters starting with tracks.

* `trackFile`: the path (from the server working directory) or URL (any HTTP/HTTPS URL) to the track file.
* Examples:
* File in server working directory: `tracks[0][trackFile]=exampleData/internal/snp1kg-BRCA1.vg.xg`.
* HTTP/HTTPS URL: `tracks[0][trackFile]=https://public.gi.ucsc.edu/~anovak/graphs/trivial-brca1.vg`.
* `trackType`: the type of the track, which can be `graph`, `haplotype`, `read`.
* Example: `tracks[0][trackType]=graph`.
* `trackColorSettings` (optional): the color information for the track. It has subfields:
* `mainPalette` and `auxPalette` (optional): The "main" and "auxilliary" color palettes to use, respectively. The values for each palette can be a hex code starting with a `#`, or one of the premade palette names: `greys`, `ygreys`, `blues`, `reds`, `plainColors`, or `lightColors`.
* The palettes are used differently for different track types.
* Graphs: the `mainPalette` colors the primary reference path while `auxPalette` is used for the other paths.
* Haplotypes: only the `mainPalette` is used.
* Reads: the `mainPalette` colors the forward-strand reads and the `auxPalette` colors the reverse-strand reads.
* Examples:
* `tracks[0][trackColorSettings][mainPalette]=greys`.
* `tracks[0][trackColorSettings][auxPalette]=ygreys`.
* `colorReadsByMappingQuality` (optional) is a boolean value that determines if reads are colored based on their mapping quality or not. It defaults to `false`.
* Example: `tracks[0][trackColorSettings][colorReadsByMappingQuality]=true`.


2. `region`

Region coordinates. This region will be loaded in the Tube Map visualization once the link is followed. Syntax of region coordinates is documented at step 3 of
[Displaying Visualizations](#displaying-visualizations).
* Example: `region=17%3A1-100`.


3. `bedFile` (optional)

A BED file containing coordinates for regions of interest, some of which may have associated pre-extracted Tube Map views. More information on BED file structure and creation is documented [here](https://github.com/vgteam/sequenceTubeMap?tab=readme-ov-file#preparing-subgraphs-in-advance).
* Examples:
* File in server working directory: `bedFile=exampleData/internal/snp1kg-BRCA1.bed`.
* HTTP/HTTPS URL: `bedFile=https://raw.githubusercontent.com/vgteam/sequenceTubeMap/ca4f2485231ee4182173bec19489ba940b27461a/exampleData/cactus.bed`.
* No BED file: `bedFile=none`.

4. `dataType`

Information about the type of data. Data can be `built-in`, `mounted files`, or synthetic `examples`.
* `built-in`: Predefined data sources from the server configuration file. If the `dataType` field is set to `built-in`, you should set the `name` field to the name of a data source defined in `DATA_SOURCES` in `config.json`.
* `mounted files`: If the `dataType` field is set to `mounted files`, the `name` field must be set to `custom`, and you should provide custom tracks along with an optional `bedFile`.
* Examples:
* `dataType=built-in`.
* `dataType=mounted%20files`.

5. `simplify`

Whether small snarls (e.g. single base indels and SNPs) are displayed or removed. It defaults to false, which means that the small snarls are not removed. Currently, this option cannot be used if there are any read tracks.
* Example: `simplify=false`.

6. `name`

Name of data. This is a field that indicates the name of preset data, which is defined in `DATA_SOURCES` in `config.json`. `name` is used when `dataType` is set to `built-in`. You do not have to use these presets. If `dataType` is `mounted files`, this field should be set to `custom`.
* Examples:
* `name=snp1kg-BRCA1`.
* `name=custom`.


Examples of links:
* Link with preexisting data:

```
http://127.0.0.1:3001?
tracks[0][trackFile]=exampleData%2Finternal%2Fsnp1kg-BRCA1.vg.xg&
tracks[0][trackType]=graph&tracks[0][trackColorSettings][mainPalette]=greys&
tracks[0][trackColorSettings][auxPalette]=ygreys&
tracks[1][trackFile]=exampleData%2Finternal%2FNA12878-BRCA1.sorted.gam&
tracks[1][trackType]=read&bedFile=exampleData%2Finternal%2Fsnp1kg-BRCA1.bed&
name=snp1kg-BRCA1&
region=17%3A1000-1200&
dataType=built-in&
simplify=false
```
* Link with custom data:

```
http://127.0.0.1:3001?
tracks[1][trackType]=graph&
tracks[1][trackColorSettings][mainPalette]=%23000000&
tracks[1][trackColorSettings][auxPalette]=greys&
tracks[1][trackColorSettings][colorReadsByMappingQuality]=false&
tracks[1][trackFile]=exampleData%2Fcactus.vg&
tracks[2][trackType]=read&
tracks[2][trackColorSettings][mainPalette]=blues&
tracks[2][trackColorSettings][auxPalette]=reds&
tracks[2][trackColorSettings][colorReadsByMappingQuality]=false&
tracks[2][trackFile]=exampleData%2Fcactus0_10.sorted.gam&
bedFile=none&
region=ref%3A2000-3000&
dataType=mounted%20files&
simplify=false
```
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/sequenceTubeMap/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><title>Sequence Tube Map</title><script defer="defer" src="/sequenceTubeMap/static/js/main.ecdb9ad6.js"></script><link href="/sequenceTubeMap/static/css/main.629d6d93.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/sequenceTubeMap/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><title>Sequence Tube Map</title><script defer="defer" src="/sequenceTubeMap/static/js/main.d737f630.js"></script><link href="/sequenceTubeMap/static/css/main.629d6d93.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
2 changes: 1 addition & 1 deletion static/css/main.629d6d93.css.map

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions static/js/366.6d7de32b.chunk.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions static/js/366.6d7de32b.chunk.js.LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
1 change: 1 addition & 0 deletions static/js/366.6d7de32b.chunk.js.map

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions static/js/416.eb85f570.chunk.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions static/js/599.43912877.chunk.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions static/js/599.43912877.chunk.js.map

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions static/js/599.78b06b4b.chunk.js

This file was deleted.

1 change: 0 additions & 1 deletion static/js/599.78b06b4b.chunk.js.map

This file was deleted.

2 changes: 2 additions & 0 deletions static/js/635.f9175cd1.chunk.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions static/js/635.f9175cd1.chunk.js.map

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions static/js/main.d737f630.js

Large diffs are not rendered by default.

File renamed without changes.
1 change: 1 addition & 0 deletions static/js/main.d737f630.js.map

Large diffs are not rendered by default.

3 changes: 0 additions & 3 deletions static/js/main.ecdb9ad6.js

This file was deleted.

1 change: 0 additions & 1 deletion static/js/main.ecdb9ad6.js.map

This file was deleted.

Binary file added static/media/query.447ca55ce499f5f05499.wasm
Binary file not shown.

0 comments on commit b0e5697

Please sign in to comment.