Open Access

STRUCTURE PLOT: a program for drawing elegant STRUCTURE bar plots in user friendly interface

  • Ramesh Krishnan Ramasamy1,
  • Sumathy Ramasamy2,
  • Bharat Bushan Bindroo1, 2 and
  • V Girish Naik1Email author
Contributed equally

DOI: 10.1186/2193-1801-3-431

Received: 23 April 2014

Accepted: 6 August 2014

Published: 13 August 2014



Understanding structure of the population is one of the major objective of many genetic studies. The program STRUCTURE is commonly used to infer population structure using multi-locus genotype data. However, a tool with graphical-user interface is currently not available to visualize STRUCTURE bar plots.


We introduce STRUCTURE PLOT, a program for drawing STRUCTURE bar plots. The program generates publication ready, aesthetic STRUCTURE bar plots by using individual Q matrix from STRUCTURE or CLUMPP output. The program is very simple to use and includes variety of options like sorting bar by original order or by K, and selection of colors from R colors or RColorBrewer palette. Individual or population labels can be printed below or above the plot in any angle. Size of the graph and label can be defined, and option is provided to save plot in variety of picture formats in user defined resolution.


The program is implemented as a web application for online users and also as a standalone shiny application. Web application is compatible to majority of leading web browsers and standalone version can be launched using a simple R command. The program can be freely accessed at




The program STRUCTURE (Pritchard et al. 2000) is one of the widely used genetic analysis software over the last decade to infer population structure and gene flow by using multi-locus genotypic data. STRUCTURE implements model based method to assign each individual to one assumed population (K) or more than one population, if it is an admixture. Estimating suitable assumed population size for the dataset is usually based on maximum likelihood (LnPD) value inferred from STRUCTURE run or delta K (Δk) value (Evanno et al. 2005). STRUCTURE HARVESTER (Earl 2012) program was designed to carry out downstream processing of STRUCTURE results to calculate Evanno’s Δk value and prepares input file for CLUMPP program (Jakobsson and Rosenberg 2007). CLUMPP program permutes replicated runs of STRUCTURE software to find a close match among iterated runs. CLUMPP results are used to generate bar graphs using DISTRUCT (Rosenberg 2004) program. DISTRUCT is a standalone program without Graphical User Interface (GUI), and the drawing parameters needs to be defined in a separate file. DISTRUCT returns the result file in postscript format and users have to install third-party software to convert postscript to the graphical format. To overcome these limitations, we introduce a user-friendly program – ‘STRUCTURE PLOT’ to draw elegant bar plots with graphical user interface.

Functionality description

The program is implemented as a web application with user friendly interface also as a shiny ( standalone application. The program accepts individual Q matrix as input file and plot settings can be adjusted using a graphical interface (Figure 1). R is used as scripting language, and ggplot2 package (Wickham 2009) is used for plotting bar graphs. Any suitable colour palette can be selected from RColorBrewer (Neuwirth 2007) or custom colours can be passed to each K. Users can simply copy the individual Q matrix from STRUCTURE or CLUMPP output and used as input file for STRUCTURE PLOT. For a demo, a sample dataset with 202 diverse coconut genotypes sampled by Krishnan et al. (2014) was provided in the webpage. Bars can be drawn in the original order, or it can be sorted by Q. Bar plots are displayed on the same page instead of separate result page. Therefore, the user can play around with settings and visualise the changes in the plot. The program is capable of printing individual or population labels below or above the plot in any angle. Shiny application is built in reactive programming environment, therefore, results can be viewed instantly while adjusting plotting parameters. Options are provided to change the dimensions of the graph and size of the axis labels. Plots can be downloaded in a variety of picture formats in user defined resolution. STRUCTURE PLOT web application can be accessed from any computer with internet connectivity and compatible to majority of the leading web browsers. Shiny application can be launched from R console by using a simple command, and all the parameters can be defined using a graphical interface. We are intended to provide a variety of plotting options in coming days.
Figure 1

Screen shot of STRUCTURE PLOT standalone application illustrate the options provided in the program.




Authors acknowledge all the three reviewers for their constructive and insightful comments, which improved the quality of the manuscript.

Authors’ Affiliations

Molecular Biology Laboratory-1, Host Plant Improvement, Central Sericultural Research and Training Institute
Bioinformatics Centre, Central Sericultural Research and Training Institute


  1. Earl DA: STRUCTURE HARVESTER: a website and program for visualizing STRUCTURE output and implementing the Evanno method. Conserv Genet Resour 2012, 4(2):359-361. 10.1007/s12686-011-9548-7View ArticleGoogle Scholar
  2. Evanno G, Regnaut S, Goudet J: Detecting the number of clusters of individuals using the software STRUCTURE: a simulation study. Mol Ecol 2005, 14(8):2611-2620. 10.1111/j.1365-294X.2005.02553.xView ArticleGoogle Scholar
  3. Jakobsson M, Rosenberg NA: CLUMPP: a cluster matching and permutation program for dealing with label switching and multimodality in analysis of population structure. Bioinformatics 2007, 23(14):1801-1806. 10.1093/bioinformatics/btm233View ArticleGoogle Scholar
  4. Krishnan RR, Sumathy R, Ramesh SR, Bindroo BB, Naik VG: SimEli: Similarity Elimination method for sampling distant entries in development of core collections. Crop Sci 2014. doi:10.2135/cropsci2013.09.0600Google Scholar
  5. Neuwirth E: RColorBrewer: ColorBrewer palettes. R package version 2007., 1(5):
  6. Pritchard JK, Stephens M, Donnelly P: Inference of population structure using multilocus genotype data. Genetics 2000, 155: 945-959.Google Scholar
  7. Rosenberg NA: DISTRUCT: a program for the graphical display of population structure. Mol Ecol Notes 2004, 4(1):137-138.View ArticleGoogle Scholar
  8. Wickham H: ggplot2: elegant graphics for data analysis. Springer, New York; 2009.View ArticleGoogle Scholar


© Ramasamy et al.; licensee Springer. 2014

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.