1.三代长读长测序差异可变剪切工作流(二)——rMATS-long
2.Trimmomatic、测序测序SOAPnuke、源码sickle和seqtk的软件比较
3.生物信息百Jia软件(二):fastp
4.dubbo知识点之管理工具dubbo-admin分享
5.单细胞(细胞核)转录组分析
6.拷贝数变异CNV的生物信息学分析(二)
三代长读长测序差异可变剪切工作流(二)——rMATS-long
rMATS-long是一个专门针对长读RNA-seq数据的集成计算工作流程。该工作流程建立在ESPRESSO工具之上,测序测序旨在利用长读长RNA-seq数据的源码强大能力进行转录本发现和定量分析。rMATS-long能够对样本组之间的软件云停车平台源码差异亚型进行详细分析,并提供亚型结构和丰度的测序测序分类与可视化结果。
该工作流程检测的源码AS类型包括:外显子跳跃(SE)、可变5'剪接位点(A5SS)、软件可变3'剪接位点(A3SS)、测序测序互斥外显子(MXE)、源码内含子保留(RI)、软件可变第一外显子(AFE)、测序测序可变最后一个外显子(ALE)。源码
ESPRESSO是软件一种处理长读长RNA-seq数据的新颖方法,其显著提高了剪接点的准确性和亚型的定量分析能力。
三代转录组研究可变剪切(AS)事件具有重要意义。它能检测到更多、更复杂且低丰度的可变剪切事件,提供更全面的剪切图谱,识别新的转录本和剪切模式,从而更准确地理解转录调控机制。相比二代转录组,三代技术如PacBio SMRT-seq和Oxford Nanopore技术避免了在测序前的RNA库构建和PCR扩增,减少了偏差。
rMATS-long和ESPRESSO的源代码在GitHub上可获取。
感兴趣的读者可以加入QQ群,与群内的专业人士交流学习。
Trimmomatic、SOAPnuke、sickle和seqtk的比较
在WGS数据分析的准备阶段,选择正确的数据过滤工具至关重要。本文章旨在探讨Trimmomatic、SOAPnuke、sickle和seqtk在fastq数据过滤方面的特点与差异。首先,Trimmomatic的安装教程已在前文详述,此处不再重复。SOAPnuke的安装有两种方法:一、确保你的系统支持automake,安装多个第三方c++程序库如boost、log4cplus和openssl,xlpl源码并根据需要修改CMakeLists.txt文件;二、在公众号后台回复SOAPnuke,获取已编译好的Linux版本以及配套数据和代码。接下来,sickle和seqtk的安装相对简单,可通过GitHub下载源码编译或使用Mac上的Homebrew安装。安装完成后,以untreated.fq文件为例,开始数据过滤。
Trimmomatic:选择单端测序模式(SE)和Phred质量值体系,设定质量阈值为SLIDINGWINDOW:5:,LEADING:5和TRAILING:5切除首尾低质量碱基,最小read长度设定为bp。SOAPnuke通过局部比对去除adapter序列,但过滤方式有缺陷,主要通过设定低质量碱基比例阈值来筛选。sickle专注于低质量碱基切除,而seqtk则是一个简洁的处理工具,仅支持phred质量值体系。
比较这四个工具的过滤结果,使用R的qrqc包进行数据分析与可视化。qrqc包能帮助分析read位置上的质量值分布,通过ggplot2展示图1和图2。图1显示原始数据和修剪后数据在read末端质量值的下降趋势,图2对比所有数据的质量值分布,直观展示Trimmomatic、sickle和seqtk对读段末端低质量碱基的处理效果,而SOAPnuke的过滤效果较差。
结论是,Trimmomatic表现最优,sickle次之,seqtk第三,尽管Trimmomatic丢弃的数据略多,但其过滤效果更为显著。seqtk不丢弃任何read,只是缩短长度,保留原数据。SOAPnuke的过滤效果最差,其方法不适用于有效处理末端低质量碱基。建议根据具体需求选择工具,如需去除接头序列则使用Trimmomatic,jsonp源码仅过滤低质量碱基或低质量read时可选Trimmomatic或sickle,seqtk适用于phred质量值体系且不希望read被过滤的场景。
生物信息百Jia软件(二):fastp
在众多序列质控过滤软件中,fastp凭借其卓越的性能和易用性脱颖而出。这款由中国深圳海普洛斯公司陈实富开发的软件,不仅功能全面,且操作简便,已经能满足大部分数据处理需求。它的亮点包括:一次性处理数据,涵盖低质量过滤、adapter去除、reads截取和大文件分割等操作;支持长读序列,适用不同测序平台如Pacbio和IonTorrent;并能直接输出质控和统计报告,格式包括json和html。fastp以高效的C++编写,执行速度极快。
安装和使用方面,fastp提供了多种选项。可以通过源代码安装和编译预编译版本。输入和输出文件通过-i和-o指定,注意输出文件可能需要加上.gz扩展名。质量体系选择、压缩格式、adapter处理、reads截取、质量过滤(包括Q值、百分比和N碱基过滤)以及reads长度控制等功能一应俱全。此外,还支持json和html格式的报告输出,以及线程使用和大文件分割处理等高级选项。
实例应用中,fastp的便捷性和灵活性使其在实际序列分析中大显身手,无论是数据预处理还是生成详细报告,都能轻松应对。无疑,fastp是生物信息学领域值得信赖的工具之一。
dubbo知识点之管理工具dubbo-admin分享
在dubbo的应用体系中,一直有一款图形化的rpc管理工具,通过这款管理工具,我们可以对我们的rpc服务进行各种管理操作,包括负载均衡、webviewclient源码权重调整、服务监测等,今天我们就先来简单看下这一款管理工具。
dubbo的管理服务,现在也是一个独立的应用,我们可以将它独立部署。项目地址如下:
根据官方介绍,目前的管理控制台已经发布0.1版本,结构上采取了前后端分离的方式,前端使用 Vue和 Vuetify分别作为 Javascript框架和UI框架,后端采用 Spring Boot 框架。既可以按照标准的 Maven 方式进行打包,部署,也可以采用前后端分离的部署方式,方便开发,功能上,目前具备了服务查询,服务治理(包括 Dubbo 2.7中新增的治理规则)以及服务测试三部分内容。
下面,我们看下如何在本地安装部署dubbo的管理控制台。
首先,我们要下载dubbo-admin的源码包或者部署包,如果下载源码包的话,需要你自己打包,由于又是前后端分离的项目,所以这里我就偷个懒,直接下载部署包:
下载完成后,直接解压,然后进入bin\config文件夹,这里有dubbo-admin的配置文件。因为后端是spring boot项目,所以这里的application.properties文件就是我们spring boot的配置文件,默认情况下,整个配置文件只有一些简单配置项:
因为没有项目的端口配置,所以默认情况下,dubbo-admin的访问端口是,当然你也可以自行修改;
配置文件中,首先是注册中心、配置中心、元数据中心的配置,今天我们演示的luajit源码注册中心是zk,所以这里就不修改了;
紧接着是管理平台的登录用户名和密码,默认都是root,你也可以根据自己的需要修改;
最后面是压缩的相关配置,这里应该是请求响应内容的压缩配置,主要是针对css/js以及页面等内容。
完成以上内容配置,我们就可以启动测序下了。首先,我们要先启动zk,然后启动我们的管理平台,直接访问我们dubbo-admin的服务地址即可,我配置的端口是,所以我访问的地址是/Richie-rider)找到。单细胞测序,如单细胞RNA测序(scRNA-Seq),通过高通量测序解析单个细胞的基因表达,揭示细胞间的异质性,对生物医学研究和精准医疗产生了深远影响。
单细胞测序技术的复杂性体现在,例如,一个基因被认为是表达的,通常需要在万个读数中达到RPKM。在实际操作中,为了确保准确性和细胞类型的识别,需要考虑逆转录效率和环境干扰,这往往意味着需要收集更多的单个细胞。当前,市场上有多种单细胞测序平台,如XGenomics,而分析方法主要在Python(如Scanpy和Monocle 3)和R(如Seurat和Monocle 2/3)平台上发展和应用。
拷贝数变异CNV的生物信息学分析(二)
Control-FREEC是一种用于检测拷贝数变异和等位基因不平衡的生物信息学工具,最初由巴黎居里研究所生物信息学实验室开发。它适用于全基因组测序、全外显子测序和目标区域捕获测序。分析全基因组数据时,无需对照样本;而进行全外显子组或靶向测序时,必须提供对照样本。Control-FREEC能够自动计算、归一化、片段拷贝数和等位基因频率(BAF),并根据这些信息呼叫拷贝数变异和等位基因丢失(LOH)。全基因组测序数据分析时,程序还可能利用GEM创建的映射性数据。CNA检测输入格式包括对齐的单端、成对或配对数据的SAM、BAM、SAMtools堆格式,且支持.gz压缩文件。CNA+LOH检测输入有两选项:提供SAMtools堆格式的对齐读取文件,文件可通过gzip压缩;或提供BAM文件与“makePileup”和“fastfile”选项,用于识别增益、损失和LOH区域、归一化拷贝数和BAF。
输出文件包括:扩增、缺失和LOH区域、归一化拷贝数和BAF文件。Control-FREEC提供了一系列使用指南,包括安装、测试数据、配置文件创建、输出文件阅读、R脚本计算预测显著性、输出可视化、格式转换以及生成GC含量概览等。软件包含三个子目录:data目录保存配置文件模板,包含WGS和WES模板;script目录包含常用脚本;src目录为软件源代码,其中freec可执行文件位于src目录下。
为了使用Control-FREEC,需要下载并安装miniconda,然后在新建的conda环境中进行安装。在新建的freec文件目录中,有三个主要目录:data目录用于配置文件模板,scripts目录包含常用脚本,src目录包含源代码和freec可执行文件。在使用Control-FREEC之前,需要先安装R、samtools、bedtools和sambamba等软件,或通过conda安装。mappability跟踪文件可用于增加映射信息。此外,如果数据覆盖度高且希望检测等位基因状态,则需要下载SNP文件并将其转换为pileup格式。
最后,下载示例数据集以进行测试。例如,可以从指定网址获取HCC和HCC-BL的数据,或获取用于测试LOH预测的未公开的肿瘤染色体数据。
一文详解基因组denovo组装原理和实战
面向未来生物医疗数据挖掘应用场景下,如何实现数据计算或挖掘的可扩展性、可重用性、可视性、伸缩性、高保真性。
关于更多生物医疗大数据分析工具和软件的介绍和使用请看六点了官网[1]。
1、基因组组装
2、基于De-Bruijn Graph的组装算法
3、SOAPdenovo的安装和使用说明:安装、说明、配置、运行
4、SOAPdenovo案例实战:数据下载、配置、运行、输出
大家好,这是我们六点了给大家介绍生物信息大数据分析基因组数据分析系列文章第一篇。我们会持续为大家分享关于生物医疗大数据处理相关的知识和案例,希望帮助大家更好地进行自己项目中生物医疗健康大数据处理工作。本篇文章主要四部分来为大家介绍基因组的denovo的知识和以及详细应用案例。①基因组组装、 ②基于De-Bruijn Graph的组装算法、 ③SOAPdenovo的安装和使用说明:安装、说明、配置、运行,以及 ④SOAPdenovo案例实战:数据下载、配置、运行、输出。
基因组组装 (Genome assembly)是生物信息学领域的核心问题,想要深入研究一个生物体,获得参考基因组是第一步也是必须的一步。基因组组装是将原始的下机序列还原成DNA序列片段、以至于整个物种全基因组序列的过程。
基因组组装是基因组分析的关键,对物种起源与进化,挖掘功能基因进而研究疾病发生和发展具有重大意义。
然而由于目前市面上广为应用的二代测序技术获得的测序序列一般都较短,因此如何通过短片段组装成完整的基因组成了亟待解决的问题。
基因组组装可分为基于参考基因组的组装(Mapping assembly)和从头组装(denovo assembly)。两者主要的区别在于是否存在已知的基因组参考序列作为参照。本文我们主要介绍的是denovo组装,即不依赖任何基因组参考序列相关信息而进行的序列组装。目前,应用于主流的基因组denovo组装的算法主要有两个[1]:OLC方法 (Overlap-Layout-Consensus)和 DBG方法 (De-Bruijn Graph)[2]。
而DBG方法的核心思想是将序列拼接问题转化为人们所熟知的欧拉图(Euler Graph)问题[3]。
DBG方法内存消耗相对较低,运算速度快,且准确率高。
目前主流的基因组装算法都是基于DBG方法改进设计的。
前面我们说到基因组denovo组装两种方法,下面主要展开说说基于De-Bruijn Graph的组装算法的基本原理。此处,就以目前使用比较广泛,由华大基因团队开发的SOAPdenovo[4]为例。软件的参考文献[5]有兴趣可以在参考资料看一下读读。
A:基因组DNA打断成小的片段,进行建库和双端测序。~bp的进行直接双端测序,长的片段2-kb的则先进行环化再进行双端测序。
B:组装的核心部分,进行De-Bruijn Graph的构建。构建De-Bruijn图的第一步是将测序read k-mer化,而所谓的k-mer是指将reads分成包含k个碱基的字符串,即拿一个k长度的窗口在整个read上1个碱基一个碱基的滑动,每次滑动窗口内部都会产生一个k大小的序列,即为一个k-mer,因此一般长短为m的reads可以分成m-k+1个k-mers。其中k一定是奇数,如果是偶数遇到回文序列可能会产生完全相同的k-mers。我们将k-mers作为图的节点,如果两个节点有 K-1个共同重叠子集,就把两个节点连接在一起,这样就会形成De-Bruijn Graph,可以看到该图可以很好地展现出序列的顺序信息。
C:进行图结构的精简。尽管前面步骤已经初步构建出图形,但是实际上由于测序错误,重复,杂合等原因,图上会出现很多类似翼尖(tips)、气泡(bubbles)等问题,因此还需要进一步简化。此处简化主要包含四个方面:1)去除tips(可能为测序错误导致的);2)去除低覆盖度的路径;3)解开微小重复的区域(可以通过read穿过来解决)4)合并bubbles气泡区(可能为测序错误,重复或者杂合导致的)。
D: 拆分出contig。在重复的节点处剪断,输出contigs。
E: 构建scaffolds。重新用reads和contigs进行比对,使用paired-end信息来把单一的contigs连接成scaffolds。1)paired reads 比对到contigs上,使临近的contig建立连接;3)paired-end信息的不同插入片段被用来一步步从短到长的建立scaffold.
F: 最终是把多个scaffold组装成无GAP的基因组序列。
SOAPdenovo目前已更新到SOAPdenovo2, github[6]链接: github.com/aquaskyline/...。
直接下载二进制[7]( sourceforge.net/project...)
源代码安装:
安装完可以看到SOAPdenovo-mer,SOAPdenovo-mer两个执行文件。mer代表支持的kmer最大长度为,mer代表支持的kmer最大长度为,除了支持的kmer长度不同外,其他用法完全相同。
SOAPdenovo由于计算量相对较大,对电脑的配置有一定的要求,官网对运行配置的说明:SOAPdenovo 的适用目标是大型植物和动物基因组,尽管它也适用于细菌和真菌基因组。它运行在至少 5G 物理内存的 位 Linux 系统上。对于像人类这样的大基因组,大约需要 GB 的内存。运行SOAPdenovo-mer即可看到SOAPdenovo主要包含了以下6个子命令:
其中,1-5分别表示组装的4个步骤(1,2是两种构图方式,二选一),all则用于一次执行以上的4个步骤。实际应用中,可以使用SOAPdenovo all 一步式跑完,也可以分成4步单独去跑。
soapdenovo需要一个配置文件config_file,里面给定输入文件和一些参数设置。 下面是配置文件的示例和说明:
拆分式:
一步式:
输出文件:运行完会有不少的文件生成,其中后缀分别为contig和scafSeq即为对应组装结果,分别对应contig和scaffold的结果。
下面我们找个NA样本的测序数据,具体来实践一下吧。
下载测序数据:
准备配置文件
vi config_file, 填入以下内容:
运行命令
此处我们将程序运行的标准输出和标准错误都分别重定向到对应的log和err文件中了。一步式运行:
四步单独运行:
输出结果
此处我们的测试数据做了截取,因此可以非常快速的跑完,具体的结果如下图所示,可以看到生成了不少的中间结果文件,其中组装出来的contig和scaford结果即图上圈出来的两个文件: *.contig:contig序列文件,fasta格式; *.scafSeq:scaffold序列文件,contig之间的gap用N填充 。
*.log和*.err是运行的日志,里面包含很多的统计信息,如N,N,contig/Scaffold等信息。
*.scaf:包括scaffold中contig的详细信息;在scaffold行中包括scaffold名字、contig长度和该scaffold长度。在contig行包括contig名字、contig在scaffold上的起始位置、正反链、长度和contig间的链接信息
*.links:contig间的pair-end连接信息
*.readOnContig:reads在contig上的位置。
从sixoclock下载soapdenovo2
此外,六点了官网基于CWL (common workflow language) 对SOAPdenovo2软件进行了封装,通过我们开发的`sixbox` 软件可以快速进行软件的运行。对sixbox不了解可以通过六点了官网了解下。下面是具体的运行步骤如下:
1)下载cwl 源码
sixbox pull cadc5-1a-4a-b-d6ee0db 或 在六点了官网上下载soapdenovo2.cwl
2) 下载数据
3) 使用sixbox生成参数模板文件(YAML) , 并配置yaml文件
不熟悉的,可以直接粘贴下方示例内容到soapdenovo2.job.yam
4)使用sixbox运行
运行结束即可看到当前目录或者指定的输出目录输出对应的SOAPdenovo 组装的结果文件。
至此,SOAPdenovo的实战体验基本就结束了。
以上为我们给大家带来的基因组denovo的基本原理知识,以及在平台上运行经典的SOAPdenovo的详细操作过程。也欢迎大家去我们六点了官网看我们放上去的SOAPdenovo2的CWL流程工具。
如果对生物医疗健康大数据相关内容感兴趣也可以持续关注我们。想要探索更多的软件流程或者知识文档,可以到六点了官网查看。
References
[1] 六点了官网: sixoclock.net
[2] OLC方法 (Overlap-Layout-Consensus)和 DBG方法 (De-Bruijn Graph): zh.wikipedia.org/wiki/%...
[3] 欧拉图(Euler Graph)问题: baike.baidu.com/item/欧拉图/
[4] SOAPdenovo: github.com/aquaskyline/...
[5] 参考文献: genome.org/cgi/doi/.1...
[6] github: github.com/aquaskyline/...
[7] 二进制: sourceforge.net/project...