https://github.com/alexpreynolds/higlass-tabix-datafetcher

Provide remote access to remotely-hosted tabix files to HiGlass client applications

https://github.com/alexpreynolds/higlass-tabix-datafetcher

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.7%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Provide remote access to remotely-hosted tabix files to HiGlass client applications

Basic Info
  • Host: GitHub
  • Owner: alexpreynolds
  • License: mit
  • Language: JavaScript
  • Default Branch: main
  • Size: 485 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

higlass-tabix-datafetcher

Provide remote access to remotely-hosted tabix files to HiGlass client applications

Usage

This enables access to a web-hosted tabix file for use with the higlass-transcripts (https://github.com/higlass/higlass-transcripts) plug-in.

Register the data fetcher in your HiGlass application:

``` import register from "higlass-register"; import { TabixDataFetcher } from "higlass-tabix-datafetcher";

register ( { dataFetcher: TabixDataFetcher, config: TabixDataFetcher.config, }, { pluginType: "dataFetcher", } ); ```

Configure the HiGlass view configuration's horizontal-transcripts object with data attributes pointing to the web-hosted tabix file, along with an appropriate chromSizes file, e.g.:

{ "name": "My Transcripts", "type": "horizontal-transcripts", "uid": "my_transcripts_uid", "options": { "fontSize": 9, // font size for labels and amino acids (if available) "fontFamily": "Helvetica", "labelFontColor": "#333333", "labelBackgroundPlusStrandColor": "#ffffff", "labelBackgroundMinusStrandColor": "#ffffff", "labelStrokePlusStrandColor": "#999999", "labelStrokeMinusStrandColor": "#999999", "plusStrandColor": "#bdbfff", // color of coding parts of the exon on the plus strand "minusStrandColor": "#fabec2", // color of coding parts of the exon on the negative strand "utrColor": "#C0EAAF", // color of untranslated regions of the exons "backgroundColor": "#ffffff", // color of track background "transcriptHeight": 12, // height of the transcripts "transcriptSpacing": 2, // space in between the transcripts "name": "Gene transcripts", "maxTexts": 50, // Maximum number of labels shown on the screen "showToggleTranscriptsButton": true, // If the "Show fewer transcripts"/"Show more transcripts" is shown "trackHeightAdjustment": "automatic", // if "automatic", the height of the track is adjusted to the number of visible transcripts. "startCollapsed": false, // if true, only one transcript is shown }, "data" : { "type": "tabix", "url": "https://example.com/tabix/my_transcripts.gz", "chromSizesUrl": "https://example.com/tabix/hg38.chromSizes.gz", }, }

There should be an associated index file hosted at https://example.com/tabix/my_transcripts.gz.tbi.

The file https://example.com/tabix/my_transcripts.gz is compressed with bgzip and indexed with tabix. For example:

$ gunzip -c my_transcripts.gz | more chr1 11869 14409 DDX11L1-001 101 + ENSG00000223972.5 ENST00000456328.2 transcribed_unprocessed_pseudogene 11869,12613,13221 12227,12721,14409 . . chr1 12010 13670 DDX11L1-002 90 + ENSG00000223972.5 ENST00000450305.2 transcribed_unprocessed_pseudogene 12010,12179,12613,12975,13221,13453 12057,12227,12697,13052,13374,13670 . . chr1 14404 29570 WASH7P-001 101 - ENSG00000227232.5 ENST00000488147.1 unprocessed_pseudogene 14404,15005,15796,16607,16858,17233,17606,17915,18268,24738,29534 14501,15038,15947,16765,17055,17368,17742,18061,18366,24891,29570 . . chr1 17369 17436 MIR6859-1-001 101 - ENSG00000278267.1 ENST00000619216.1 miRNA 17369 17436 . . chr1 29554 31097 MIR1302-2HG-001 101 + ENSG00000243485.5 ENST00000473358.1 lncRNA 29554,30564,30976 30039,30667,31097 . . ...

The format of data is currently driven by the formatTranscriptData function in higlass-transcripts, where transcript metadata are stored in thirteen columns:

``` formatTranscriptData(ts) { const strand = ts[5]; const stopCodonPos = ts[12] === "." ? "." : (strand === "+" ? +ts[12] + 2 : +ts[12] - 1); const startCodonPos = ts[11] === "." ? "." : (strand === "+" ? +ts[11] - 1 : +ts[11] + 2); const exonStarts = ts[9].split(",").map((x) => +x - 1); const exonEnds = ts[10].split(",").map((x) => +x); const txStart = +ts[1] - 1; const txEnd = +ts[2] - 1;

const result = { transcriptId: this.transcriptId(ts), transcriptName: ts[3], txStart: txStart, txEnd: txEnd, strand: strand, chromName: ts[0], codingType: ts[8], exonStarts: exonStarts, exonEnds: exonEnds, startCodonPos: startCodonPos, stopCodonPos: stopCodonPos, importance: +ts[4], }; return result; } ```

The convenience script scripts/gencode_gff3_to_tabix.py makes a bgzipped tabix file and its index that can be consumed by this data fetcher, e.g.:

$ wget -qO- "https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_19/gencode.v19.annotation.gff3.gz" | gunzip -c > gencode.v19.annotation.gff3 $ scripts/gencode_gff3_to_tabix.py gencode.v19.annotation.gff3 gencode.v19.annotation.hg19.gz $ ls -l gencode.v19.annotation.hg19.gz* -rw-r--r-- 1 areynolds staff 7700441 Nov 9 17:43 gencode.v19.annotation.hg19.gz -rw-r--r-- 1 areynolds staff 197319 Nov 9 17:43 gencode.v19.annotation.hg19.gz.tbi

Owner

  • Name: Alex Reynolds
  • Login: alexpreynolds
  • Kind: user
  • Location: Seattle, WA USA
  • Company: Altius Institute for Biomedical Sciences

Pug caregiver, curler, cyclist, gardener, beginning French scholar

GitHub Events

Total
  • Push event: 2
  • Create event: 1
Last Year
  • Push event: 2
  • Create event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 12
  • Total Committers: 1
  • Avg Commits per committer: 12.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 3
  • Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alex Reynolds a****s@g****m 12

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • npm 2 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
npmjs.org: @apr144/higlass-tabix-datafetcher

Tabix Data Fetcher for HiGlass

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Last month
Rankings
Stargazers count: 11.7%
Forks count: 12.4%
Average: 21.4%
Dependent repos count: 25.1%
Dependent packages count: 36.3%
Maintainers (1)
Last synced: 11 months ago

Dependencies

package-lock.json npm
  • 311 dependencies
package.json npm
  • @esbuild-plugins/node-globals-polyfill ^0.1.1 development
  • @esbuild-plugins/node-modules-polyfill ^0.1.4 development
  • cross-env ^7.0.0 development
  • esbuild ^0.14.42 development
  • jsdom ^20.0.0 development
  • npm-run-all ^4.1.5 development
  • rimraf ^3.0.2 development
  • vite ^4.3.0 development
  • vitest ^0.23.4 development
  • @gmod/tabix ^1.5.13
  • d3-dsv ^3.0.1
  • d3-request ^1.0.6
  • d3-scale ^1.0.7
  • generic-filehandle ^3.0.1
  • higlass-register ^0.3.0
  • slugid ^3.0.0