MaizeSNPDB: SNP database of 1210 maize lines

The genotypes of 1210 maize lines at 35,370,939 SNP sites are stored using Sparse Matrices in R.

Software references

  1. R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Short Summer (2017)
  2. RStudio and Inc. shiny: Web Application Framework for R. R package version 1.0.5 (2017)
  3. Eric Bailey. shinyBS: Twitter Bootstrap Components for Shiny. R package version 0.61 (2017)
  4. Paradis E. pegas: an R package for population genetics with an integrated-modular approach. Bioinformatics 26: 419-420. R package version 0.10 (2010)
  5. Shin J-H, Blay S, McNeney B and Graham J. LDheatmap: An R Function for Graphical Display of Pairwise Linkage Disequilibria Between Single Nucleotide Polymorphisms. J Stat Soft, 16 Code Snippet 3. R package version 0.99.4 (2006)
  6. Paradis E., Claude J. & Strimmer K. APE: analyses of phylogenetics and evolution in R language. Bioinformatics 20: 289-290. R package version 5.1 (2004)
  7. Hin-Tak Leung. chopsticks: The snp.matrix and X.snp.matrix classes. R package version 1.42.0 (2015)
  8. H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. R package version 2.2.1 (2009)
  9. Hadley Wickham, Romain Francois, Lionel Henry and Kirill Müller. dplyr: A Grammar of Data Manipulation. R package version 0.7.4 (2017)
  10. Hadley Wickham and Lionel Henry. tidyr: Easily Tidy Data with spread() and gather() Functions. R package version 0.8.0 (2017)
  11. Revolution Analytics and Steve Weston. foreach: Provides Foreach Looping Construct for R. R package version 1.4.4 (2015)
  12. Carson Sievert, Chris Parmer, Toby Hocking, Scott Chamberlain, Karthik Ram, Marianne Corvellec and Pedro Despouy. plotly: Create Interactive Web Graphics via ‘plotly.js’. R package version 4.7.1 (2017)
  13. Lawrence M, Huber W, Pag`es H, Aboyoun P, Carlson M, et al. IRanges: Software for Computing and Annotating Genomic Ranges. PLoS Comput Biol 9(8): e1003118. R package version 2.12.0 (2013)
  14. Yu G, Smith D, Zhu H, Guan Y and Lam TT. ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data. Methods in Ecology and Evolution, 8, pp. 28-36. R package version 1.10.5 (2016)
  15. Winston Chang. shinythemes: Themes for Shiny. R package version 1.1.1 (2017)
  16. Clayton D. snpStats: SnpMatrix and XSnpMatrix classes and methods. R package version 1.28.0 (2015)
  17. Gregory Warnes. genetics: Population Genetics. R package version 1.3.8.1 (2013)

Further references

This application was created by Wen Yao. Please send bugs and feature requests to Wen Yao (venyao at qq.com).

Calculation In progress...

Select maize lines:


Download genotype data Download SNPs information Download pdf-file

Information of selected maize lines


Gene ID in maize B73 genome annotations version 3 and version 4:

Note: The dataset used in this functionality is from MaizeGDB (https://maizegdb.org/).

MaizeSNPDB

The genotypes of 1210 maize lines at 35,370,939 SNP sites are stored using Sparse Matrices in R.


Use MaizeSNPDB online

MaizeSNPDB is deployed at https://venyao.xyz/MaizeSNPDB/ for online use.
MaizeSNPDB is idle until you activate it by accessing the URL. So it may take some time when you access this URL for the first time. Once it was activated, MaizeSNPDB could be used smoothly and easily.


Launch MaizeSNPDB directly from R and GitHub

User can choose to run MaizeSNPDB installed locally for a more preferable experience.

Step 1: Install R and RStudio

Before running the app you will need to have R and RStudio installed (tested with R 3.4.4 and RStudio 1.1.442).
Please check CRAN (https://cran.r-project.org/) for the installation of R.
Please check https://www.rstudio.com/ for the installation of RStudio.

Step 2: Install the R Shiny package and other packages required by MaizeSNPDB

Start an R session using RStudio and run these lines:

# try an http CRAN mirror if https CRAN mirror doesn't work  
install.packages("shiny")  
install.packages("shinyBS")  
install.packages("shinythemes")  
install.packages("shinycssloaders")  
install.packages("plotly")  
install.packages("foreach")  
install.packages("ape")  
install.packages("pegas")  
install.packages("plyr")  
install.packages("dplyr")  
install.packages("tidyr")  
install.packages("gridExtra")  
install.packages("genetics")  
install.packages("BiocManager")    
BiocManager::install("IRanges")
BiocManager::install("snpStats")
BiocManager::install("chopsticks")  
BiocManager::install("ggtree")  
# try an http CRAN mirror if https CRAN mirror doesn't work  
install.packages("LDheatmap")
# install shinysky  
install.packages("devtools")  
devtools::install_github("venyao/ShinySky", force=TRUE)  

Step 3: Start the app

Start an R session using RStudio and run these lines:

library(shiny)  
runGitHub("MaizeSNPDB", "venyao", launch.browser = TRUE)  

This command will download the code of MaizeSNPDB from GitHub to a temporary directory of your computer and then launch the MaizeSNPDB app in the web browser. Once the web browser was closed, the downloaded code of MaizeSNPDB would be deleted from your computer. Next time when you run this command in RStudio, it will download the source code of MaizeSNPDB from GitHub to a temporary directory again. This process is frustrating since it takes some time to download the code of MaizeSNPDB from GitHub.

Users are suggested to download the source code of MaizeSNPDB from Jianguoyun (https://www.jianguoyun.com/p/Dby8fCUQzqnhBRiv64UB) or GitHub (https://github.com/venyao/MaizeSNPDB) to a fixed directory of your computer, such as ‘E:\apps’ on Windows. Following the procedure illustrated in the following figure, a zip file named ‘MaizeSNPDB-master.zip’ (GitHub) or ‘MaizeSNPDB.zip’ (Jianguoyun) would be downloaded to the disk of your computer. Move this file to ‘E:\apps’ and unzip this file. Then a directory named ‘MaizeSNPDB-master’ or ‘MaizeSNPDB’ would be generated in ‘E:\apps’. The scripts ‘server.R’ and ‘ui.R’ could be found in ‘E:\apps\MaizeSNPDB-master’ or ‘E:\apps\MaizeSNPDB’.



Then start an R session using RStudio and run these lines:

library(shiny)  
runApp("E:/apps/MaizeSNPDB-master", launch.browser = TRUE)  # from GitHub
runApp("E:/apps/MaizeSNPDB", launch.browser = TRUE)   # from Jianguoyun
# The first parameter of runApp should be the directory that contains the scripts server.R and ui.R of MaizeSNPDB.  

Your web browser will open the app.


Deploy MaizeSNPDB on local or web Linux server

Step 1: Install R

Please check CRAN (https://cran.r-project.org/) for the installation of R.

Step 2: Install the R Shiny package and other packages required by MaizeSNPDB

Start an R session and run these lines in R:

# try an http CRAN mirror if https CRAN mirror doesn't work  
install.packages("shiny")  
install.packages("shinyBS")  
install.packages("shinythemes")  
install.packages("shinycssloaders")  
install.packages("plotly")  
install.packages("foreach")  
install.packages("ape")  
install.packages("pegas")  
install.packages("plyr")  
install.packages("dplyr")  
install.packages("tidyr")  
install.packages("gridExtra")  
install.packages("genetics")  
install.packages("BiocManager")    
BiocManager::install("IRanges")
BiocManager::install("snpStats")
BiocManager::install("chopsticks")  
BiocManager::install("ggtree")  
# try an http CRAN mirror if https CRAN mirror doesn't work  
install.packages("LDheatmap")
# install shinysky  
install.packages("devtools")  
devtools::install_github("venyao/ShinySky", force=TRUE)  

For more information, please check the following pages:
https://cran.r-project.org/web/packages/shiny/index.html
https://github.com/rstudio/shiny
https://shiny.rstudio.com/

Step 3: Install Shiny-Server

Please check the following pages for the installation of shiny-server.
https://www.rstudio.com/products/shiny/download-server/
https://github.com/rstudio/shiny-server/wiki/Building-Shiny-Server-from-Source

Step 4: Upload files of MaizeSNPDB

Put the directory containing the code and data of MaizeSNPDB to /srv/shiny-server.

Step 5: Configure shiny server (/etc/shiny-server/shiny-server.conf)

# Define the user to spawn R Shiny processes
run_as shiny;

# Define a top-level server which will listen on a port
server {  
  # Use port 3838  
  listen 3838;  
  # Define the location available at the base URL  
  location /maizesnp {  
    # Directory containing the code and data of MaizeSNPDB  
    app_dir /srv/shiny-server/MaizeSNPDB;  
    # Directory to store the log files  
    log_dir /var/log/shiny-server;  
  }  
}  

Step 6: Change the owner of the MaizeSNPDB directory

$ chown -R shiny /srv/shiny-server/MaizeSNPDB  

Step 7: Start Shiny-Server

$ start shiny-server  

Now, the MaizeSNPDB app is available at http://IPAddressOfTheServer:3838/MaizeSNPDB/.