Last updated: 2022-05-23

Checks: 7 0

Knit directory: amnio-cell-free-RNA/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20200224) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 9554b21. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    .bpipe/
    Ignored:    analysis/obsolete_analysis/
    Ignored:    code/.bpipe/
    Ignored:    code/.rnaseq-test.groovy.swp
    Ignored:    code/obsolete_analysis/
    Ignored:    data/.bpipe/
    Ignored:    data/190717_A00692_0021_AHLLHFDSXX/
    Ignored:    data/190729_A00692_0022_AHLLHFDSXX/
    Ignored:    data/190802_A00692_0023_AHLLHFDSXX/
    Ignored:    data/200612_A00692_0107_AHN3YCDMXX.tar
    Ignored:    data/200612_A00692_0107_AHN3YCDMXX/
    Ignored:    data/200626_A00692_0111_AHNJH7DMXX.tar
    Ignored:    data/200626_A00692_0111_AHNJH7DMXX/
    Ignored:    data/CMV-AF-database-final-included-samples.csv
    Ignored:    data/GONE4.10.13.txt
    Ignored:    data/HK_exons.csv
    Ignored:    data/HK_exons.txt
    Ignored:    data/IPA molecule summary.xls
    Ignored:    data/IPA-molecule-summary.csv
    Ignored:    data/deduped_rRNA_coverage.txt
    Ignored:    data/gene-transcriptome-analysis/
    Ignored:    data/hg38_rRNA.bed
    Ignored:    data/hg38_rRNA.saf
    Ignored:    data/ignore-overlap-mapping/
    Ignored:    data/ignore/
    Ignored:    data/rds/
    Ignored:    data/salmon-pilot-analysis/
    Ignored:    data/star-genome-analysis/
    Ignored:    output/c2Ens.RData
    Ignored:    output/c5Ens.RData
    Ignored:    output/hEns.RData
    Ignored:    output/keggEns.RData
    Ignored:    output/obsolete_output/

Unstaged changes:
    Modified:   .gitignore
    Modified:   analysis/STAR-FC-exclude-US-ab.Rmd

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/STAR-DEXSeq-exclude-US-ab.Rmd) and HTML (docs/STAR-DEXSeq-exclude-US-ab.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
html de15fc8 Jovana Maksimovic 2021-09-25 Build site.
Rmd 3ecd7b4 Jovana Maksimovic 2021-09-25 wflow_publish("analysis/STAR-DEXSeq-exclude-US-ab.Rmd")

Data import

readHTSeq <- function(files){
  names(files) <- strsplit2(files, "_")[,6]
  files <- files[grepl("CMV", names(files))]
  
  tmp <- lapply(files, function(file){
    read.delim(file, sep = "\t", row.names = 1, header = FALSE)
  })
  
  counts <- bind_cols(tmp) 
  colnames(counts) <- names(tmp)
  rownames(counts) <- sub(":", ":E", rownames(counts))
  
  counts
}
        
pe <- readHTSeq(list.files(here("data/star-genome-analysis/count-exons-pe"), 
                        pattern="PE.txt$", full.names = TRUE))
New names:
* V2 -> V2...1
* V2 -> V2...2
* V2 -> V2...3
* V2 -> V2...4
* V2 -> V2...5
* ...
se <- readHTSeq(list.files(here("data/star-genome-analysis/count-exons-se"), 
                        pattern="SE.txt$", full.names = TRUE))
New names:
* V2 -> V2...1
* V2 -> V2...2
* V2 -> V2...3
* V2 -> V2...4
* V2 -> V2...5
* ...
counts <- pe + se
counts <- counts[grepl("^ENSG", rownames(counts)),]

dim(counts)
[1] 662662     28

Load sample information.

id CMV_status pair sex GA_at_amnio indication
CMV2 neg M1 F 20 no_us_ab
CMV1 pos M1 F 21 no_us_ab
CMV4 pos M2 M 21 no_us_ab
CMV3 neg M2 M 22 no_us_ab
CMV19 pos NC2 F 18 no_us_ab
CMV35 neg L5 M 21 no_us_ab
CMV30 pos L1 F 21 no_us_ab
CMV31 neg L1 F 21 no_us_ab
CMV8 neg L2 F 23 no_us_ab
CMV9 pos L2 F 23 no_us_ab
CMV26 pos L3 F 22 no_us_ab
CMV56 neg L3 F 21 no_us_ab
CMV14 neg L4 F 21 no_us_ab
CMV15 pos L4 F 22 no_us_ab
CMV20 pos L5 M 21 no_us_ab
CMV51 neg L6 M 22 no_us_ab
CMV57 pos L6 M 21 no_us_ab
CMV58 pos L7 M 20 no_us_ab
CMV60 neg L7 M 20 no_us_ab
CMV52 pos L8 M 22 no_us_ab
CMV61 neg L8 M 22 no_us_ab
CMV54 neg L9 F 21 no_us_ab
CMV21 neg NC1 F 21 no_us_ab

Only retain paired samples with clinical information for downstream analysis.

int <- intersect(colnames(counts), targets$id)
targets <- targets[match(int, targets$id),]
counts <- counts[,match(int, colnames(counts))]

head(counts) %>% knitr::kable()
CMV30 CMV31 CMV8 CMV9 CMV26 CMV14 CMV15 CMV20 CMV21 CMV1 CMV2 CMV3 CMV4 CMV19 CMV35 CMV51 CMV52 CMV54 CMV56 CMV57 CMV58 CMV60 CMV61
ENSG00000000003.15:E001 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0
ENSG00000000003.15:E002 33 34 21 45 46 41 36 35 38 45 38 19 43 49 25 23 24 33 21 38 27 15 14
ENSG00000000003.15:E003 7 13 3 6 9 11 14 6 6 13 12 5 9 10 5 3 4 7 3 9 4 7 2
ENSG00000000003.15:E004 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ENSG00000000003.15:E005 6 10 3 7 6 6 10 3 6 3 10 5 7 6 5 4 4 8 3 4 1 4 1
ENSG00000000003.15:E006 8 6 3 7 2 4 8 3 6 5 10 5 6 3 4 3 4 5 2 4 3 3 1

DEXSeq analysis

Create the sample table.

sampleTable <- data.frame(row.names = targets$id,
                          condition = targets$CMV_status,
                          pair = targets$pair)
head(sampleTable) %>% knitr::kable()
condition pair
CMV30 pos L1
CMV31 neg L1
CMV8 neg L2
CMV9 pos L2
CMV26 pos L3
CMV14 neg L4

Setup the data. Compare exon usage between CMV negative and positive samples. Sample pairing is taken into account.

formulaFullModel    =  ~ sample + exon + pair:exon + condition:exon
formulaReducedModel =  ~ sample + exon + pair:exon

out <- here("data/rds/DEXSeq-exclude-US-ab.rds")
if(!file.exists(out)){
  splitted <- strsplit(rownames(counts), ":")
  exons <- sapply(splitted, "[[", 2)
  genesrle <- sapply(splitted, "[[", 1)
  flatGff <- list.files(here("data/star-genome-analysis"), 
                           pattern="DEXSeq.chr.gff$", full.names = TRUE)
  aggregates <- read.delim(flatGff, stringsAsFactors = FALSE, 
                           header = FALSE)
  colnames(aggregates) <- c("chr", "source", "class", "start", 
                            "end", "ex", "strand", "ex2", "attr")
  aggregates$strand <- gsub("\\.", "*", aggregates$strand)
  aggregates <- aggregates[which(aggregates$class == "exonic_part"), ]
  aggregates$attr <- gsub("\"|=|;", "", aggregates$attr)
  aggregates$gene_id <- sub(".*gene_id\\s(\\S+).*", "\\1", 
                            aggregates$attr)
  transcripts <- gsub(".*transcripts\\s(\\S+).*", "\\1", 
                      aggregates$attr)
  transcripts <- strsplit(transcripts, "\\+")
  exonids <- gsub(".*exonic_part_number\\s(\\S+).*", "\\1", 
                  aggregates$attr)
  exoninfo <- GRanges(as.character(aggregates$chr), 
                      IRanges(start = aggregates$start, 
                              end = aggregates$end), 
                      strand = aggregates$strand)
  names(exoninfo) <- paste(aggregates$gene_id, exonids, 
                           sep = ":E")
  names(transcripts) <- rownames(exoninfo)
  matching <- match(rownames(counts), names(exoninfo))
  
  dxd <- DEXSeqDataSet(
    as.matrix(counts),
    sampleData = sampleTable,
    design = ~ sample + exon + condition:exon,
    featureID = exons,
    groupID = genesrle,
    exoninfo[matching], 
    transcripts[matching])
  
} else {
  dxd <- readRDS(file = out)
  
}
if(!file.exists(out)){
  dxd = estimateSizeFactors( dxd )
} 

Estimate disperions. Plot.

if(!file.exists(out)){
  BPPARAM = MulticoreParam(min(26, multicoreWorkers()))
  dxd = estimateDispersions( dxd, 
                             BPPARAM=BPPARAM,
                             formula = formulaFullModel )
}
plotDispEsts( dxd )

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Test for differential exon usage.

if(!file.exists(out)){
  dxd = testForDEU( dxd, 
                    BPPARAM=BPPARAM,
                    reducedModel = formulaReducedModel, 
                    fullModel = formulaFullModel )
}

Estimate exon fold changes.

if(!file.exists(out)){
  dxd = estimateExonFoldChanges(dxd, BPPARAM=BPPARAM )
  saveRDS(dxd, file = out)
} 

Number of statistically significant differentially used exons.

dxr1 = DEXSeqResults( dxd )
table ( dxr1$padj < 0.1 )

FALSE  TRUE 
42301    14 

Number of genes with statistically significant differential exon usage.

table ( tapply( dxr1$padj < 0.1, dxr1$groupID, any ) )

FALSE  TRUE 
   66    13 

MA plots of differential exons usage. Significant exons are shown in red.

DEXSeq::plotMA( dxr1, cex=0.8 )

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Annotate results with gene symbols. Display most statistically significant differentially used exons.

deg <- read.csv(here("output/star-fc-ruv-all.csv"))

dxr1[which(dxr1$padj < 0.1),] %>% data.frame %>%
  dplyr::arrange(groupID, padj) %>%
  mutate(symbol = NA, .before = groupID) %>%
  mutate(deg = NA, .after = symbol)-> topDex

for(i in 1:nrow(topDex)){
  
  keys <- gsub("\\.[0-9]*", "", 
               strsplit(topDex$groupID[i], "+", 
                        fixed=TRUE)[[1]])
  
  symbol <- select(org.Hs.eg.db, keys = keys, 
         columns = c("ENTREZID", "SYMBOL"), 
         keytype = "ENSEMBL")$SYMBOL
  
  topDex$symbol[i] <- paste(symbol, collapse = "+")
  topDex$deg[i] <- any(keys %in% deg$Ensembl)
}
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
topDex %>% knitr::kable()
symbol deg groupID featureID exonBaseMean dispersion stat pvalue padj neg pos log2fold_pos_neg genomicData.seqnames genomicData.start genomicData.end genomicData.width genomicData.strand countData.CMV30 countData.CMV31 countData.CMV8 countData.CMV9 countData.CMV26 countData.CMV14 countData.CMV15 countData.CMV20 countData.CMV21 countData.CMV1 countData.CMV2 countData.CMV3 countData.CMV4 countData.CMV19 countData.CMV35 countData.CMV51 countData.CMV52 countData.CMV54 countData.CMV56 countData.CMV57 countData.CMV58 countData.CMV60 countData.CMV61 transcripts
ENSG00000007202.15:E041 KIAA0100 FALSE ENSG00000007202.15 E041 20.36674 0.0010632 17.34702 3.11e-05 0.0967841 1.3933713 1.246101 -0.5139657 chr17 28634671 28635609 939 - 18 28 25 24 13 27 32 15 19 16 20 27 28 20 24 38 7 25 21 17 16 16 14 ENST0000….
ENSG00000135272.11:E017 MDFIC FALSE ENSG00000135272.11 E017 223.77382 0.0001602 30.17716 0.00e+00 0.0016686 2.3396646 2.375240 0.1186993 chr7 115015962 115019202 3241 + 311 381 155 180 369 215 306 302 318 270 289 188 256 99 249 213 152 222 232 207 334 171 106 ENST0000….
ENSG00000136872.20:E020 ALDOB TRUE ENSG00000136872.20 E020 30.36784 0.0004139 18.88255 1.39e-05 0.0616827 1.5478150 1.395801 -0.5227151 chr9 101430776 101430897 122 - 27 39 31 41 23 18 15 32 24 17 22 25 63 142 29 24 8 23 16 57 21 16 5 ENST0000….
ENSG00000136872.20:E023 ALDOB TRUE ENSG00000136872.20 E023 20.44411 0.0008302 18.79209 1.46e-05 0.0616827 1.4207578 1.212531 -0.7271615 chr9 101435709 101435762 54 - 20 31 25 26 15 11 12 24 18 15 15 21 40 79 19 20 5 15 11 36 14 10 5 ENST0000….
ENSG00000139726.11:E015 DENR FALSE ENSG00000139726.11 E015 50.66492 0.0002702 17.50242 2.87e-05 0.0967841 1.6814271 1.758811 0.2620617 chr12 122770071 122771064 994 + 70 73 44 45 68 45 86 67 76 78 77 42 83 40 45 48 35 38 48 41 56 20 32 ENST0000….
ENSG00000140988.16+ENSG00000206811.1+ENSG00000255513.1+ENSG00000207405.1:E027 RPS2+SNORA10+NA+SNORA64 FALSE ENSG00000140988.16+ENSG00000206811.1+ENSG00000255513.1+ENSG00000207405.1 E027 25.73094 0.0005985 21.75290 3.10e-06 0.0262456 1.4801025 1.333642 -0.5064787 chr16 1964357 1964365 9 - 23 36 25 26 26 33 23 18 18 24 39 23 25 26 50 45 14 25 37 18 15 15 28 ENST0000….
ENSG00000166801.15:E027 FAM111A FALSE ENSG00000166801.15 E027 57.11587 0.0002819 17.29391 3.20e-05 0.0967841 1.7298976 1.808517 0.2656931 chr11 59152219 59155034 2816 + 61 70 47 49 69 76 129 70 68 81 68 35 61 53 47 60 45 56 65 74 71 30 27 ENST0000….
ENSG00000174992.8:E004 ZG16 FALSE ENSG00000174992.8 E004 14.33009 0.0010231 18.32582 1.86e-05 0.0716148 1.2520622 1.131955 -0.4264955 chr16 29780104 29782973 2870 + 13 7 11 27 60 13 18 15 15 14 19 13 12 10 12 18 4 14 16 18 17 11 2 ENST0000….
ENSG00000182795.13:E001 C1orf116 FALSE ENSG00000182795.13 E001 177.13545 0.0007915 20.34286 6.50e-06 0.0456537 2.2307619 2.274289 0.1454078 chr1 207018522 207020694 2173 - 216 240 160 193 244 156 265 286 252 218 197 162 176 130 188 177 124 165 155 194 241 94 107 ENST0000….
ENSG00000197249.14:E016 SERPINA1 TRUE ENSG00000197249.14 E016 95.85830 0.0001960 19.95172 7.90e-06 0.0480108 2.0286795 1.926626 -0.3426304 chr14 94383003 94383170 168 - 120 93 38 162 112 116 55 68 99 60 86 51 189 243 97 131 24 128 74 164 110 69 19 ENST0000….
ENSG00000204520.14+ENSG00000288587.1+ENSG00000206337.12:E040 MICA+NA+HCP5 TRUE ENSG00000204520.14+ENSG00000288587.1+ENSG00000206337.12 E040 12.77231 0.2154214 21.90977 2.90e-06 0.0262456 0.5466140 1.248350 2.7293487 chr6 31465889 31472408 6520 + 4 0 1 66 15 12 11 17 0 26 1 0 31 44 2 2 14 0 1 30 25 1 1 ENST0000….
ENSG00000234745.11+ENSG00000204525.16:E033 HLA-B+HLA-C TRUE ENSG00000234745.11+ENSG00000204525.16 E033 17.44191 0.0012901 27.28947 2.00e-07 0.0024707 0.9935214 1.280585 1.0303547 chr6 31353875 31354296 422 - 9 6 9 76 16 6 22 21 4 18 2 11 32 66 4 11 7 6 2 47 29 2 6 ENST0000….
ENSG00000259529.2+ENSG00000213928.9+ENSG00000092098.17:E087 NA+IRF9+RNF31 FALSE ENSG00000259529.2+ENSG00000213928.9+ENSG00000092098.17 E087 13.45485 0.0009100 27.75840 1.00e-07 0.0024707 0.9986611 1.254060 0.9182167 chr14 24162144 24162280 137 + 13 9 5 23 14 6 34 19 11 25 7 10 25 17 9 8 12 10 8 22 26 8 7 ENST0000….
ENSG00000283840.1+ENSG00000100811.14:E021 MIR6764+YY1 FALSE ENSG00000283840.1+ENSG00000100811.14 E021 26.67056 0.0004510 19.03412 1.28e-05 0.0616827 1.3870768 1.509828 0.4228808 chr14 100278143 100278470 328 + 34 36 24 22 35 26 58 50 44 36 30 18 34 20 23 14 22 24 23 26 38 19 9 ENST0000….

Plot genes with statistically significant differential exon usage. Exclude exons belonging to multiple genes.

keep <- !grepl("+",topDex$groupID, fixed = TRUE)

dexGenes <- unique(topDex$groupID[keep])
dexSymbols <- unique(topDex$symbol[keep])

par(oma = c(1,1,2,1))  
for(i in 1:length(dexGenes)){
  plotDEXSeq( dxr1, dexGenes[i], 
              legend=TRUE, cex.axis=1, cex=1, lwd=2,
              displayTranscripts = TRUE, splicing = TRUE,
              expression = TRUE, norCounts = TRUE)
  title(main = dexSymbols[i], outer = TRUE, cex.main = 2)

}

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25

Version Author Date
de15fc8 Jovana Maksimovic 2021-09-25
topDex[keep,] %>% 
  arrange(pvalue) %>% 
  knitr::kable()
symbol deg groupID featureID exonBaseMean dispersion stat pvalue padj neg pos log2fold_pos_neg genomicData.seqnames genomicData.start genomicData.end genomicData.width genomicData.strand countData.CMV30 countData.CMV31 countData.CMV8 countData.CMV9 countData.CMV26 countData.CMV14 countData.CMV15 countData.CMV20 countData.CMV21 countData.CMV1 countData.CMV2 countData.CMV3 countData.CMV4 countData.CMV19 countData.CMV35 countData.CMV51 countData.CMV52 countData.CMV54 countData.CMV56 countData.CMV57 countData.CMV58 countData.CMV60 countData.CMV61 transcripts
ENSG00000135272.11:E017 MDFIC FALSE ENSG00000135272.11 E017 223.77382 0.0001602 30.17716 0.00e+00 0.0016686 2.339665 2.375240 0.1186993 chr7 115015962 115019202 3241 + 311 381 155 180 369 215 306 302 318 270 289 188 256 99 249 213 152 222 232 207 334 171 106 ENST0000….
ENSG00000182795.13:E001 C1orf116 FALSE ENSG00000182795.13 E001 177.13545 0.0007915 20.34286 6.50e-06 0.0456537 2.230762 2.274289 0.1454078 chr1 207018522 207020694 2173 - 216 240 160 193 244 156 265 286 252 218 197 162 176 130 188 177 124 165 155 194 241 94 107 ENST0000….
ENSG00000197249.14:E016 SERPINA1 TRUE ENSG00000197249.14 E016 95.85830 0.0001960 19.95172 7.90e-06 0.0480108 2.028679 1.926626 -0.3426304 chr14 94383003 94383170 168 - 120 93 38 162 112 116 55 68 99 60 86 51 189 243 97 131 24 128 74 164 110 69 19 ENST0000….
ENSG00000136872.20:E020 ALDOB TRUE ENSG00000136872.20 E020 30.36784 0.0004139 18.88255 1.39e-05 0.0616827 1.547815 1.395801 -0.5227151 chr9 101430776 101430897 122 - 27 39 31 41 23 18 15 32 24 17 22 25 63 142 29 24 8 23 16 57 21 16 5 ENST0000….
ENSG00000136872.20:E023 ALDOB TRUE ENSG00000136872.20 E023 20.44411 0.0008302 18.79209 1.46e-05 0.0616827 1.420758 1.212531 -0.7271615 chr9 101435709 101435762 54 - 20 31 25 26 15 11 12 24 18 15 15 21 40 79 19 20 5 15 11 36 14 10 5 ENST0000….
ENSG00000174992.8:E004 ZG16 FALSE ENSG00000174992.8 E004 14.33009 0.0010231 18.32582 1.86e-05 0.0716148 1.252062 1.131955 -0.4264955 chr16 29780104 29782973 2870 + 13 7 11 27 60 13 18 15 15 14 19 13 12 10 12 18 4 14 16 18 17 11 2 ENST0000….
ENSG00000139726.11:E015 DENR FALSE ENSG00000139726.11 E015 50.66492 0.0002702 17.50242 2.87e-05 0.0967841 1.681427 1.758811 0.2620617 chr12 122770071 122771064 994 + 70 73 44 45 68 45 86 67 76 78 77 42 83 40 45 48 35 38 48 41 56 20 32 ENST0000….
ENSG00000007202.15:E041 KIAA0100 FALSE ENSG00000007202.15 E041 20.36674 0.0010632 17.34702 3.11e-05 0.0967841 1.393371 1.246101 -0.5139657 chr17 28634671 28635609 939 - 18 28 25 24 13 27 32 15 19 16 20 27 28 20 24 38 7 25 21 17 16 16 14 ENST0000….
ENSG00000166801.15:E027 FAM111A FALSE ENSG00000166801.15 E027 57.11587 0.0002819 17.29391 3.20e-05 0.0967841 1.729898 1.808517 0.2656931 chr11 59152219 59155034 2816 + 61 70 47 49 69 76 129 70 68 81 68 35 61 53 47 60 45 56 65 74 71 30 27 ENST0000….

sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS:   /config/binaries/R/4.0.2/lib64/R/lib/libRblas.so
LAPACK: /config/binaries/R/4.0.2/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8    
 [5] LC_MONETARY=en_AU.UTF-8    LC_MESSAGES=en_AU.UTF-8   
 [7] LC_PAPER=en_AU.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats4    parallel  stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
 [1] org.Hs.eg.db_3.12.0         limma_3.46.0               
 [3] DEXSeq_1.36.0               RColorBrewer_1.1-2         
 [5] AnnotationDbi_1.52.0        DESeq2_1.30.1              
 [7] SummarizedExperiment_1.20.0 GenomicRanges_1.42.0       
 [9] GenomeInfoDb_1.26.7         IRanges_2.24.1             
[11] S4Vectors_0.28.1            MatrixGenerics_1.2.1       
[13] matrixStats_0.59.0          BiocParallel_1.24.1        
[15] patchwork_1.1.1             NMF_0.23.0                 
[17] Biobase_2.50.0              BiocGenerics_0.36.1        
[19] cluster_2.1.0               rngtools_1.5               
[21] pkgmaker_0.32.2             registry_0.5-1             
[23] forcats_0.5.1               stringr_1.4.0              
[25] dplyr_1.0.4                 purrr_0.3.4                
[27] readr_1.4.0                 tidyr_1.1.2                
[29] tibble_3.1.2                ggplot2_3.3.5              
[31] tidyverse_1.3.0             here_1.0.1                 
[33] workflowr_1.6.2            

loaded via a namespace (and not attached):
 [1] readxl_1.3.1           backports_1.2.1        BiocFileCache_1.14.0  
 [4] plyr_1.8.6             splines_4.0.2          gridBase_0.4-7        
 [7] digest_0.6.27          foreach_1.5.1          htmltools_0.5.1.1     
[10] fansi_0.5.0            magrittr_2.0.1         memoise_2.0.0.9000    
[13] doParallel_1.0.16      Biostrings_2.58.0      annotate_1.68.0       
[16] modelr_0.1.8           askpass_1.1            prettyunits_1.1.1     
[19] colorspace_2.0-2       blob_1.2.1             rvest_0.3.6           
[22] rappdirs_0.3.3         haven_2.3.1            xfun_0.23             
[25] crayon_1.4.1           RCurl_1.98-1.3         jsonlite_1.7.2        
[28] genefilter_1.72.1      survival_3.2-7         iterators_1.0.13      
[31] glue_1.4.2             gtable_0.3.0           zlibbioc_1.36.0       
[34] XVector_0.30.0         DelayedArray_0.16.3    scales_1.1.1          
[37] DBI_1.1.1              Rcpp_1.0.6             xtable_1.8-4          
[40] progress_1.2.2         bit_4.0.4              httr_1.4.2            
[43] ellipsis_0.3.2         pkgconfig_2.0.3        XML_3.99-0.5          
[46] dbplyr_2.1.0           locfit_1.5-9.4         utf8_1.2.1            
[49] tidyselect_1.1.0       rlang_0.4.11           reshape2_1.4.4        
[52] later_1.1.0.1          munsell_0.5.0          cellranger_1.1.0      
[55] tools_4.0.2            cachem_1.0.4           cli_3.0.0             
[58] generics_0.1.0         RSQLite_2.2.5          broom_0.7.4           
[61] evaluate_0.14          fastmap_1.1.0          yaml_2.2.1            
[64] knitr_1.31             bit64_4.0.5            fs_1.5.0              
[67] whisker_0.4            xml2_1.3.2             biomaRt_2.46.3        
[70] compiler_4.0.2         rstudioapi_0.13        curl_4.3              
[73] reprex_1.0.0           statmod_1.4.35         geneplotter_1.68.0    
[76] stringi_1.5.3          highr_0.8              lattice_0.20-41       
[79] Matrix_1.3-2           vctrs_0.3.8            pillar_1.6.1          
[82] lifecycle_1.0.0        bitops_1.0-7           httpuv_1.5.5          
[85] R6_2.5.0               hwriter_1.3.2          promises_1.2.0.1      
[88] codetools_0.2-18       assertthat_0.2.1       openssl_1.4.3         
[91] rprojroot_2.0.2        withr_2.4.2            Rsamtools_2.6.0       
[94] GenomeInfoDbData_1.2.4 hms_1.0.0              grid_4.0.2            
[97] rmarkdown_2.6          git2r_0.28.0           lubridate_1.7.9.2