Code Monkey home page Code Monkey logo

helixvis's Introduction

helixvis: Visualize alpha-helical peptide sequences

Travis Build Status AppVeyor Build Status Coverage Status

License: GPL v3 CRAN version Downloads

JOSS DOI Zenodo DOI

Purpose

Built by the lab of Regina Stevens-Truss, PhD (Professor & Chair, Department of Chemistry, Kalamazoo College), helixvis can be used to create publication-quality, 2-dimensional visualizations of alpha-helical peptide sequences. Specifically, this package allows the user to programmatically generate helical wheels and wenxiang diagrams to provide a bird's eye, top-down view of alpha-helical oligopeptides. Although other tools exist to complete this task, they generally provide a graphical user interface for manual input of peptide sequences, without allowing for programmatic creation and customization of visualizations. Programmatic generation of helical wheels in open source R provides multiple benefits, including:

  • quick and easy incorporation of wheels into Rmarkdown documents
  • rapid generation of many peptides (e.g. all the elements of a peptide database) without manual steps
  • programmatic customization of visualizations using ggplot2
  • reproducibility: practically zero manual steps required for design and creation of helical wheels and wenxiang diagrams

Installation

helixvis is available on CRAN. The development version is available on GitHub. The following R code can be used to install and load helixvis.

# install from CRAN
install.packages("helixvis")

# install development version from GitHub repository
devtools::install_github("rrrlw/helixvis", build_vignettes = TRUE)

# load for use
library("helixvis")

Usage

The following code demonstrates the use of helixvis to using sample data included in the package (development version only).

# load helixvis
library("helixvis")

# load sample dataset
data("sequence")

# visualize helical wheel from first peptide in sample data
draw_wheel(sequence$Seq[1])

# save to workspace
ggplot2::ggsave(paste(sequence$Name[1], ".png", sep = ""),
                width = 6, height = 6)

# visualize wenxiang diagram from second peptide in sample data
draw_wenxiang(sequence$Seq[2])

# save to workspace
ggplot2::ggsave(paste(sequence$Name[2], ".png", sep = ""),
                width = 6, height = 6)

Contributions

Please report any bugs, suggestions, etc. on the issues page of the helixvis GitHub repository. Contributions (bug fixes, new features, etc.) are welcome via pull requests (generally from forked repositories).

helixvis's People

Contributors

rrrlw avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

helixvis's Issues

Include

To make sure users who install the package from github see the great vignette, it would be useful to include the build_vignettes=TRUE option in the install_github code provided in the README.md file, e.g.

devtools::install_github("rrrlw/helixvis", build_vignettes=TRUE)

Add example dataset

Add example data frame containing peptide names and sequences to show how easy helixvis makes generation of helical wheels and wenxiang diagrams. Reference this in vignettes to teach use of helixvis.

Add parameter to fix coordinate

Add parameter fixed for draw_wheel and draw_wenxiang; when fixed = TRUE, the wenxiang/wheel will be circular (instead of elliptical) regardless of the dimensions of the graphics device.

wenxiang diagrams do not need to be limited to 18 residues

Following is a suggestion by @nagoue from this JOSS review:

There is no reason to limit peptide length to 18 aa in wenxiang diagram unless to make it comparable to the helical diagram. I would rather suggest not limiting this length to wenxiang diagram style and "only" give a warning to the user to inform him that the comparison between the 2 diagram styles will not be possible.

Add vignette tutorial

Add comprehensive, but still short/digestible, tutorial on generation of helical wheels and wenxiang diagrams with helixvis.

Include the sequence.R file in the data directory

The authors include a small set of example peptides sequences, which is great. The source
code includes the data in two forms: the binary data/sequence.rda and the plain
data-raw/sequence.R file with the code that generates the former.

The sequence.R file can be included in the data directory directly and will be
sourced automatically when then data("sequence") call is executed. There is no need
for the binary file (or the data-raw directory). See the ?data help page for details.

When the sequence.R file is placed into the data directory, it is sourced and there is no need for the devtools::use_data(sequence) call.

devtools::use_data(sequence)

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.