r - 将 Bam 文件转换为 CSV

标签 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,这样读取数据会更容易

最佳答案

我建议将 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")

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

关于r - 将 Bam 文件转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53791832/

相关文章:

R 列表到 data.frame

r - 追加两个列表列表的列表

mysql - 如何将 csv 日期格式转换为 mysql 数据库

r - 通过控制组将整个数据帧划分为几个子组中的每一个

r - Tidyverse 中向量的动态选择

Java:使用 ArrayList 检查 CSV 文件中的重复行

excel - 绕过以 + 或 - 开头的字段的 excel csv 公式转换

linux - 在 Linux 上安装 MRBAYES 3.2

string - R:如何根据规范更改数据框中的列名