readCdfNbrOfCellsPerUnitGroup {affxparser} | R Documentation

## Gets the number of cells (probes) that each group of each unit in a CDF file

### Description

Gets the number of cells (probes) that each group of each unit in a CDF file.

### Usage

    readCdfNbrOfCellsPerUnitGroup(filename, units=NULL, verbose=0)

### Arguments

`filename` | The filename of the CDF file.
`units` | An `integer` `vector` of unit indices specifying which units to be read. If `NULL`, all units are read.
`verbose` | An `integer` specifying the verbose level. If 0, the file is parsed quietly. The higher numbers, the more details.

### Value

A named `list` of named `integer` vectors. The name of the list elements are unit names and the names of the integer vector are group names.

### Author(s)

Henrik Bengtsson (http://www.braju.com/R/)

### Examples

    for (zzz in 0) {

    cdfFile <- findCdf("Mapping50K_Xba240")
    if (is.null(cdfFile))
      break

    groups <- readCdfNbrOfCellsPerUnitGroup(cdfFile)

    # Number of units read
    print(length(groups))
    #   59015

    # Details on two units
    print(groups[56:57])
    # $`SNP_A-1650338`
    #  C  G  C  G
    #  8  8 12 12
    #
    # $`SNP_A-1716667`
    #  A  G  A  G
    # 10 10 10 10

    # Number of groups with different number of cells
    print(table(unlist(groups)))
    #      6     8    10    12    14    16    60
    #  16348 59462 84344 59462 16348    20     4

    # Number of cells per unit
    nbrOfCellsPerUnit <- unlist(lapply(groups, FUN=sum))
    print(table(nbrOfCellsPerUnit))
    #   16    40    60
    #   20 58991     4

    # Number of groups per unit
    nbrOfGroupsPerUnit <- unlist(lapply(groups, FUN=length))

    # Details on a few units
    print(nbrOfGroupsPerUnit[20:30])
    # AFFX-barcodeP AFFX-barcodeQ AFFX-barcodeR AFFX-barcodeS AFFX-barcodeT
    #             1             1             1             1             1
    #   AFFX-601964   AFFX-656757   AFFX-721431   AFFX-737848  AFFX-1329481
    #             4             4             4             4             4
    #  AFFX-1375402
    #             4

    # Number of units for each unique number of groups
    print(table(nbrOfGroupsPerUnit))
    #   1     4
    #  24 58991

    x <- list()
    for (size in unique(nbrOfGroupsPerUnit)) {
      subset <- groups[nbrOfGroupsPerUnit==size]
      t <- matrix(unlist(subset), nrow=size)
      colnames(t) <- names(subset)
      x[[as.character(size)]] <- t
      rm(subset, t)
    }

    # Check if there are any quartet units where the number
    # of cells in Group 1 & 2 or Group 3 & 4 does not have
    # the same number of cells.
    # Group 1 & 2
    print(sum(x[["4"]][1,]-x[["4"]][2,] != 0))
    # 0

    # Group 3 & 4
    print(sum(x[["4"]][3,]-x[["4"]][4,] != 0))
    # 0

    # Clean up
    rm(cdfFile, groups, nbrOfCellsPerUnit, nbrOfGroupsPerUnit, x)
    } # for (zzz in 0)

[Package affxparser version 1.6.2 Index]