Learn R Programming

VIEWpoly

VIEWpoly is a shiny app and R package for visualizing and exploring results from polyploid computational tools using an interactive graphical user interface. The package allows users to directly upload output files from polymapR, MAPpoly , OneMap, polyqtlR, QTLpoly, diaQTL, GWASpoly, HIDECAN, and genomic assembly, variants, annotation and alignment files. VIEWpoly uses shiny, golem, ggplot2, plotly, and JBrowseR libraries to graphically display the QTL profiles, positions, alleles estimated effects, progeny individuals containing specific haplotypes and their breeding values. It is also possible to access marker dosage and parental phase from the linkage map. If genomic information is available, the corresponding QTL positions are interactively explored using JBrowseR interface, allowing the search for candidate genes. It also provides features to download specific information into comprehensive tables and images for further analysis and presentation.

Quick Start

The quickest way of accessing VIEWpoly is here. However, our shinyapps.io does not upload files larger than 1GB. If you have larger datasets, you will need to install and run VIEWpoly locally.

Installation

  • From CRAN

You can run VIEWpoly locally installing the package and accessing the graphical interface through a web browser. To use the stable version, please install the package from CRAN:

install.packages("viewpoly")
viewpoly::run_app()
  • From GitHub

If you want to use the latest development version, go ahead and install VIEWpoly from our Github repository:

# install.packages("devtools")
devtools::install_github("mmollina/viewpoly")
viewpoly::run_app()

NOTE: Windows users may need to install the Rtools before compiling the package from source (development version).

  • From Docker Hub

You can also access VIEWpoly though the Docker image:

docker pull cristaniguti/viewpoly:0.2.2  
docker run --rm -e USERID=$(id -u) -e GROUPID=$(id -g) -p 8085:80 -e DISABLE_AUTH=true cristaniguti/viewpoly:0.2.2

This will make the container available in port 8085 (choose other if you prefer). After, you just need to go to your favorite browser and search for <your_localhost>:8085 (example: 127.0.0.1:8085). That is it! Everything you need is there.

Input data

The Input data tab has options for several types of inputs. You can upload directly outputs from:

To relate the genetic maps and QTL analysis with genomic information, it is also required:

  • FASTA reference genome

It is optional to upload also:

  • GFF3 annotation file
  • BAM or CRAM alignment file
  • VCF file
  • bigWig file

Documentation

  • Access VIEWpoly tutorial here.

  • VIEWpoly main features are also presented in this video.

  • Access more information about how to make your data sets available through VIEWpoly here.

  • If you would like to contribute to develop VIEWpoly, please check our Contributing Guidelines.

References

Taniguti CH, Gesteira GS, Lau J, Pereira GS, Zeng ZB, Byrne D, Riera-Lizarazu O, Mollinari M. "VIEWpoly: a visualization tool to integrate and explore results of polyploid genetic analysis". Journal of Open Source Software, 7(74), 4242. doi: 10.21105/joss.04242.

Mollinari M, Garcia AAF. 2019. “Linkage analysis and haplotype phasing in experimental autopolyploid populations with high ploidy level using hidden Markov models.” G3: Genes, Genomes, Genetics 9 (10): 3297-3314. doi:10.1534/g3.119.400378.

Pereira GS, Gemenet DC, Mollinari M, Olukolu BA, Wood JC, Mosquera V, Gruneberg WJ, Khan A, Buell CR, Yencho GC, Zeng ZB. 2020. “Multiple QTL mapping in autopolyploids: a random-effect model approach with application in a hexaploid sweetpotato full-sib population.” Genetics 215 (3): 579-595. doi:10.1534/genetics.120.303080.

Amadeu RR, Muñoz PR , Zheng C, Endelman JB. 2021."QTL mapping in outbred tetraploid (and diploid) diallel populations." Genetics 219 (3), iyab124, https://doi.org/10.1093/genetics/iyab124

Bourke PM , van Geest G, Voorrips RE, Jansen J, Kranenburg T, Shahin A, Visser RGF , Arens P, Smulders MJM , Maliepaard C. 2018."polymapR—linkage analysis and genetic map construction from F1 populations of outcrossing polyploids." Bioinformatics, 34 (20): 3496–3502, https://doi.org/10.1093/bioinformatics/bty371

Bourke PM, Voorrips RE, Hackett CA, van Geest G, Willemsen JH, Arens P, Smulders MJM, Visser RGF, Maliepaard C. 2021."Detecting quantitative trait loci and exploring chromosomal pairing in autopolyploids using polyqtlR." Bioinformatics, 37 (21): 3822–3829, https://doi.org/10.1093/bioinformatics/btab574

Taniguti, C. H.; Taniguti, L. M.; Amadeu, R. R.; Lau, J.; de Siqueira Gesteira, G.; Oliveira, T. de P.; Ferreira, G. C.; Pereira, G. da S.; Byrne, D.; Mollinari, M.; Riera-Lizarazu, O.; Garcia, A. A. F. Developing best practices for genotyping-by-sequencing analysis in the construction of linkage maps. GigaScience, 12, giad092. https://doi.org/10.1093/gigascience/giad092

Acknowledgment

VIEWpoly project is supported by the USDA, National Institute of Food and Agriculture (NIFA), Specialty Crop Research Initiative (SCRI) project ‘‘Tools for Genomics-Assisted Breeding in Polyploids: Development of a Community Resource’’ and by the Bill & Melinda Gates Foundation under the Genetic Advances and Innovative Seed Systems for Sweetpotato project (SweetGAINS).

Copy Link

Version

Install

install.packages('viewpoly')

Monthly Downloads

160

Version

0.4.1

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Cristiane Taniguti

Last Published

March 28th, 2024

Functions in viewpoly (0.4.1)

import_data_from_polymapR

Import data from polymapR
ph_list_to_matrix

Linkage phase format conversion: list to matrix. Function from MAPpoly.
only_plot_profile

Only the plot part of plot_profile function
summary_maps

Summary maps - adapted from MAPpoly
prepare_hidecan_examples

Upload hidecan example files
plot.mappoly.homoprob

Plots mappoly.homoprob from MAPpoly
prepare_polymapR

Converts polymapR ouputs to viewmap object
prepare_map_custom_files

Converts map information in custom format files to viewmap object
prepare_map

prepare maps for plot - from MAPpoly
plot_cm_mb

Scatter plot relating linkage map and genomic positions
ph_matrix_to_list

Linkage phase format conversion: matrix to list. Function from MAPpoly.
run_app

Run the Shiny Application
segreg_poly

Polysomic segregation frequency - Function from MAPpoly
plot_effects

Plot effects data
prepare_polyqtlR

Converts polyqtlR outputs to viewqtl object
prepare_qtl_custom_files

Converts QTL information in custom files to viewqtl object
plot_map_list

Plot a genetic map - Adapted from MAPpoly
read_input_hidecan

Check hidecan inputs
prepare_diaQTL

Converts diaQTL output to viewqtl object
plot_one_map

Plot a single linkage group with no phase - from MAPpoly
prepare_QTLpoly

Converts QTLpoly outputs to viewqtl object
prepare_MAPpoly

Converts list of mappoly.map object into viewmap object
select_haplo

Plot selected haplotypes
plot_profile

Logarithm of P-value (LOP) profile plots. Modified version of QTLpoly function.
prepare_examples

Upload example files
filter_non_conforming_classes

Filter non-conforming classes in F1, non double reduced population. Function from MAPpoly.
check_viewqtl

viewqtl object sanity check
get_LOD

Extract the LOD Scores in a 'mappoly.map' object Function from MAPpoly.
dist_prob_to_class

Returns the class with the highest probability in a genotype probability distribution. Function from MAPpoly.
breeding_values

Estimate breeding values - Adapted function from QTLpoly
mrk_chisq_test

Chi-square test. Function from MAPpoly.
calc_homologprob

Calculates homologues probabilities - Adapted from MAPpoly
coord_radar

Change ggplot coordinates to plot radar - From package see
check_viewmap

Viewmap object sanity check
check_viewpoly

Viewpoly object sanity check
gg_color_hue

Color pallet ggplot-like - Adapted from MAPpoly
import_phased_maplist_from_polymapR

Import phased map list from polymapR
data_effects

Get effects information
draw_map_shiny

Draws linkage map, parents haplotypes and marker doses Adapted from MAPpoly
imf_h

Map functions - from MAPpoly
is.prob.data

Is it a probability dataset? Function from MAPpoly.
mf_h

Haldane map function. From MAPpoly
map_summary

Gets summary information from map. Adapted from MAPpoly