Giter VIP home page Giter VIP logo

southgreenplatform / panache Goto Github PK

View Code? Open in Web Editor NEW
43.0 15.0 4.0 38.92 MB

Panache is a web-based interface designed for the visualization of linearized pangenomes. It can be used to show presence/absence information of pangenomic blocks of sequence or genes in a browser-like display.

License: MIT License

Dockerfile 0.13% JavaScript 14.44% Python 7.67% HTML 0.19% Vue 77.55% Shell 0.01%
pangenome vizualisation javascript

panache's People

Contributors

alexandre-bousquet avatar cssyngenta avatar dionysox avatar francoissabot avatar mel-florance avatar mrouard avatar singingmeerkat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

panache's Issues

Suggested additional Panache features

I've had a few users working with Barley Panache now. A request I have is an ability to highlight selected genes of interest, perhaps a tick box to show only genes being sorted by PAV so that it becomes easier to use a panel of genes in a single view for publication figures. Also an export/reporting feature of the selected gene regions to show PAV of that region, and the genes present with their percentage PAV. These would improve the functionality of Panache a lot. Thanks.

Odd behaviour with gene annotations and overlaps

Some genes are detected as overlapping with others while being on different chromosomes...
image

Here is an exemple with banana data, on chromosome 8, annotation located near the end of the coordinate system.

Background tooltip of svg track does not have the right size

When hovering track below the presence absence matrix a tooltip with both text and background appears. This background does not fit the actual size of the text that is displayed.

For now the text is preprocessed in a canvas, then the size of that text is used to determine the size of the background and there is no direct link with the size of the displayed svg text.

We could either try to fix this (maybe some CSS conflicts ?) or modify the tooltips to use html tooltips instead of svg ones.

Main view should resize along with the window

The main display view has a width based on the width of the screen when the app loaded.
Enabling resizing when the size of the window changes would be a nice addition. Implies the responsive resizing of PavMatrixAndTracks, OverlayedCanvas, AnnotationTrack and HollowAreaTrack

Bug with the 'start' coordinate on sorting option?

The coordinates retrieved by selecting an area with the 'Local pattern' sorting option does not seem to be properly stored (eg. being set at 0, instead of the actual left coordinate).
This could also be linked to errors with the gene PAV status sorting option, which somehow does not work for panBlocks without any gene?! See #32 (comment)

Example data does not work with demo server

Hi there,

Panache looks great -- thanks for offering this to the community!

I tried to get the demo server to work with your example data provided on the Wiki. I saved the data in the example table on the Wiki into a TSV file and tried to upload it to the demo server. The genotype tracks change from the default to B and C (what happens to A?), so this bit seems to work, but it doesn't appear to be picking up the chromosome numbers and consequently the dropdown chromosome selector is not populated with any values to choose from.
I have attached the file I used so you can reproduce this.

Many thanks
Micha

panache_test.txt

Have coherent zoom behaviour

Zoom level is used to change the display size in pixel of nucleotides. With a size too small, too many visual elements would be generated, making the whole app slower.
As for now the zoom level is too much focused on big or small sizes, and not enough on intermediate size (which would allowed about 40 columns on screen at once). This zoom scale, with the intermediate pivot could be better handled and adapted to the dataset on display.

Problems initialising Panache

Hi

I am having problems getting Panache to run.

I installed Docker and Docker compose and then ran bash ./start.sh

I get the following error:

## Populating apt-get cache...

+ apt-get update
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Reading package lists...

## Installing packages required for setup: lsb-release gnupg...

+ apt-get install -y lsb-release gnupg > /dev/null 2>&1

## Confirming "bullseye" is supported...

+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_13.x/dists/bullseye/Release'

## Your distribution, identified as "bullseye", is not currently supported, please contact NodeSource at https://github.com/nodesource/distributions/issues if you think this is incorrect or would like your distribution to be considered for support

ERROR: Service 'web' failed to build: The command '/bin/sh -c curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -' returned a non-zero code: 1

I then try the npm route:

ubuntu@genome-browser:~/panache$ npm run build

> [email protected] build /home/ubuntu/panache
> vue-cli-service build


⠼  Building for production...
  When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.
  Please remove the direct import of `core-js` or use `useBuiltIns: 'entry'` instead.
⠏  Building for production...

 WARNING  Compiled with 5 warnings                                                                                                                    2:39:55 AM

 warning  in ./src/components/PavFileParser.vue?vue&type=script&lang=js&

"export 'group' (imported as 'd3') was not found in 'd3'

 warning  in ./src/components/GffFileParser.vue?vue&type=script&lang=js&

"export 'group' (imported as 'd3') was not found in 'd3'

 warning  

asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  js/chunk-vendors.f1c4b467.js (1.02 MiB)
  mediumFakeDataWithAllBlocks.tsv (705 KiB)
  MusaceaePangenome.tsv (1.97 MiB)
  BrassicaNapusForPanache.tsv (10 MiB)
  MusaceaePangenome_geneAnnot.gff (52.8 MiB)

 warning  

entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  app (1.36 MiB)
      css/chunk-vendors.48cb2c87.css
      js/chunk-vendors.f1c4b467.js
      css/app.a78752da.css
      js/app.0946853a.js


 warning  

webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

  File                                   Size              Gzipped

  dist/js/chunk-vendors.f1c4b467.js      1043.64 KiB       282.00 KiB
  dist/js/app.0946853a.js                130.14 KiB        34.67 KiB
  dist/css/chunk-vendors.48cb2c87.css    209.30 KiB        31.04 KiB
  dist/css/app.a78752da.css              9.04 KiB          2.44 KiB

  Images and other types of assets omitted.

 DONE  Build complete. The dist directory is ready to be deployed.
 INFO  Check out deployment instructions at https://cli.vuejs.org/guide/deployment.html

Are any of these warning messages of importance? It appears to be built using the npm method, but how do I deploy once the files are built in the dist directory?

In regards to the Docker method complaining about "bullseye" is that in regard to my Ubuntu version not being supported? I currently run Ubuntu 20.04.1 LTS.

Stable width for the Filters column

The option panel (component LocalFilter) on the left of the screen should have the same length no matter how small or big the screen window is.

Use a correct color scale for position

My pseudo rainbow color scale is nice and all, but does not follow vis science principles. I should either create a correct one or use a preexisting one that feets my needs.

Modify height of pav matrix

Pav matrix is still quite small for now in order to work on it's sliders's behavior. It should return to reasonable size for production purposes.

Converting GFA file to compatible format

Hi

I have a GFA file and would like to convert to a compatible format for Panache to read in. I'm looking at using BioGraph.jl, however it isn't very clear in the documentation what exactly I need to do to get the correct format for Panache to use.

I've looked at the test_longest_path.jl in the test folder of BioGraph, but I'm not sure what the format output is supposed to be or if longest path is the correct approach to take. My GFA files are derived from PGGB. I want to use one of the references in the graph to refer to and include the GFF file from that single reference as well, including using that reference for the genomic coordinates. The way the PGGB graph was produced, no single genome was used as a reference as it was an all-to-all mapping. Thanks.

Annotation marks should be colored

Annotation mark would be more eye pleasing with some colors. Related to the blocks below them ?
Plus the one annotation mark that displays an Annotation Card should be highlighted.

Unable to install Panache with docker on a debian OS.

Hi,
I'd like to run Panache on my own laptop as well as a debian VM on a cloud. But when running the docker-compose up, I get the following error message :

Starting panache ... done
Attaching to panache
panache | Starting nginx: nginx.
panache | npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
panache | npm WARN deprecated [email protected]: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
panache | npm ERR! code EBADPLATFORM
panache | npm ERR! notsup Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
panache | npm ERR! notsup Valid OS:    darwin
panache | npm ERR! notsup Valid Arch:  any
panache | npm ERR! notsup Actual OS:   linux
panache | npm ERR! notsup Actual Arch: x64
panache | 
panache | npm ERR! A complete log of this run can be found in:
panache | npm ERR!     /root/.npm/_logs/2023-10-11T13_34_00_893Z-debug.log
panache exited with code 1

Looks like there is a problem with fsevents.

would you please help?
Best!

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.