Git Product home page Git Product logo

protgear's Introduction

General information

protGear is a package for protein micro-array data processing just before the main analysis.

The package loads the 'gpr' or 'txt' file format extracted by the quantification software and merges this with the specific sample identifiers. The package processes multiple files extracted in a batch with their corresponding sample identifier file. The sample identifier file has 2 variables 'v1' and 'v2' which indicate the mini-array or block number and sample identifier respectively. The 'gpr' file and the corresponding sample identifier file have the same file name. protGear also provides a web based $Shiny^{(R)}$ platform for real time visualization of the data processing.

There is a package vignette included with this package with a step by step use of the package. Check https://keniajin.github.io/protGear/ under articles.

Installing the devel package

library(remotes) 
remotes::install_github("keniajin/protGear")

Installing from Bioc BioConductor

## install from BioConductor
if (!require("BiocManager", quietly = TRUE)) {
  install.packages("BiocManager")
}
BiocManager::install("protGear")

To run the shiny application

To use the application locally on your compute install R and launch the app using the following command. protGear::launch_protGear_interactive()

To Install R:

  • Open an Internet browser and go to www.r-project.org.
  • Under "Getting Started" click the "download R" link
  • Select a CRAN location (a mirror site) and click the corresponding link.
  • Download R depending on your operating system.

protGear help pages

Contribute

Check the Github page for source code.

Publication

Mwai K, Kibinge N, Tuju J, Kamuyu G, Kimathi R, Mburu J, Chepsat E, Nyamako L, Chege T, Nkumama I, Kinyanjui S. et al. , protGear: A protein microarray data pre-processing suite. Computational and Structural Biotechnology Journal. 2021 Apr 24.

DOI: https://doi.org/10.1016/j.csbj.2021.04.044

protgear's People

Contributors

jwokaty avatar keniajin avatar nturaga avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

vjcitn

protgear's Issues

visualize_slide

Hi Keniajin,

The function visualize_slide seems to have a typo here

labels <- sprintf("%s
MFI= %s ", d_f$Name, formatC(d_f$F635 Median,
format = "d", big.mark = ",")) %>% lapply(htmltools::HTML)

File not found in Vignette

Dear developer, I've installed protGear using BiocManager and when trying to reproduce the provided example at:

https://www.bioconductor.org/packages/release/bioc/vignettes/protGear/inst/doc/vignette.html

I miss the sample identifiers files, that according to genepix_vars should be located at:

sampleID_path = system.file("extdata/array_sampleID/", package = "protGear"),

That folder doesn't exists and I can't figure out which should be the file names the program searchs and their content. Could you fix it, please?

Bug and final error.

Hi

Thank you for the interesting software.
First, can I apologize I'm new to the interaction on GitHub usually working on my own code so the correct format to comment is not something I'm aware of yet.

I'm trying to implement Protgrear to analyze some data but have found compatibility issues with our *.gpr files from a genepix machine.

In addition, I have a request as to if the shiny has a download function for the normalized output. as though it is referred to i don't see where to download such at least in my implementation.

The slide visualization I found would not work unless I implemented the following alternative code for functions visualize_slide and visualize_slide_2d.

JPL_visualize_slide=function(MFI_var,interactive,d_f){
    d_f <- d_f %>% group_by(Block) %>%
      mutate(meanX = mean(X), 
                                              meanY = mean(Y),
                                              maxY = max(Y),
                                              maxX = max(X),
                                              minY = min(Y), 
                                              minX = min(X))
  MFI_var_sys <- rlang::sym(MFI_var)
  mid <- median(log(d_f[[MFI_var]]))
  labels <- sprintf("<b>%s</b><br> MFI= %s ", d_f$Name, formatC(d_f[[MFI_var]], 
                                                                format = "d", big.mark = ",")) %>% lapply(htmltools::HTML)
  point_size <- 0.5
  if (interactive == FALSE) 
    point_size <- 1
  p <- ggplot(d_f, aes(x = X, y = -Y, text = labels)) +
    geom_point(size = point_size, aes_string(colour = sprintf("log(`%s`)", MFI_var)))  +
    theme_void() +
    theme(legend.position = "none") +
    scale_color_gradient2(midpoint = mid, low = "blue",
                          mid = "white", high = "red", space = "Lab") + 
    geom_text(aes(x = meanX, y = -meanY, label = paste("Block", 
                                                     Block)), color = "black", size = 2)

  if (interactive == FALSE) {
    return(p)
  }
  else if (interactive == TRUE) {
    p <- ggplotly(p, tooltip = "text")
    return(p)
  }

}
JPL_visualize_slide_2d=function (MFI_var, d_f = NA) 
{
    d_f <- d_f %>% group_by(Block) %>% mutate(meanX = mean(X), 
                                              meanY = mean(Y), maxY = max(Y), maxX = max(X), minY = min(Y), 
                                              minX = min(X))
  
  mid <- median(log(d_f[[MFI_var]]))
  ggplot(data = d_f, aes_string(x = "X", y = sprintf("-%s", 
                                                     "Y"), z = sprintf("log(`%s`)", MFI_var))) + stat_summary_2d(fun = median) + 
    scale_fill_gradient2(midpoint = mid, low = "blue", mid = "white", 
                         high = "red", space = "Lab") + theme_void() + theme(legend.position = "none") + 
    geom_text(aes(x = meanX, y = -meanY, label = paste("Block", 
                                                       Block)), color = "black", size = 4)
}

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.