Please read the information below carefully to have a better experience in using PanGraphViewer.
Here we provide two application versions:
● Desktop-based application
● Web-based application
Overall, Python3.6 or above is needed to run this software. We highly recommend users using miniconda3 to run this program.
Users can refer to the Installation at the Wiki page to install the tool.
To futher assist the installation and use, we have provided two Youtube videos to guild users to use this tool.
On Windows
Users may refer to https://youtu.be/YrltzD8R5Io
On Other operating systems
Users may refer to https://youtu.be/tpLjcOz2E4U
PanGraphViewer accepts different pangenome graph formats, including rGFA, GFA_v1 and VCF.
PanGraphViewer can also accept genome annotation files, such as BED, GTF/GFF files.
Before using this tool, users may refer to data formats to prepare the files and then run the program.
Users may refer to start the program to open the user interface.
Users may refer to the Manual to run the program.
-
For the
desktop-basedapplication, it has been optimized onWindows 10 macOS Big Sur, macOS Monterey, Ubuntu 18.04.5 and Ubuntu 20.04For other operating systems or equivalents, the tool may also work. However, on older operating systems, such as
Ubuntu 16.04,PyQtWebEnginemay not work properly. -
For the
web-basedversion, we suggest running inLinuxormacOSenvironment. If users want to run onWindowssystems,Windows 10or above is recommended.Users can also use docker to run the
web-basedversion (see the instruction here). However,WSLis needed to run the docker version onWindows 10or above.
Memory: 2Gb
Threads: 2
Users can adjust the RAM depending on the size of the pangenome graph.
From our preliminary tests, it seems 8Gb RAM would be sufficient to view most graphs.
-
Depending on the purpose and preference, users can select either the
desktop-basedapplication or theweb-basedapplication. Basically, thedesktop-basedapplication is more intendedly designed for single users who have little computer science background. This application allows users to easily browse the graph by simply clicking the buttons. -
By contrast, the
web-basedapplication is more suitable for multiple users who have a shared Linux server/cluster. The administrator can easily deploy the application on a server and set accounts for different users to access this tool in any device with a web browser and internet connection. Users can also easily share their files or results on the server. While theweb-basedapplication is not limited to a server, it can be installed locally in case that thedesktop-basedversion fails in installation. -
Most of the functions in the
desktop-basedversion and theweb-basedversion are the same. However, there are some differences. First, to make the response time acceptable, in theweb-basedapplication, we only usecytoscape.jsto draw graphs. In contrast,vis.jsandcytoscape.jsare used in thedesktop-basedapplication to draw graphs depending on how many nodes a user wants to browse. By default,200nodes are allowed to show invis.js-based graph. Users can change this setting inSettings-->Graph Modificationto decide either usingvis.jsorcytoscape.js.
- The
backbonesample is the one used as the main sequence provider to produce the pangenome graph or the reference sample to produce theVCFfile. - In a pangenome graph, most of the nodes are from the
backbonesample (shared by all) with some nodes (variations) from other samples.
- Each sample uses one particular colour and the most frequent colour is the one used for the
backbonesample. - By default, the colours are randomly selected by the program from a designed colour palette.
- Users can customise the color scheme in the
config_default.iniorconfig.inifile to fix the colors for samples (number of colors = number of samples). - In the
legend, users can check the color used for each sample.
- We provide two kinds of graph plots in the
desktop-basedapplication to achieve a good performance and visualisation. By default, if the number of checked nodes <= 200,vis.jsbased graph will show. Otherwise, acytoscape.jsbased graph will show. Users can change the settings in thedesktop-basedapplication to set the type of plot. - In the
web-basedapplication,cytoscape.jsbased graph is provided.
- If users use a
VCFfile to show variation-based graphs, we use different nodes shapes to represent different kinds of variants. For instance, in the default settings for thevis.js-based graph,o represents SNP △ represents deletion ▽ represents insertion ☷ represents duplication text shows inversion ☆ represents translocation
Users can change the corresponding settings to select preferred node shapes to represent different variations on the desktop-based application.
In the legend, users can check the shapes used for representing different variations.
- If users use a
VCFfile to generate a graph genome, when moving the mouse to the graph node, the program will show the variation types automatically, such asSNP: single nucleotide polymorphism INS: insertion DEL: deletion INV: inversion DUP: duplication TRANS: translocation
The corresponding nodes from the backbone sample will also be linked and shown.
There are some pros and cons of this application. We list some here for your reference
Pros
- can directly plot a subgraph of interest from a pangenome graph
- can specify coordinates to check subgraphs and nodes
- can browse graphs from a
VCFfile - can show variations, particularly structural variations if the graph is generated from a
VCFfile - can check nodes falling in a gene model region and alter users if the nodes have the chance to change the function of the gene model in some individuals
- can show the origin of particular nodes in a pangenome graph
- Computational resource-efficient in using this tool
Cons
- When checking hundreds or thousands of nodes in vis.js-based graph, the nodes may cluster together in the plot which may be difficult to interpret [Third-party javascript layout problem; in this case we suggest switching to cytoscape.js-based graphs in Settings]
- Some python libraries used, such as 'PyQtWebEngine' may not be compatible with all operating systems if using the desktop-based application [Third-party library problem; in this case users may use the web browser-based version]
- Remote accessing to the desktop-based application may confront plotting problems, particularly when using macOS system remote accessing to the Linux system [Selection problem; in this case users may want to install the desktop-based application locally or use the web browser-based version]
- In macOS, if users use the web browser-based application, the hover for nodes cannot show properly in
Safari[Browser problem; in this case users may useChromeorMicrosoft Edge] - May not be able to efficiently display a graph containing more than
20,000nodes [Render problem - may render slowly or even crash in the display canvas. This is a problem inherited from the third-party javascript we used. In this case, users may want to adjust the plotting region to avoid this problem]
Enjoy using panGraphViewer!
