lawremi / rtracklayer

R interface to genome annotation files and the UCSC genome browser
Other
29 stars 17 forks source link

Convert an R data.frame to bed format with rtracklayer #72

Closed loukesio closed 2 years ago

loukesio commented 2 years ago

It's not really an issue but I am struggling a lot with the case. Is it possible to convert an R data.frame to .bed format with tracklayer. At the moment I am facing something like this ..

I have a data.frame that looks like this.

bed <- data.frame(chrom=c(rep("Chr1",5)),
                        chromStart=c(18915152,24199229,73730,81430,89350),
                        chromEnd=c(18915034,24199347,74684,81550,89768), 
                         strand=c("-","+","+","+","+"))

write.table(bed, "test_xRNA.bed",row.names = F,col.names = F, sep="\t", quote=FALSE) 

Created on 2022-07-29 by the reprex package (v2.0.1)

and I want to convert it into a bed file. I try to do it with the writing.table function, but I fail miserably by taking this error comment when I look at the intersect

Error: unable to open file or unable to determine types for file test_xRNA.bed

- Please ensure that your file is TAB delimited (e.g., cat -t FILE).
- Also ensure that your file has integer chromosome coordinates in the 
  expected columns (e.g., cols 2 and 3 for BED).
lawremi commented 2 years ago

Please post questions like this on support.bioconductor.org in the future. I'd recommend using GenomicRanges::makeGRangesFromDataFrame() and passing the result to rtracklayer::export().