找工程项目信息网站/搜索引擎优化排名
1. LUSH流程简介
基因组测序通常用于分子诊断、分期和预后,而大量测序数据在分析时间方面提出了挑战。
对于从FASTQ到VCF的整个流程,LUSH流程在非GVCF和GVCF模式下都大大降低了运行时间,30 X WGS数据耗时不到2 h,从BAM到VCF约需12分钟,比GATK流程快约17倍,比GATK-Spark流程快4.5倍;在准确性方面,LUSH和GATK的结果同样准确且高度一致。这对于儿科重症监护室(PICU)和新生儿重症监护室(NICU)中的婴儿等急性病患者至关重要。
LUSH可以有效地加速所有类型的DNAseq数据(如WGS,WES,PANEL等)的分析。由LUSH生成的BAM文件(遵循原始的BWA算法)也可用于随后的结构变异(SV)和拷贝数变异(CNV)的检测,用作常见SV调用者如Manta、Delly 和Lumpy 等软件的输入。
论文: Fast and accurate DNASeq variant calling workflow composed of LUSH toolkit
https://humgenomics.biomedcentral.com/articles/10.1186/s40246-024-00666-w
github: https://github.com/Bgi-LUSH/LUSH-DNASeq-pipeline
2. LUSH DNASeq工作流程
LUSH DNASeq工作流程是基于GATK最佳实践的优化管道,由LUSH_Aligner、LUSH_BQSR、LUSH_HC和LUSH_GenotypeGVCF组成。
LUSH_Aligner集成了多个功能模块,如SOAPnuke,Bwa MEM,Samtools sort和GATK-MarkDuplicates(Picard),同时基于原始算法进行了完全重新开发。
2.1 LUSH_Aligner
LUSH_Aligner由三个主要功能模块组成:“FqFilterAlignent”、“bwaMEM Alignent”和“SortDuplicateAlignent”,分别进行fastq过滤、比对齐以及BAM排序和标记重复任务。
2.2 LUSH_BQSR
测序仪产生的碱基质量分数受到各种系统性技术误差的影响,导致获得的质量分数过高或过低。碱基质量分数矫正(Base Quality Score Recalibration, BQSR)是使用机器学习方法对这些错误进行经验建模,并调整质量分数,主要包括2个步骤:Base Recalibration and applying BQSR。
LUSH_BQSR实现了生产者-消费者并行计算结构,以优化并行任务并提高CPU利用率,减少了冗余IO消耗,最终提高了处理速度。
2.3 LUSH_HC和LUSH_GenotypeGVCF
HaplotypeCaller采用区域内的局部从头组装方法,用于准确检测单核苷酸多态性(SNP)和小的插入缺失(Indels),主要包括4个连续的步骤:识别区域、区域内局部组装推断单倍型、估计可能值和利用隐马尔可夫模型(HMM)在贝叶斯推理的基础上确定基因型。LUSH_GenotypeGVCF(0.21小时)比GATK-GenotypeGVCF(1.13小时)快5倍。
LUSH_HC采用了进一步的任务细分策略,结合资源动态分配,以实现负载平衡并优化资源分配。
当以12个线程运行时,流程在约4.89小时内完成,当以56个线程运行时,流程在约1.6小时内完成,这表明LUSH流水线具有很大的线程可扩展性。
3. LUSH管道与GATK和GATK-Spark管道的准确性
LUSH的底层算法与GATK或GATK-Spark大致相同,因此它们预计会产生相同的结果。
LUSH和GATK管道的非GVCF模式和GVCF模式的结果比较表明,前者表现出更高的准确率和略低的召回率。F1分数显示非GVCF模式在两个流水线的准确性方面表现出更好的性能,与两个家系WGS数据完全一致。
4. 使用方法
# 克隆github项目
git clone https://github.com/Bgi-LUSH/LUSH-DNASeq-pipeline
4.1 lush_aligner构建参考基因组索引
# 构建hg19参考基因组序列索引
./bin/LUSH_toolkit-Aligner/lush_aligner index /path/hg19.fa
4.2 lush_aligner执行fastq过滤+比对+排序+标记重复
# 创建结果目录
mkdir -p ./outdir/clean_data./bin/LUSH_toolkit-Aligner/lush_aligner filter4mem \-6 ./outdir/ \-n 0.1 -J 0.5 -l 12 -g 2 -b 2 -t 20 -M \-r /path/hg19.fa \# 输出排序+标记重复bam-o ./outdir/NA12878.sort.dup.bam \-Z ./outdir/clean_data \# fastq路径及-R参数配置文件-i ./example_data/lush.config
./example_data/lush.config内容:
./example_data/NA12878_l01_1.fq.gz NA12878_l01_1 @RG\tID:NA12878.1\tLB:LibA\tSM:NA12878\tPL:COMPLETE\tCN:BGI
./example_data/NA12878_l01_2.fq.gz NA12878_l01_2
./example_data/NA12878_l02_1.fq.gz NA12878_l02_1 @RG\tID:NA12878.2\tLB:LibA\tSM:NA12878\tPL:COMPLETE\tCN:BGI
./example_data/NA12878_l02_2.fq.gz NA12878_l02_2
4.3 lush_bqsr执行碱基质量矫正和ApplyBQSR
export LD_LIBRARY_PATH=./bin/LUSH_toolkit-BQSR:$LD_LIBRARY_PATH./bin/LUSH_toolkit-BQSR/lush_bqsr \--bam_path /INPUT_PATH/NA12878.sort.dup.bam \--out_dir ./outdir/LUSH_BQSR \--plugin_path ./bin/LUSH_toolkit-BQSR/libbqsr.so \--producer_number 2 \--worker_number 21 \--fasta /path/hg19.fa \# 金标准indels vcf文件--known_site Mills_and_1000G_gold_standard.indels.hg19.vcf \--writer_thread 5 \--pr_one_bam 1
4.4 lush_hc执行GenotypeGVCFs变异检测
export LD_LIBRARY_PATH=./bin/LUSH_toolkit-HC:$LD_LIBRARY_PATH./bin/LUSH_toolkit-HC/lush_hc HaplotypeCaller \--pcr-indel-model NONE \-I /INPUT_PATH/NA12878.sort.dup.bam \-R hg19.fa \-O ./outdir/NA12878.vcf.gz
4.5 LUSH_GenotypeGVCFs
LUSH_GenotypeGVCFs是GATK GenotypeGVCFs功能使用C/C++的重新实现。
# UASGE:
# LUSH_GenotypeGVCF inputGvcfFile outputVcfFile stand-call-conf# inputGvcfFile input VCF file
# outputGvcfFile output file name:/file/NA12878_PCR.vcf.gz
# stand-call-conf The minimum phred-scaled confidence threshold at which variants # should be called:10.0# 示例
export LD_LIBRARY_PATH=./bin/LUSH_toolkit-GenotypeGVCFs:$LD_LIBRARY_PATH./bin/LUSH_toolkit-GenotypeGVCFs/lush_genotypegvcfs \
INPUT_PATH/NA12878.g.vcf.gz \
./outdir/NA12878.vcf.gz 10
5. GATK管道Shell脚本
Usage:GATK_pipeline.sh [-i FQFile] [-t THREAD] [-o OUTDIR] [-m MODEL] [-s PREFIX] [-p SPARK]Description:FQFile, the path of INPUT fastq file, should be like '/path/fastq1,/path/fatq2'THREAD, the number of thread [10]OUTDIR, the path of outdir [./]PREFIX, the prefix of outputfile [GATKtest]MODE, GVCF or not [Y/N]SPARK, Spark or not [Y/N]GATK_pipeline.sh \
-i /PATH/MGISEQ2000_PCR-free_NA12878_30X_1.fq.gz,/PATH/MGISEQ2000_PCR-free_NA12878_30X_2.fq.gz \
-t 40 \
-o ./ \
-m N \
-s samplename \
-p N
6. 比较LUSH和GATK管道获得的变异VCF文件
Haplotype_Comparison.sh \
-i LUSHtest.vcf.gz,GATKtest.vcf.gz \
-t 40 \
-o ./ -s sample
生信软件文章推荐
生信软件1 - 测序下机文件比对结果可视化工具 visNano
生信软件2 - 下游比对数据的统计工具 picard
生信软件3 - mapping比对bam文件质量评估工具 qualimap
生信软件4 - 拷贝数变异CNV分析软件 WisecondorX
生信软件5 - RIdeogram包绘制染色体密度图
生信软件6 - bcftools查找指定区域的变异位点信息
生信软件7 - 多线程并行运行Linux效率工具Parallel
生信软件8 - bedtools进行窗口划分、窗口GC含量、窗口测序深度和窗口SNP统计
生信软件9 - 多公共数据库数据下载软件Kingfisher
生信软件10 - DNA/RNA/蛋白多序列比对图R包ggmsa
生信软件11 - 基于ACMG的CNV注释工具ClassifyCNV
生信软件12 - 基于Symbol和ENTREZID查询基因注释的R包(easyConvert )
生信软件13 - 基于sambamba 窗口reads计数和平均覆盖度统计
生信软件14 - bcftools提取和注释VCF文件关键信息
生信软件15 - 生信NGS数据分析强大的工具集ngs-bits
生信软件16 - 常规探针设计软件mrbait
生信软件17 - 基于fasta文件的捕获探针设计工具catch
生信软件18 - 基于docker部署Web版 Visual Studio Code
生信软件19 - vcftools高级用法技巧合辑
生信软件20 - seqkit+awk+sed+grep高级用法技巧合辑
生信软件21 - 多线程拆分NCBI-SRA文件工具pfastq-dump
生信软件22 - 测序数据5‘和3‘端reads修剪工具sickle
生信软件23 - Samtools和GATK去除PCR重复方法汇总
生信软件24 - 查询物种分类学信息和下载基因组TaxonKit和ncbi-genome-download
生信软件25 - 三代测序数据灵敏比对工具ngmlr
生信软件26 - BWA-MEM比对算法性能更好的bwa-mem2
生信软件27 - 基于python的基因注释数据查询/检索库mygene
生信软件28 - fastq与bam的reads数量计算与双端fastq配对检测工具fastq-pair
生信软件29 - 三代数据高效映射精确的长读段比对工具mapquik
生信软件30 - 快速单倍型分析工具merlin
生信软件31 - Bcftools操作VCF/BCF文件高级用法合集
生信软件32 - 变异位点危害性评估预测工具合集
生信软件33 - Wgsim生成双端(PE) fastq模拟数据
生信软件34 - 大幅提升Python程序执行效率的工具Pypy
生信软件35 - AI代码编辑器Cursor
生信软件36 - SAM/BAM/CRAM文件插入SNV/INDEL/SV工具Bamsurgeon
生信软件37 - 基于测序reads变异进行单倍型分型工具WhatsHap
生信软件38 - 基因型填充软件IMPUTE2
相关文章:

生信软件39 - GATK最佳实践流程重构,提高17倍分析速度的LUSH流程
1. LUSH流程简介 基因组测序通常用于分子诊断、分期和预后,而大量测序数据在分析时间方面提出了挑战。 对于从FASTQ到VCF的整个流程,LUSH流程在非GVCF和GVCF模式下都大大降低了运行时间,30 X WGS数据耗时不到2 h,从BAM到VCF约需…...

c#编写的各类应用程序、类库的引用(黑白盒)
001 课程简介,C# 语言简介,开发环境准备 (yuque.com)https://www.yuque.com/yuejiangliu/dotnet/timothy-csharp-001 一个Solution里包含多个Project 一、见识 C# 编写的各类应用程序 二、类库的引用(黑/白盒引用) 1、黑盒引用&a…...

计算机网络考研笔记
...

用感性的方式浅要了解什么是AI 与 大模型
什么是人工智能(AI)? 人工智能(Artificial Intelligence,简称 AI)是指由人制造出来的具有一定智能的系统,能够理解和学习人类的行为,并在某些任务上模仿人类的智能行为。这些任务包…...

Linux文件的查找和打包以及压缩
文件的查找 文件查找的用处,在我们需要文件但却又不知道文件在哪里的时候 文件查找存在着三种类型的查找 1、which或whereis:查找命令的程序文件位置 2、locate:也是一种文件查找,但是基于数据库的查找 3、find:针…...

专题十四_哈希表_算法专题详细解答
目录 哈希表简介 1. 两数之和(easy) 解析: 解法一:暴力: 解法二:哈希O(N) 总结: 2. 判断是否互为字符重排(easy) 解析: 哈希: 总结&…...

C++源码生成·序章
文章目录 C源码生成序章1 概述1.1 前言1.2 Python 易用性简介 2 使用 python 生成 c 源码2.1 运行脚本2.2 结果 3 项目启动3.1 项目概述3.2 环境准备3.3 克隆仓库3.4 查看标签(Tags)3.4 根据标签拉取代码3.5 后续步骤 C源码生成序章 1 概述 1.1 前言 …...

Android中的MVP模式
MVP(Model-View-Presenter)架构在 Android 开发中是一种流行的架构模式,它将业务逻辑和 UI 代码分离,通过 Presenter 来处理用户的操作和界面更新。MVP 提高了代码的可维护性和测试性,特别是 Presenter 中的逻辑可以单…...

kebuadm部署k8s集群
官方文档: Installing kubeadm | Kubernetes 切记要关闭防⽕墙、selinux、禁用交换空间, cpu核⼼数⾄少为2 内存4G kubeadm部署k8s⾼可用集群的官方文档: Creating Highly Available Clusters with kubeadm | Kubernetes 你需要在每台…...

Unity3D学习FPS游戏(2)简单场景、玩家移动控制
前言:上一篇的时候,我们已经导入了官方fps的素材,并且对三维模型有了一定了解。接下来我们要构建一个简单的场景让玩家能够有地方移动,然后写一个简单的玩家移动控制。 简单场景和玩家移动 简单场景玩家移动控制玩家模型视野-摄像…...

网上的 AQS 文章让我很失望
一、AQS 很多人都没有讲明白 🤔 翻看了网上的 AQS(AbstractQueuedSynchronizer)文章,质量参差不齐,大多数都是在关键处跳过、含糊其词,美其名曰 “传播知识” 。 大多数都是进行大段的源码粘贴和注释&…...

滑动窗口子串
文章目录 滑动窗口一、无重复字符的最长子串二、找到字符串中所有字母异位词 子串三、和为 K 的子数组四、滑动窗口最大值五、最小覆盖子串 滑动窗口 一、无重复字符的最长子串 题目链接 (方法一:暴力枚举) (方法二ÿ…...

【windows11 提示“Microsoft Visual C++ Runtime Library Runtime Error】
windows11 提示“Microsoft Visual C++ Runtime Library Runtime Error” 问题描述解决方法郑重声明:本人原创博文,都是实战,均经过实际项目验证出货的 转载请标明出处:攻城狮2015 Platform: windows OS:windows11 问题描述 解决方法 下载VisualCppRedist_AIO_x86_x64.exe 安…...

【leetcode|哈希表、动态规划】最长连续序列、最大子数组和
目录 最长连续序列 解法一:暴力枚举 复杂度 解法二:优化解法一省去二层循环中不必要的遍历 复杂度 最大子数组和 解法一:暴力枚举 复杂度 解法二:贪心 复杂度 解法三:动态规划 复杂度 最长连续序列 输入输…...

【人工智能】掌握深度学习中的时间序列预测:深入解析RNN与LSTM的工作原理与应用
深度学习中的循环神经网络(RNN)和长短时记忆网络(LSTM)在处理时间序列数据方面具有重要作用。它们能够通过记忆前序信息,捕捉序列数据中的长期依赖性,广泛应用于金融市场预测、自然语言处理、语音识别等领域…...

今日开放!24下软考机考「模拟练习平台」操作指南来啦!
2024年下半年软考机考模拟练习平台今日开放,考生可以下载模拟作答系统并登录后进行模拟练习,熟悉答题流程及操作方法。 一、模拟练习时间 2024年下半年软考机考模拟练习平台开放时间为2024年10月23日9:00至11月6日17:00,共15天。 考生可以在…...

合并.md文档
需求:将多个.md文档合并成一个.md文档。 方法一:通过 type 命令 参考内容:多个md文件合并 步骤: 把需要合并的 .md 文档放入到一个文件夹内。修改需要合并的 .md 文档名,可以在文档名前加上 1.2.3 来表明顺序&#x…...

10月18日笔记(基于系统服务的权限提升)
系统内核漏洞提权 当目标系统存在该漏洞且没有更新安全补丁时,利用已知的系统内核漏洞进行提权,测试人员往往可以获得系统级别的访问权限。 查找系统潜在漏洞 手动寻找可用漏洞 在目标主机上执行以下命令,查看已安装的系统补丁。 system…...

【STM32 Blue Pill编程实例】-控制步进电机(ULN2003+28BYJ-48)
控制步进电机(ULN2003+28BYJ-48) 文章目录 控制步进电机(ULN2003+28BYJ-48)1、步进电机介绍2、ULN2003步进电机驱动模块3、硬件准备及接线4、模块配置3.1 定时器配置3.2 ULN2003输入引脚配置4、代码实现在本文中,我们将介使用 STM32Cube IDE 使用 ULN2003 电机驱动器来控制28B…...

监督学习、无监督学习、半监督学习、强化学习、迁移学习、集成学习分别是什么对应什么应用场景
将对监督学习、无监督学习、半监督学习、强化学习、迁移学习和集成学习进行全面而详细的解释,包括定义、应用场景以及具体的算法/模型示例。 1. 监督学习 (Supervised Learning) 定义:监督学习是一种机器学习方法,其中模型通过已知的输入数…...

WSL2 Linux子系统调整存储位置
WSL2 默认不支持修改Linux 安装路径,官方提供的方式,只有通过导出、导入的方式实现Linux子系统的迁移。 修改注册表的方式官方不推荐,没有尝试过,仅提供操作方式(自行评估风险,建议备份好数据) 1. 打开 **注册表编辑器…...

Shiro授权
一、定义与作用 授权(Authorization),也称为访问控制,是确定是否允许用户/主体做某事的过程。在Shiro安全框架中,授权是核心组件之一,它负责控制用户对系统资源的访问权限,确保用户只能访问其被…...

算法题总结(十五)——贪心算法(下)
1005、K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可…...

《深度学习》【项目】自然语言处理——情感分析 <下>
目录 一、了解项目 1、任务 2、文件内容 二、续接上篇内容 1、打包数据,转化Tensor类型 2、定义模型,前向传播函数 3、定义训练、测试函数 4、最终文件格式 5、定义主函数 运行结果: 一、了解项目 1、任务 对微博评论信息的情感分…...

postgresql是国产数据库吗?
PostgreSQL不是国产数据库。但是PostgreSQL对国产数据库的发展有着重要影响,许多国产数据库产品是基于PostgreSQL进行二次开发的。 PostgreSQL的开源特性也是其受欢迎的重要原因之一。开源意味着任何人都可以查看、修改和使用PostgreSQL的源代码。这使得PostgreSQL…...

软考——计算机网络概论
文章目录 🕐计算机网络分类1️⃣通信子网和资源子网2️⃣网络拓扑结构3️⃣ 计算机网络分类3:LAN MAN WAN4️⃣其他分类方式 🕑OSI 和 TCP/IP 参考模型1️⃣OSI2️⃣TCP/IP🔴TCP/IP 参考模型对应协议 3️⃣OSI 和 TCP/IP 模型对应…...

01 设计模式-创造型模式-工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离。 工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。 通过使用工厂模式…...

ComnandLineRunner接口, ApplcationRunner接口
ComnandLineRunner接口, ApplcationRunner接口 介绍: 这两个接口都有一个run方法,执行时间在容器对象创建好后,自动执行run ( )方法。 创建容器的同时会创建容器中的对象,同时会把容器中的对象的属性赋上值: 举例&…...

Swift用于将String拆分为数组的components与split的区别
根据特定分隔符拆分字符串 在 Swift 中,components(separatedBy:) 和 split(separator:) 都可以用于将字符串拆分为数组,但它们有一些关键区别。下面将从返回值类型、性能和功能等角度进行对比。 1. 返回值类型 components(separatedBy:):…...

docker之redis安装(项目部署准备)
创建网络 docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1 redis安装 #创建目录 mkdir -p /data/redis/{conf,data} #上传redis.conf文件到/data/redis/conf文件夹中 #对redis.conf文件修改 # bind 0.0.0.0 充许任何主机访问 # daemonize no #密码 # …...