GithubHelp home page GithubHelp logo

Comments (3)

Keniajin avatar Keniajin commented on July 26, 2024

Hi @olferievm , which quantification software of estimating pixel intensities are you using. If you are using Proscanarray Express software (PerkinElmer) , QuantArray software (GSI Lumonics) or GenePix Pro software (Molecular Devices) generate data with similar parameters that can be used with protGear . If you can share the parameters in your data file this can be useful.

from protgear.

olferievm avatar olferievm commented on July 26, 2024

I have light intensities generated by GenePix Pro 7.3 software. It is not my data and I can't share them. But here are column names from the gpr file.

"Block"	"Column"	"Row"	"Name"	"ID"	"X"	"Y"	"Dia."	"F532 Median"	"F532 Mean"	"F532 SD"	"F532 CV"	"B532"	"B532 Median"	"B532 Mean"	"B532 SD"	"B532 CV"	"% > B532+1SD"	"% > B532+2SD"	"F532 % Sat."	"Ratio of Medians (532/635)"	"Ratio of Means (532/635)"	"Median of Ratios (532/635)"	"Mean of Ratios (532/635)"	"Ratios SD (532/635)"	"Rgn Ratio (532/635)"	"Rgn R2 (532/635)"	"F Pixels"	"B Pixels"	"Circularity"	"Sum of Medians (532/635)"	"Sum of Means (532/635)"	"Log Ratio (532/635)"	"F532 Median - B532"	"F532 Mean - B532"	"F532 Total Intensity"	"SNR 532"	"Flags"	"Normalize"	"Autoflag"
1	1	1	"AB1"	"AB1"	3770	1160	170	1911	1936	612	31	430	430	436	35	8	100	100	0	100000.000	100000.000	0.000	0.000	0.000	0.000	0.000	208	1654	100	1481	1506	16.610	1481	1506	402740	42.857	0	0	0

For example for function visualize_slide you have a fixed parameter F635 Median. I need to visualize F532 Median. I got problems with other functions like: plot_bg, matrix_normalize, extract_bg, etc... Obviously, I tried to fix them, but then give up.

Here is my version of visualize_slide function. You can use it and modify the code as you like. At least it works in my example. It works only for my files, but I assume it might works for other formats as well. Sorry no annotation here.

visualize_slide <- function(infile, MFI_var, d_f = NA, ncol = 2, interactive = TRUE, height = 400, width = 400, pointsize = 2, margin = NULL, names = NULL){

  require(cowplot)
  require(ggplot)
  require(ggplotly)
  require(dplyr)

  if (is.na(d_f)) {
    d_f <- read_array_visualize(infile)
  }
  
  N = length(unique(d_f$Block))
  nrow = ceiling(N/ncol)
  
  fig.height = height * nrow
  fig.width = width * ncol
  
  if(is.null(names)){names = sprintf("Block %s",1:N)}
  if(length(names) != N){stop("names is a character vector with length equal number of blocks")}

# Not sure if I need it?
#  if(is.null(margin)) margin = c(0,0,0,0)
  
  
  d_f <- d_f %>%
    dplyr::mutate(
      Block = factor(Block,
                     levels=unique(Block),
                     labels=names)) 

  # Keep the same name ...
  d_f <- d_f %>%
    dplyr::mutate(., across(all_of(MFI_var),.fns=log2,.names="logMFI"))
  
  # 
  g <- ggplot(d_f, aes(x = X, y = Y, color = logMFI, text = paste(Name,"<br> MFI:", round(2^logMFI,0))))
  g <- g + geom_point(size = pointsize)
  g <- g + scale_color_distiller(palette = "YlOrRd", direction = 1)
  g <- g + scale_y_reverse() + theme(legend.position = "none")
  g <- g + facet_wrap(~Block, scales = "free", ncol = ncol)

  if(interactive){
    ggplotly(g,
             height = fig.height,
             width =fig.width)
  }else{
    g
  }
}

from protgear.

Keniajin avatar Keniajin commented on July 26, 2024

In the example of the visualize_slide() function as shown below
#' visualize_slide( #' infile = system.file("extdata", "/array_data/machine1/KK2-06.txt", #' package="protGear"), #' MFI_var = "B635 Median" #' )

You can specify the exact name of the parameter you want to visualize. In your case the MFI_var will be F532 Median .

For the other functions, you have to specify the parameters to use while doing the processing.

  • channel - The scanner fluorescence output used to record the data. in your case it will be 532
  • chip_path - the folder where the sub folders of 'gpr' or 'txt' files are stored. This path contains sub folders with the array data, for example the sub folders for the different batches.
  • totsamples - the number of samples in a slide or array.
  • blockspersample - The number of blocks a sample it takes. In our example files each sample occupies 2 blocks each with 384 spots.
    The parameters are specified using the genepix_vars() function. The vignette has a detailed explanation.

from protgear.

Related Issues (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.