将Bam文件转换为CSV

时间:2018-12-15 11:14:36

标签: r csv bioinformatics

我有一个bam文件,有人知道如何将bam文件转换为csv文件吗?我正在尝试使用R软件打开bam文件,但是到目前为止,我不确定如何使用bam文件获取变量。

rm(list=ls())

#install bam packages
source("http://bioconductor.org/biocLite.R")
biocLite("Rsamtools",suppressUpdates=TRUE)
biocLite("RNAseqData.HNRNPC.bam.chr14",suppressUpdates=TRUE)
biocLite("GenomicAlignments",suppressUpdates=TRUE)


#load library
library(Rsamtools)
library(RNAseqData.HNRNPC.bam.chr14)
library(GenomicAlignments)
bamfile <- file.path("C:","Users","azzop","Desktop","I16-1144-01-esd_m1_CGCTCATT-AGGCGAAG_tophat2","accepted_hits.bam")
gal<-readGAlignments(bamfile)
gal
length(gal)
names(gal)

当我插入名字(gal)时,它给我NULL不确定是正确的。

我想将bam转换为csv,以便于读取数据

1 个答案:

答案 0 :(得分:2)

我建议将BAM转换为BED,然后将BED文件读入R。

您可以使用bedtools将BAM转换为BED。

此抽象代码应该起作用:

bamfile <- "C:/Users/azzop/Desktop/I16-1144-01-esd_m1_CGCTCATT-AGGCGAAG_tophat2/accepted_hits.bam"
# This code line sends command to convert BAM to BED (might take some time)
system(paste("bedtools bamtobed -i", bamfile, "> myBed.bed"))
library(data.table)
myData <- fread("myBed.bed")

在这里,我使用fread包中的函数data.table来快速读取数据。