I have the following problem: I want to find the next 5 gene in (chr1_gene) on both side of a interval give from the GRanges (gr3) and generate a dataframe containing chr start end (from gr3) of the interval and i column for each ensembl_transcript_id with eventually NA.
Thanks a lot for suggestions!
df <- data.frame(chrom=c("chr1","chr1"), start=c(5087459, 9995206 ), end=c(5097899, 10015020 ))
gr3 <- as(df, "GRanges")
library(biomaRt)
ensembl = useEnsembl(biomart="ensembl", dataset="hsapiens_gene_ensembl")
chr1_genes <- getBM(attributes=c('ensembl_gene_id',
'ensembl_transcript_id','hgnc_symbol','chromosome_name','start_position','end_position'), filters =
'chromosome_name', values ="1", mart = ensembl)
head(chr1_gene)
ensembl_gene_id ensembl_transcript_id hgnc_symbol chromosome_name start_position end_position
1 ENSG00000231510 ENST00000443270 1 5086459 5090899
2 ENSG00000162444 ENST00000315901 RBP7 1 9997206 10016020
3 ENSG00000162444 ENST00000294435 RBP7 1 9997206 10016020
4 ENSG00000270171 ENST00000602640 1 7693124 7694844
5 ENSG00000225643 ENST00000412797 1 25581478 25590356
6 ENSG00000116497 ENST00000530710 S100PBP 1 32816767 32858879