Why the threshold rank invariant normalization(Invariant set normalization) needs to be *10?
0
0
Entering edit mode
dasiav7 • 0
@dasiav7-14742
Last seen 6.3 years ago

"Normalize.invariantset" in package "affy" is:

##  The 'common-to-all' part of the algorithm. Operates on two vectors of numeric data

##
normalize.invariantset <- function(data, ref, prd.td=c(0.003,0.007)) {

  np <- length(data)
  r.ref <- rank(ref)
  r.array <- rank(data)

  ## init
  prd.td.adj <- prd.td*10                           # adjusted threshold things
  i.set <- rep(TRUE, np)                            # index all the PM probes as being in the invariant set
  ns <- sum(i.set)                                  # number of probes in the invariant set
  ns.old <- ns+50+1                                 # number of probes previously in the invariant set

  ## iterate while the number of genes in the invariant set (ns) still varies...
  while ( (ns.old-ns) > 50 ) {
    air <- (r.ref[i.set] + r.array[i.set]) / (2*ns)  # average intensity rank for the probe intensities
    prd <- abs(r.ref[i.set] - r.array[i.set]) / ns
    threshold <- (prd.td.adj[2]-prd.td[1]) * air + prd.td.adj[1]
    i.set[i.set] <- (prd < threshold)

    ns.old <- ns
    ns <- sum(i.set)

    if (prd.td.adj[1] > prd.td[1])
      prd.td.adj <- prd.td.adj * 0.9  # update the adjusted threshold parameters
  }

Does anybody know that why should the prd.td be multiplied by 10 first?

microarray normalization • 598 views
ADD COMMENT

Login before adding your answer.

Traffic: 830 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6