To a Billion and Beyond How to Visually Explore, Compare and Share - - PowerPoint PPT Presentation

β–Ά
to a billion and beyond
SMART_READER_LITE
LIVE PREVIEW

To a Billion and Beyond How to Visually Explore, Compare and Share - - PowerPoint PPT Presentation

To a Billion and Beyond How to Visually Explore, Compare and Share Large Quantitative Datasets with HiGlass Peter Kerpedjiev, Nezar Abdennur, and Fritz Lekschas Peter Kerpedjiev Nezar Abdennur Fritz Lekschas Software Engineer at Zymergen


slide-1
SLIDE 1

To a Billion and Beyond

How to Visually Explore, Compare and Share Large Quantitative Datasets with HiGlass

Peter Kerpedjiev, Nezar Abdennur, and Fritz Lekschas

slide-2
SLIDE 2

Nezar Abdennur

PostDoc at MIT @nv1ctus nvictus.me

Fritz Lekschas

PhD Candidate at Harvard @flekschas lekschas.de

Peter Kerpedjiev

Software Engineer at Zymergen @pkerpedjiev emptypipes.org

slide-3
SLIDE 3

Nezar Abdennur

PostDoc at MIT @nv1ctus nvictus.me

Fritz Lekschas

PhD Candidate at Harvard @flekschas lekschas.de

Peter Kerpedjiev

Software Engineer at Zymergen @pkerpedjiev emptypipes.org

πŸ€±β†’ πŸ‘·πŸŽŠ

slide-4
SLIDE 4

Nezar Abdennur

PostDoc at MIT @nv1ctus nvictus.me

Fritz Lekschas

PhD Candidate at Harvard @flekschas lekschas.de

Peter Kerpedjiev

Software Engineer at Zymergen @pkerpedjiev emptypipes.org

πŸ‘Œ

slide-5
SLIDE 5

Nezar Abdennur

PostDoc at MIT @nv1ctus nvictus.me

Fritz Lekschas

PhD Candidate at Harvard @flekschas lekschas.de

Peter Kerpedjiev

Software Engineer at Zymergen @pkerpedjiev emptypipes.org

πŸ‘Œ

slide-6
SLIDE 6

Genomics

where we come from

slide-7
SLIDE 7

Methods

Image taken and slightly adapted from encodeproject.org

slide-8
SLIDE 8

Principal Challenges

Multiscale Patterns arise at various resolutions Multimodality Different data types and synchronized viz Multiple comparable datasets Insights arise from differences Collaborative Exploration Share exploratory state, not the end result

Geospatial Data Time Series Data Image Data Genomic Data

slide-9
SLIDE 9

Architecture

slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15
slide-16
SLIDE 16

Python API

All demos are available at

github.com/higlass/scipy19

slide-17
SLIDE 17

HiGlass in Jupyter

(see temperature.ipynb)

slide-18
SLIDE 18

Tileset API

slide-19
SLIDE 19

Tileset API

tileset_info()

β†’ min_pos & max_pos: relative to the scene tile_size: size of the tiles (in pixels) max_zoom: ⌈log2(tile mesh size / tile size)βŒ‰ max_width: ⌈tile mesh size / tile sizeβŒ‰

tiles(tile_ids)

← [<uuid.z.x.y>, …] β†’ {<uuid.z.x.y>: { dense, min_value, max_value, dtype }, ...} Generates or fetches 1D or 2D data tiles

slide-20
SLIDE 20

Tileset API

tileset_info()

β†’ min_pos & max_pos: relative to the scene tile_size: size of the tiles (in pixels) max_zoom: ⌈log2(tile mesh size / tile size)βŒ‰ max_width: ⌈tile mesh size / tile sizeβŒ‰

tiles(tile_ids)

← [<uuid.z.x.y>, …] β†’ {<uuid.z.x.y>: { dense, min_value, max_value, dtype }, ...} Base64-encoded raw data Generates or fetches 1D or 2D data tiles

slide-21
SLIDE 21

Tileset API Demo

(see point-data.ipynb)

slide-22
SLIDE 22

View Configs

slide-23
SLIDE 23

View Config

  • Views

Shared location and zoom

β—‹ Layout β—‹ Tracks

  • Locks

For view synchronization

  • Globals

Server URLs, editability

1. { 2. "views": [ 3. { 4. "uid": "aa", 5. "initialXDomain": [0, 100], 6. "initialYDomain": [0, 100], 7. "layout": { 8. "x": 0, "y": 0, 9. "w": 12, "h": 6, 10. }, 11. "tracks": { 12. "top": [], 13. "left": [], 14. "center": [], 15. "right": [], 16. "bottom": [] 17. } 18. } 19. ], 20. "zoomLocks": { ... }, 21. "locationLocks": { ... }, 22. "valueScaleLocks": { ... }, 23. "editable": true, 24. "zoomFixed": false, 25. "trackSourceServers": ["/api/v1"], 26. "exportViewUrl": "/api/v1/viewconfs" 27. }

slide-24
SLIDE 24

View Config

  • Views

Shared location and zoom

β—‹ Layout β—‹ Tracks

  • Locks

For view synchronization

  • Globals

Server URLs, editability

1. { 2. "views": [ 3. { 4. "uid": "aa", 5. "initialXDomain": [0, 100], 6. "initialYDomain": [0, 100], 7. "layout": { 8. "x": 0, "y": 0, 9. "w": 12, "h": 6, 10. }, 11. "tracks": { 12. "top": [], 13. "left": [], 14. "center": [], 15. "right": [], 16. "bottom": [] 17. } 18. } 19. ], 20. "zoomLocks": { ... }, 21. "locationLocks": { ... }, 22. "valueScaleLocks": { ... }, 23. "editable": true, 24. "zoomFixed": false, 25. "trackSourceServers": ["/api/v1"], 26. "exportViewUrl": "/api/v1/viewconfs" 27. }

slide-25
SLIDE 25

View Config

  • Views

Shared location and zoom

β—‹ Layout β—‹ Tracks

  • Locks

For view synchronization

  • Globals

Server URLs, editability

1. { 2. "views": [ 3. { 4. "uid": "aa", 5. "initialXDomain": [0, 100], 6. "initialYDomain": [0, 100], 7. "layout": { 8. "x": 0, "y": 0, 9. "w": 12, "h": 12, 10. }, 11. "tracks": { 12. "top": [], 13. "left": [], 14. "center": [], 15. "right": [], 16. "bottom": [] 17. } 18. } 19. ], 20. "zoomLocks": { ... }, 21. "locationLocks": { ... }, 22. "valueScaleLocks": { ... }, 23. "editable": true, 24. "zoomFixed": false, 25. "trackSourceServers": ["/api/v1"], 26. "exportViewUrl": "/api/v1/viewconfs" 27. }

VIEW

slide-26
SLIDE 26

1. { 2. "type": "horizontal-line", 3. "server": "//higlass.io/api/v1", 4. "tilesetUid": "OHJakQICQD6gTD7skx4EWA", 5. "uid": "my-very-fancy-line-plot", 6. "options": { 7. "name": "My Very Fancy Line Plot!", 8. ... 9. }, 10. }

Track Config

  • Type

general encoding

  • Server

track data source

  • Tileset UID

data identifier

  • UID

track identifier

  • Options

For styling, labeling, etc.

slide-27
SLIDE 27

Advanced Features

slide-28
SLIDE 28

Advanced Features

(see nyc-taxi.ipynb)

slide-29
SLIDE 29

Developer Features

Modular Codebase Tiling, serving, and rendering are decoupled E.g., viewer, server, tileset API, docker Viewer Extensibility Simple plugin architecture for new track types E.g., Epilogos, GeoJSON JavaScript APIs for Integration Library version, React component, JsAPI E.g., HiPiler, Peax, cTracks

EPILOGOS GEOJSON HIPILER PEAX

slide-30
SLIDE 30

Communication & Collaboration

(see genomics.ipynb)

slide-31
SLIDE 31

To a Billion and Beyond

HiGlass

WEB: higlass.io CODE: github.com/higlass/scipy19 TWITTER: @higlass_io PRESENTERS:

Nezar Abdennur

@nv1ctus nvictus.me

Fritz Lekschas

@flekschas lekschas.de

This work is supported in part by the National Institutes of Health (U01 CA200059).

Scipy Slack Channel

#higlass

slide-32
SLIDE 32

To a Billion and Beyond

HiGlass

WEB: higlass.io CODE: github.com/higlass/scipy19 TWITTER: @higlass_io PRESENTERS:

Nezar Abdennur

@nv1ctus nvictus.me

Fritz Lekschas

@flekschas lekschas.de

This work is supported in part by the National Institutes of Health (U01 CA200059).

slide-33
SLIDE 33

Contributors & Acknowledgements

HiGlass

Core Contributors: Peter Kerpedjiev, Fritz Lekschas, Nezar Abdennur, Chuck McCallum PIs: Nils Gehlenborg, Peter Park, Leonid Mirny, Hanspeter Pfister Co-Authors: Kasper Dinkla, Hendrik Strobelt, Jacob Luber, Scott Ouellette, Alaleh Azhir, Nikhil Kumar, Jeewon Hwang, Soohyun Lee, Burak Alver

This work is supported in part by the National Institutes of Health (U01 CA200059).