toDNAcopyObj {fastseg} | R Documentation

## Function to create a DNAcopy object for plot functions.

### Description

Function to create a DNAcopy object for plot functions.

### Usage

      toDNAcopyObj(segData, chrom, maploc, genomdat,
        sampleNames)

### Arguments

`segData` | The results of the segmentation.
`chrom` | The vector of the chromosomes from the original data.
`maploc` | A vector with the physical positions of the original data.
`genomdat` | A matrix with the original data.
`sampleNames` | The sample names of the original data.

### Value

An DNAcopy equivalent object.

### Author(s)

Andreas Mitterecker

### Examples

    library(fastseg)

    #####################################################################
    ### the data
    #####################################################################
    data(coriell)
    head(coriell)

    samplenames <- colnames(coriell)[4:5]
    data <- as.matrix(coriell[4:5])
    data[is.na(data)] <- median(data, na.rm=TRUE)
    chrom <- coriell$Chromosome
    maploc <- coriell$Position

    ###########################################################
    ## GRanges
    ###########################################################

    library("GenomicRanges")

    ## with both individuals
    gr <- GRanges(seqnames=chrom,
            ranges=IRanges(maploc, end=maploc))
    mcols(gr) <- data
    colnames(mcols(gr)) <- samplenames
    res <- fastseg(gr)

    segres <- toDNAcopyObj(
            segData     = res,
            chrom       = as.character(seqnames(gr)),
            maploc      = as.numeric(start(gr)),
            genomdat    = data,
            sampleNames = samplenames)

    ## with one individual
    gr2 <- gr
    data2 <- as.matrix(data[, 1])
    colnames(data2) <- "sample1"
    mcols(gr2) <- data2
    res <- fastseg(gr2)

    segres <- toDNAcopyObj(
            segData     = res,
            chrom       = as.character(seqnames(gr)),
            maploc      = as.numeric(start(gr)),
            genomdat    = as.matrix(data2),
            sampleNames = unique(mcols(res)$ID))

    ###########################################################
    ## vector
    ###########################################################
    data2 <- data[, 1]
    res <- fastseg(data2)
    segres <- toDNAcopyObj(
            segData     = res,
            chrom       = rep(1, length(data2)),
            maploc      = 1:length(data2),
            genomdat    = as.matrix(data2),
            sampleNames = "sample1")

    ###########################################################
    ## matrix
    ###########################################################
    data2 <- data[1:400, ]
    res <- fastseg(data2)
    segres <- toDNAcopyObj(
            segData     = res,
            chrom       = rep(1, nrow(data2)),
            maploc      = 1:nrow(data2),
            genomdat    = as.matrix(data2),
            sampleNames = colnames(data2))

    #####################################################################
    ### plot the segments
    #####################################################################

    library(DNAcopy)
    plot(segres)

[Package fastseg version 1.38.0 Index]