实验记录 | somatic.pl的运行3

2023-11-30 09:40
文章标签 运行 记录 实验 somatic pl

本文主要是介绍实验记录 | somatic.pl的运行3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接2的程序,又报了一系列的错误,我们再次整理。

ERROR MESSAGE: Unable to retrieve result

ERROR MESSAGE: Could not read file /home/zxx/QBRC/human/tumor/tumor_intervals.list because The interval file does not exist.

ERROR MESSAGE: Could not read file /home/zxx/QBRC/human/tumor/realigned.bam because java.io.FileNotFoundException: human/tumor/realigned.bam (No such file or directory)

ERROR MESSAGE: Could not read file /home/zxx/QBRC/human/tumor/tumor_bqsr because it does not exist

使用谷歌搜索解决方案。
有如下:
参考链接:https://www.jianshu.com/p/dd60506b06a2

这是因为设置的VQSR这一步,numBad这个参数设置太大了,调低一些就可以了

另外一点线索的是:

GATK的版本的问题。旧版GATK已经不再维护(据说是这样)。

所以,针对于这种情况,我好像又走不通了(主要原因觉得是提供给搜索引擎的信息太少了)。
每一个步骤的执行是进阶式的,只有上一步走通了,下一步才会不报错。所以究其原因,我觉得是我对于源代码的理解还不是很够。

我想首先弄明白它这里的VQSR是什么?

Variant Quality Score Recalibration 突变质量重新校准。是gatk的一个关键性的步骤。

现在有两个解决的思路:
(1)着手理解somatic.pl的处理过程(感觉这套流程主要用的还要属GATK,我想知道它在其中是怎样的位置,负责处理什么?有哪些关键性的程序被放进程序包里了,而且是怎么被调用的)。
(2)着手理解GATK。

插播&更新
这个网站可能帮助我找到联系人的邮箱:
https://blog.csdn.net/weixin_44424296/article/details/114460923
https://github.com/Edison19991109
如果我能够联系到这个同学将会是事半功倍的。
jianning.18@intl.zju.edu.cn
主要用的代码,如下(在这里记录一下):
git clone https://github.com/Edison19991109/DST_Group_Project.git
cd DST_Group_Project/
git log
非常好用。感谢。
这些内容是留存给自己看的,所以写的时候就稍微随意了一些。有时候是多个文件并行处理的,就会忘记某个内容是写在那个文件中了。而且我也很怕命名,我觉得命名很难不重复。
2021/5/15

我尝试联系原作者以及之前学过这部分内容的前辈,杳无音信。所以,还是要靠自己才是。
生活是美好的,生命是美好的,要用自己的生命创造美丽的事。
2021/5/16
继续啃这部分的内容。

这个代码比我想象中的要复杂,看来需要重新捡起perl的知识点了。
如果早一点的看到源代码,也许并不需要之前花很多功夫用在配置环境上,因为突然发现这里很多软件的运行的重要模块都在它的路径之中。
现在,看代码是必由之路了。

结合代码以及出错的记录,才恍然醒悟自己原来在比对的环节就出了问题。除了一开始的这个文件缺少,那个文件缺少。现在也存在,作者一开始在这个压缩包里的文件本身就不是很全。指令常常缺乏。可能我现在也比较菜,对于这个未知的事物,一片茫然。但好在每天都有学到一些东西了,希望老师给我时间。关于,这个方面,我觉得我还需要一些建议。

现在突然对自己的评价很低,觉得自己真的是只有“名声”而没有真正实力的人。希望有一天,自己的实力能够和所在的学校匹配。XXX学校的人不差的。而我也好惭愧,觉得自己没能给家人一点支持,而他们又是如此的尊敬我。越想越有些难过。

以后的路要靠自己了,不要把自己看的那么重要。风啊雨啊,就来找我吧,我准备好了。
我觉得自己一直以来都在追赶,从来没有照顾好自己的心情。把自己的心情照顾好之后,做起事情会事半功倍。
让自己平静下来。

========================================================
bwa mem -v 1 -t 32 -a -M /home/zxx/QBRC/geneome/hg19/hg19.fa fastq1.fastq fastq2.fastq
报错说:

[E::bwa_idx_load_from_disk] fail to locate the index files

也就是说,缺乏参考基因组的索引。
在网上查了一圈出错的原因,没怎么看明白。
后来,去查了bwa的使用方法,突然醒悟到,是不是本身就需要建立索引呢?而确实是,自己没有建立索引。
于是,着手建立索引(是啊,比对的时候怎么能不建立索引呢?)。
bwa index -a bwtsw hg19.fa

[bwt_gen] Finished constructing BWT in 695 iterations.
[bwa_index] 3218.70 seconds elapse.
[bwa_index] Update BWT… Killed

我的索引配置完成了,需要较长的时间。
ls

hg19.dict hg19.fa.amb hg19.fa.bwt hg19.fa.pac
hg19.fa hg19.fa.ann hg19.fa.fai

其中,.amb.bwt.pac.ann,就是新配置完成的索引。
我们重新运行,看是否报同样的错误。

fail to open file ‘/home/zxx/QBRC/geneome/hg19/hg19.fa.sa’ : No such file or directory

缺少文件,是没有建立完全索引吗?
好,重新建立索引(13:09-14:03)。也就是说,建立一个索引,需要时间为一个小时。

[bwt_gen] Finished constructing BWT in 695 iterations.
[bwa_index] 3103.69 seconds elapse.
[bwa_index] Update BWT… Killed

是同样的错误,生成的文件中仍然没.sa文件。
参考链接:https://blog.csdn.net/mjy1757355155/article/details/103658745
显示说是ubuntu的内存不够。
我想看一下,最近因为安装各种软件,使用了多少内存,现在还剩多少空间。
df -h

/dev/sda7 65G 45G 20G 75% /

的确磁盘空间不太充足。
刚好,新的移动硬盘到了。我将fasta文件,重新移动到硬盘上,在这样大的空间中去运行。重新运行代码,看是否会报错。

出现了新的错误?怎么会?

[BWTIncConstructFromPacked] 360 iterations done. 3600000000 characters processed.
[BWTIncConstructFromPacked] 370 iterations done. 3700000000 characters processed.
[BWTIncConstructFromPacked] 380 iterations done. 3800000000 characters processed.
BWTIncConstructFromPacked() : Can’t read from hg19.fa.pac : Input/output error

参考链接:https://www.biostars.org/p/405187/

输入的这个目录没有读写权限。因此读取失败?

通过对命令进行核实,我发现我是有存储空间的。

参考链接:https://www.biostars.org/p/338017/
当程序意外停止的时候,可以注意查看log文件。这个作者遇到的问题,和我一模一样。

主要出错的原因是时间或者空间的限制。
提高空间的分配我能够理解,但是提高时间的限制怎么说?

最后,折腾了半天,终于破案了。
主要的原因:将内存与存储空间搞混了。
我一直想着可能是存储空间的限制,但是英文中的memory的意思其实是“内存”的意思。
所以,我明白了我的问题在什么地方了。
在这里插入图片描述所以,我的电脑也太菜了。
这是,我第一次关注到这个问题。
所以,还是从本质上暴露了自己一些计算机的基础很薄弱。基础,永远是自己向上发展的渠道。明白了进一步学习的方向。

更新进度(2021.6.2/9:49)。
在服务器中,重新运行指令,建立索引完成,终于终于,向前推进了一步。
所以,最终出错的原因,就是bwa比对的过程中,电脑的运行内存的受限。

展示最后的结果:
在这里插入图片描述

这篇关于实验记录 | somatic.pl的运行3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/436549

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --