Coder Social home page Coder Social logo

igvteam / spacewalk Goto Github PK

View Code? Open in Web Editor NEW
10.0 5.0 1.0 124.58 MB

SpaceWalk is an application for displaying and interacting with super-resolution chromatin tracing data in 3D. SpaceWalk includes igv.js and juicebox.js instances for rapid and intuitive visual comparison and interaction between 3D data and 1D genomic data.

License: MIT License

CSS 4.08% HTML 8.45% JavaScript 65.60% GLSL 0.42% SCSS 21.46%

spacewalk's Introduction

SpaceWalk

spacewalk

SpaceWalk is an application for displaying and interacting with super-resolution chromatin tracing data in 3D. SpaceWalk includes igv.js and juicebox.js instances for rapid and intuitive visual comparison and interaction between 3D data and 1D genomic data.

Requirements

  • Node >= v10.13.0
  • NPM >= v6.9.0

Supported Browsers

SpaceWalk require a modern web browser with support for Javascript ECMAScript 2015.

Installation

  • Clone this repository.
git clone [email protected]:igvteam/spacewalk.git
  • Install
npm install

Build the app

npm run build

Run the app

npm run start
  • Open a browser and enter the follow url to run the app
localhost:8080/index.html

Getting Started

After launching the app. You will see a blank 3D space. Use one of the dropdown menus in the navbar to load either a point cloud or a segment list dataset.

file load

SpaceWalk supports loading files of various types:

  • Point Cloud - Each file contains a list of point clusters. Each cluster corresponds to a genomic range.
  • Segment List - Each file contains a list of traces. Each trace contains a list of segments. Each segment is a genomic range.
  • IGV Tracks - Track files consumed by the IGV panel. Refer to the track section of the igv.js wiki
  • Juicebox Contact Maps - Refer to the Aiden Lab website for details.

Three rendering styles are supported. All rely on the use of color to map genomic location to 3D.

Noodle

A tube is rendered that interpolates between a list of chromatin centroids. Color along the length of the tube corresponds to genomic location. The genomic navigator - described above - is used to identify and highlight genomic regions.

noodle render style

Ball & Stick

A list of chromatin centroids are rendered as balls. Each ball is colored according to it's genomic location. Sticks (cylinders) connect balls in the order they appear in the genomic range. The genomic navigator - described above - is used to identify each ball and highlight genomic regions. Alternatively, mouse over a ball to see it's genomic location in the genomic navigator's color ramp.

ball & stick render style

Point Cloud

Centroid point clouds are rendered as 3D points. Points associated with a particular genomic range are colored based on the genomic navigator color ramp. Mouse over the genomic navigator to isolate clusters of points for that genomic range.

point cloud render style

Click the gear icon at upper left to show/hide a panel. Panels can be repositioned by dragging.

spacewalk panels

These task-specific interaction panels support analysis of the 3D data.

spacewalk panels

The panels include:

  • Trace Select. A widget to navigate between the set of traces that comprise an ensemble.

  • Genomic Navigator. The genomic range for a given trace is represented by a color ramp. Mouse over this color ramp to highlight the corresponding genomic location in the 3D trace structure.

    • Noodle highlighting. A sub-section of the noodle corresponding to the genomic region is isolated

    genomic navigator noodle

    • Ball & Stick highlighting. The ball corresponding to the genomic region is highlighted.

    genomic navigator ball & stick

    • Point Cloud highlighting. The point cloud cluster corresponding to the genomic region remains colored all other clusters are deemphasized. The size of the highlight in the genomic navigator corresponds to the relative size of the genomic region.

    genomic navigator point cloud

  • IGV. A fully functional IGV.js application. The app has been extended to enable interaction with the 3D model. On the left, mousing across a track behaves similar to the genomic navigator. On the right we have selected a track. The features are automatically mapped to the 3D model. Now mousing across the mapped track shows a sliding red ring on the 3D model indicating genomic location.

igv genomic navigator

  • Juicebox. A fully functional Juicebox.js application. The app has been extended to enable interaction with the 3D model. Mouse over the contact map to highlight the corresponding genomic locations on the 3D model.

juicebox genomic navigator

  • Distance Map. An ensemble level and trace level distance map created on the fly when an ensemble file is loaded.

  • Contact Frequency Map. An ensemble level and trace level contact frequency map created on the fly when an ensemble file is loaded.

spacewalk's People

Contributors

helgathorv avatar jrobinso avatar turner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

ss6025

spacewalk's Issues

Point cloud format

A question came up as to the format for point cloud; can this be explained in the README? Or is there other documentation or tutorials? If so can it be linked?

Trace number

Hi Team,

A tiny issue - My *.sw file has six traces, starting from trace 0. At the top, spacewalk has this box that tells the trace number out of how many traces in total. For this file, it shows '0 out of 6'. But it should start from one, that is, the first trace should be '1 out of 6'. Currently, the last trace will be '5 out of 6'.

Thank you,
Guy

Gray localizations hiding highlighted localizations

Hi @turner,

I have a point cloud sw file and I'm looking at the localizations in my traces. When I'm trying to look at one segment of the trace the other localizations are shown in gray. However, these gray localizations are 'hiding' my highlighted localizations. I think, you should have the option to not show the not-selected localizations or have them transparent.

Thank you,
Guy

Incorrect behavior when loading a local bed file into IGV

Hi, I ran into an issue when loading a local bed file onto IGV where the color-coded annotations specified in the bed file aren't displaying correctly. It seems that one chromosome is highlighted in gray and the rest of the chromatin is shaded blue. I'm using this shared session:

https://aidenlab.org/spacewalk/?spacewalkSessionURL=blob:dVTbbpwwEP0XPwNrgzGwUtWHpI2aXhI1VV6qKjLGsG69NjFms5so_96xN2kjkYBk4XNmztxsHtDsNFqjjffjtF6t7u7uss7ZsbX7TNjtalo1rRi66Q.bqbpVGJBRS2lu.lnrTJlO7mWXCdO17zv9DqMEaSvmCa0fkNg4EIaVADpIY7dKXHnuPFqTf8AH06F1ThscHvKYIO.4kJ_lAVyDmhp2l9xIDY5eAmaskQA7CZHdlT_oAB536RS2qVNtaw3YjMHvWk2qVVr5Q0jp09l1VAsFq66Twex8VkJCuQviVE2eGyG_8nHBnVjjufAfnbydpRGHpQ2UMkCF1rzM4L_AkTux2rqQmDv2JK4trMHb2dl0lxpk35CIBmMweKmDswY3NS6anJSsZnlFo_BrcPsaDKEF30rHv6hh45UZvqshSG.l5x33PHzvpJsUNHlNsxJGdhjDFC7a31L446zB3YeMnsDiNPP2_OriW2iLPdqBzDwrmD5iLe5xm5OUEYZTWvYs5ZiItCh4RbHsctKHI_QU5hJijyCgdvIk5gmUgQ.grGuV5_pGPOOaH8A6dnXLvVN7tP5JEvz0kiRlGW6g9rquaooLRnOZkiqSrzPROSsKgmtGyroqc0oJTUhWkaLCDBNWUlxSkuR5mRUlrirWMFZQ6G5CfiWotzvIhmQAkNjtpoEYMIp7a7cxTyN5HCItSU0aTHFdM0pABJwDE_DsBVEF0XjjCE4Qj62JQr3S2zM.D9CYojxuL_p.ksBimMJoJ.XjDB_QPgRcFIXgtC0LQ_dwXxfFhYvL3SDjWP0ben4pmFcF4CCZ4qwEU1rQCo5hxaqyfgwncXnPnq_lj42T08bq8P8o2eNf&sessionURL=blob:pZNRa9swFIX_ShB92MCVLSddZsMYbA_Zw9ggpXRjjHLtyLaYJbmSbDcN.e.7kpJthb1sNeQESzqfrnWPDmTixgqtSElyyjLKSEJsp.drkEPPP4HklpQN9JYnxPCGG65qTsoDETu0dC0r0KBwGb59GCWoxYvN9n23XKd.7iVONmAd3Gw_.uXODbZMU9FOtOWKD.AcN4pq06b4rnGz1PL7YA1CgxkhQu34w7MgqAJB9d7pCtTuP1je.g6t1D04JEEvwD7F2CUFCY9awWxprWXgIoueWb9qugtu6qDyNXVGS21xxWez4waBOMKSBWoedBl0FfQq6Kug66CvgxZBWRb_optFO4t.FgEsElhEsMhgEcIiJY.U_FRDpHwJ.pUcE9LresRYEFayy3xVJFmW4c9Hxxmof.DUtwNx.8GHAo9vDJlJiI5fd1lk2ZoVRX61Wq.yomDH5HCO0JY3aFhssBfWZ0cbCQ7HMXq.Pz4J59zdtadFo.n_uQeqrgTudc3vqdXG8dBU2j7.PWrPY1JX.eRNwopK9MLtb3ELPeNBMLxr4zDgYnvb6Z5vAu6P.yb1BFX_e.R0giwLj6.10U9LneeZ.kKo6iVVoqOtnnyUefoWky3fXFz4LsXWgFLagfO3__j9.BM-

I'm using this bed file for testing:
http://genome.compbio.cs.cmu.edu:8008/~kxiong/data/sniper/annotations/hg19/GM12878_track_hg19.bed

If I'm not using this correctly, could you provide some advice for properly loading the bed file?
Any help is greatly appreciated. Thanks!

  • Kyle

Bed/bedgraph file not recognized

Hello team,

I tried uploading a bed file (Features exported from IGV) to go along with my cloud point data (in a separate file) and the bed file wasn't recognized. I converted the bed to bedgraph but it didn't help.

Please contact me if you need the spacewalk or bed files.

Thank you,
Guy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.