tests/testthat/test-makeGRangesFromGFF-RefSeq.R

context("makeGRangesFromGFF : RefSeq")

skip_if_not(hasInternet())
file <- file.path("cache", "refseq.gtf")

test_that("GTF genes", {
    object <- makeGRangesFromGFF(file = file, level = "genes")
    expect_s4_class(object, "GRanges")
    expect_identical(length(object), 66L)
    expect_identical(names(object)[[1L]], "AGRN")
    expect_identical(
        object = lapply(mcols(object), class),
        expected = list(
            broadClass = Rle,
            dbXref = Rle,
            description = Rle,
            gbkey = Rle,
            geneBiotype = Rle,
            geneID = Rle,
            geneName = Rle,
            geneSynonym = Rle,
            pseudo = Rle,
            source = Rle,
            type = Rle
        )
    )
})

test_that("GTF transcripts", {
    object <- makeGRangesFromGFF(file = file, level = "transcripts")
    ## BioC 3.7+: CompressedGRangesList
    expect_s4_class(object, "GRangesList")
    expect_identical(length(object), 111L)
    expect_identical(names(object)[[1L]], "MIR1302-2")
    expect_identical(
        object = lapply(mcols(object[[1L]]), class),
        expected = list(
            broadClass = Rle,
            dbXref = Rle,
            description = Rle,
            exception = Rle,
            exonNumber = Rle,
            gbkey = Rle,
            geneBiotype = Rle,
            geneID = Rle,
            geneName = Rle,
            geneSynonym = Rle,
            inference = Rle,
            modelEvidence = Rle,
            note = Rle,
            product = Rle,
            pseudo = Rle,
            source = Rle,
            transcriptID = Rle,
            transcriptName = Rle,
            type = Rle
        )
    )
})

file <- file.path("cache", "refseq.gff3")

test_that("GFF3 genes", {
    object <- makeGRangesFromGFF(file = file, level = "genes")
    expect_s4_class(object, "GRanges")
    expect_identical(length(object), 62L)
    expect_identical(names(object)[[1L]], "CICP27")
    expect_identical(
        object = lapply(mcols(object), class),
        expected = list(
            broadClass = Rle,
            description = Rle,
            gbkey = Rle,
            geneBiotype = Rle,
            geneID = Rle,
            geneName = Rle,
            pseudo = Rle,
            source = Rle,
            type = Rle
        )
    )
})

test_that("GFF3 transcripts", {
    object <- makeGRangesFromGFF(file = file, level = "transcripts")
    expect_s4_class(object, "GRanges")
    expect_identical(length(object), 100L)
    expect_identical(names(object)[[1L]], "NM_001005221.2")

    if (packageVersion("GenomicRanges") < "1.31") {
        AsIs <- "AsIs"  # nolint
    } else {
        AsIs <- "list"  # nolint
    }
    expect_identical(
        object = lapply(mcols(object), class),
        expected = list(
            broadClass = Rle,
            description = Rle,
            exception = Rle,
            gbkey = Rle,
            geneBiotype = Rle,
            geneID = Rle,
            geneName = Rle,
            geneSynonym = AsIs,
            inference = Rle,
            modelEvidence = Rle,
            product = Rle,
            pseudo = Rle,
            source = Rle,
            transcriptID = Rle,
            type = Rle
        )
    )
})
acidgenomics/freerange documentation built on Jan. 8, 2020, 3:45 a.m.