r语言 - 如何从 SRA 下载 BAM 文件?我有SRA工具包,但我很困惑



我正试图从GEO/SRA下载BAM格式的数据集,以便在RStudio中进行分析。

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

prefetch GSM269238
sam-dump C:UsersDesktopsratoolkit.2.10.8-win64binncbiSRAsraGSM2692389.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文件中吗?任何帮助或指导都将不胜感激,因为我真的在努力赶在最后期限前完成这项工作。

我想说,您的问题是由您实际上没有bam文件这一事实引起的!现在,您的命令正在下载sam文件(因此得名sam-dump(,您只需使用bam扩展名保存这些文件(一个简单的测试是在您的"bam文件"上使用head。如果您能读取它们,则它们不是二进制的,这意味着它们不是bam。否则,您可以使用samtools view,正如bli所建议的那样(。

话虽如此,你能尝试一下吗(确保在使用之前安装了samtools(:

sam-dump C:UsersDesktopsratoolkit.2.10.8-win64binncbiSRAsraGSM2692389.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

相关内容

  • 没有找到相关文章

最新更新