0

我正在尝试从 GEO/SRA 下载 BAM 格式的数据集,可用于在 RStudio 中进行分析。

我尝试使用这种方法:我下载 .sra 并将其转换为 .bam

prefetch GSM269238
sam-dump C:\Users\Desktop\sratoolkit.2.10.8-win64\bin\ncbi\SRA\sra\GSM2692389.sra --output-file GSM2692389.bam

但是,在 RStudio 中这不起作用,并返回一个错误,说它无法读取 bam 文件 这是我的 R 代码;我正在使用 RSamTools

> bamfiles <- list.files("directory redacted due to privacy", ".bam")
> file.exists(bamfiles)
[1] TRUE
> 
> 
> #---> Define bam files for count step on Rsamtools
> 
> library("Rsamtools")
> bamfiles <- BamFileList(bamfiles, yieldSize=2000000)
> seqinfo(bamfiles)
Error in value[[3L]](cond) : 
  failed to open BamFile: SAM/BAM header missing or empty
  file: 'GSM2692389.bam'

有谁知道如何帮助我将 SRA 数据下载到可读的 .bam 文件中?任何帮助或指导将不胜感激,因为我真的想在最后期限之前完成。

4

1 回答 1

1

我会说您的问题是由于您实际上没有 bam 文件这一事实引起的!现在,您的命令正在下载 sam 文件(因此名称为 sam-dump),而您只是使用 bam 扩展名保存这些文件(一个简单的测试是head在您的“bam 文件”上使用。如果您可以阅读它们,那么它们不是二进制的,这意味着它们不是 bam。否则,您可以samtools view按照 bli 的建议使用 )。

话虽如此,您可以试试这个(确保在使用之前安装了 samtools):

sam-dump C:\Users\Desktop\sratoolkit.2.10.8-win64\bin\ncbi\SRA\sra\GSM2692389.sra | samtools view -bS - > GSM2692389.bam

此外,如果您对下载 .sra 文件不是特别感兴趣,您不妨使用它,它更简单、更短(也可能更快):

sam-dump SRR5799988 | samtools view -bS - > GSM2692389.bam

我冒昧地将您的 GSM 号码替换为相关的 SRR 号码(请参阅https://www.ncbi.nlm.nih.gov/sra?term=SRX2979455),但请不要犹豫,仔细检查 SRR!


有关 sam-dump 的更多信息:https ://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc&f=sam-dump

于 2020-08-07T16:05:04.123 回答