我正在尝试从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文件中吗?任何帮助或指导都将是非常感谢的,因为我真的在努力在最后期限之前完成这个任务。
发布于 2020-08-07 16:05:04
我想说的是,您的问题是由于您实际上没有bam文件!现在,您的命令正在下载sam文件(因此名为sam-dump),您只是用bam扩展名保存这些文件(一个简单的测试是在"bam文件“上使用head。如果你能读到它们,那么它们就不是二进制的,这意味着它们不是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我冒昧地用相关的SRR号码替换了您的GSM号码(请参阅https://www.ncbi.nlm.nih.gov/sra?term=SRX2979455 ),但不要犹豫再次检查SRR!
有关sam的更多信息:https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc&f=sam-dump
https://stackoverflow.com/questions/63290119
复制相似问题