Dear Team,
First, thanks for all your efforts - in particular for encapsulating in goldmine and abbreviating what has been many a previous effort in mapping DM results to a RefSeq genome.
Please excuse if the following are not so much issues but questions about the code, which presumably then is working as designed.
Q1. Given a query range that overlaps a promoter of a subject gene for which there is no entry in the resulting goldmine gene table (such as row 1 in the example dmrQuery below), then is it true that there is no such entry in the resulting goldmine gene table since the given query range does not overlap with the subject gene body?
Q2. Given a query range that results in a value of promoter_per > 100 (such as row 2 in the example dmrQuery below), what is the meaning of context$promoter_per in this case?
Q3. What is the meaning of gene$Promoter?
Best,
Carl B.
Here's example code.
library(goldmine)
library(data.table)
dmrBedText = "track name = dmrTrack description= my DMR description
chr1 730452 730843 0.3575 -8.9775
chr1 31296092 31296616 0.2786 NA"
dmrBedRows <- read.table(text = dmrBedText, skip = 1)
setnames(dmrBedRows, c("chr", "start", "end", "meanPmDiff", "logPVal"))
dmrQuery <- makeGRanges(dmrBedRows)
# build local refseq DB
CACHE_DIR <- "gbcache"
GENOME <- "hg38"
REFSEQ <- "refseq"
refseqGenes <-
getGenes(REFSEQ, genome = GENOME, cachedir = CACHE_DIR)
NUMBER_BP_UPSTREAM_OF_PROMOTER <- 2000
NUMBER_BP_DOWNSTREAM_OF_PROMOTER <- 200
dmrToRefseqOverlap <-
goldmine(
query = dmrQuery,
genes = refseqGenes,
promoter = c(
NUMBER_BP_UPSTREAM_OF_PROMOTER,
NUMBER_BP_DOWNSTREAM_OF_PROMOTER
),
genome = GENOME,
cachedir = CACHE_DIR
)
dmrToRefseqOverlap$context
dmrToRefseqOverlap$genes
Here's the output.
Computing gene models
Generating context annotation - genes
Generating genes report
Generating exon/intron overlap diagrams
> dmrToRefseqOverlap$context
chr start end width strand meanPmDiff logPVal qrow promoter_per end3_per exon_per intron_per
1: chr1 730452 730843 392 * 0.3575 -8.9775 1 100.00 0 0.00 0.00
2: chr1 31296092 31296616 525 * 0.2786 NA 2 103.62 0 1.14 98.86
intergenic_per utr5_per utr3_per call call_genes overlapped_genes nearest_genes
1: 100 0 0 promoter LOC100133331 LOC100133331 LOC100133331, FAM87B
2: 0 0 0 promoter ZCCHC17, SNRNP40 SNRNP40, ZCCHC17 SNRNP40
distance_to_nearest_gene url
1: 100 http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&position=chr1%3A730452-730843
2: 0 http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&position=chr1%3A31296092-31296616
> dmrToRefseqOverlap$genes
qrow srow query.chr query.start query.end gene.symbol gene.id isoform.id isoform.chr isoform.start
1: 2 51109 chr1 31296092 31296616 SNRNP40 SNRNP40 NM_004814 chr1 31259568
isoform.end isoform.strand overlap.bp query.overlap.per isoform.overlap.per noncoding Promoter
1: 31296797 - 525 100 1.41 FALSE 3.62
ExonIntron
1: E1 (1.14), I1 (98.86), E2 (0), I2 (0), E3 (0), I3 (0), E4 (0), I4 (0), E5 (0), I5 (0), E6 (0), I6 (0), E7 (0), I7 (0), E8 (0), I8 (0), E9 (0), I9 (0), E10 (0)
3' End url
1: 0 http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&position=chr1%3A31296092-31296616
>
Dear Team,
First, thanks for all your efforts - in particular for encapsulating in goldmine and abbreviating what has been many a previous effort in mapping DM results to a RefSeq genome.
Please excuse if the following are not so much issues but questions about the code, which presumably then is working as designed.
Q1. Given a query range that overlaps a promoter of a subject gene for which there is no entry in the resulting goldmine
genetable (such as row 1 in the exampledmrQuerybelow), then is it true that there is no such entry in the resulting goldminegenetable since the given query range does not overlap with the subject gene body?Q2. Given a query range that results in a value of
promoter_per> 100 (such as row 2 in the exampledmrQuerybelow), what is the meaning ofcontext$promoter_perin this case?Q3. What is the meaning of
gene$Promoter?Best,
Carl B.
Here's example code.
Here's the output.