GWAS全基因组关联分析工具GAPIT最新版的安装教程与报错解决方案

news2024/10/1 23:30:22

GWAS工具GAPIT最新版

本篇笔记主要内容是GWAS分析软件GAPIT最新版的安装和使用教程,包括常见的报错以及解决方案,主要出错位置在LDheatmap、stringi、nloptr、lme4等,测试安装的环境是东方天意的ECS云服务器(Linux centos7),R版本为4.2.2,虚拟环境使用conda。

什么是GWAS分析?

GWAS,即基因组关联分析(Genome-wide Association Study),是一种广泛应用于生物医学研究中的遗传学方法。其主要目的是在全基因组水平上,寻找基因与特定性状或疾病之间的关联性,从而揭示其遗传基础。

什么是GAPIT软件?

GAPIT(Genome Association and Prediction Integrated Tool)是一个R语言中的工具包,封装了多种GWAS分析方法,包括基于混合线性模型(MLM)的GWAS、基于广义线性模型(GLM)的GWAS等。GAPIT可以自动处理GWAS数据的预处理、基因型数据的质量控制、单倍型的估计、基因型-表型的联合分析等步骤。

GAPIT具体功能

  1. 数据预处理:通过对原始数据进行过滤、清洗、转换等操作,构建分析所需的数据集。

  2. 质量控制:对基因型数据进行清洗,剔除掉质量不好的标记点和个体。

  3. 单倍型估计:估计个体的单倍型,以便进行基因型-表型关联分析。

  4. GWAS分析:使用MLM和GLM模型进行GWAS分析,找出和表型相关的标记点和基因。

  5. 群体结构控制:通过控制群体结构,减少假阳性结果。

  6. 基因型-表型关联分析:对经过控制群体结构后的基因型数据进行表型相关性分析,找出和表型显著相关的标记点和基因。

  7. 数据可视化:通过绘制散点图、直方图、QQ图等图表,直观展示统计结果。

综上所述,GAPIT包是一个功能较为完整的GWAS分析工具,具有数据处理、质量控制、GWAS分析、群体结构控制、基因型-表型关联分析和数据可视化等多种功能,能够方便快捷地进行基因组关联分析。

如何安装GAPIT?

方法一:Github

R> install.packages("devtools")
R> devtools::install_github("jiabowang/GAPIT",force=TRUE)
R> library(GAPIT)

该方法的前提是有网络,而且能访问Github,安装的过程比较友好。

方法二:ZZlab

R> source("http://zzlab.net/GAPIT/gapit_functions.txt")

该方法是直接运行安装函数,也可以访问网站下载后在本地安装。

方法三:本地安装

bash$ git clone git@github.com:jiabowang/GAPIT.git
bash$ R CMD build GAPIT
bash$ R CMD INSTALL GAPIT_3.2.0.9000.tar.gz

R> install.packages("GAPIT_3.2.0.9000.tar.gz", repos = NULL, type="source")

该方法是先从Github下载最新的relase文件,然后本地进行安装,适合没有联网的服务器。

  • 提示:设置清华大学的CRAN镜像,比官方提供的速度更快
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))

报错与解决方案

直接运行安装命令后,最终可能会出现如下报错,主要是某些依赖包没有安装,因此需要逐个解决。

image-20230308193956797
image-20230308193956797
  • nloptr
$ conda install r-nloptr
Collecting package metadata (current_repodata.json): done
Solving environment: done

  added / updated specs:
    - r-nloptr

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    r-nloptr-2.0.3             |    r42hb5eb8f6_0         658 KB  defaults
    ------------------------------------------------------------
                                           Total:         658 KB

The following NEW packages will be INSTALLED:

  r-nloptr           anaconda/pkgs/r/linux-64::r-nloptr-2.0.3-r42hb5eb8f6_0 


Proceed ([y]/n)? 

Downloading and Extracting Packages
                                                                                                                                                
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
  • stringi
install.packages("stringi"# 先试试普通安装
image-20230308195012562
image-20230308195012562

首先,从下面这个网站下载本地安装包,然后在手动安装。补充一点,这个包出错的主要原因是ICU data library (icudt)数据集下载不了,可能是网站自身有关,因此建议本地安装。

https://cran.r-project.org/src/contrib/stringi_1.7.12.tar.gz

下载后进行本地安装,出现下面的报错信息,推测可能是icu数据的链接问题,由于文件较大,网速不行导致断开。

Error: Stopping on error
In addition: Warning messages:
1: In download.file(paste(href, fname, sep = ""), icudtzipfname, mode = "wb") :
  downloaded length 1413993 != reported length 11454999
2: In download.file(paste(href, fname, sep = ""), icudtzipfname, mode = "wb") :
  URL 'https://raw.githubusercontent.com/gagolews/stringi/master/src/icu69/data/icu4c-69_1-data-bin-l.zip': Timeout of 60 seconds was reached
3: In download.file(paste(href, fname, sep = ""), icudtzipfname, mode = "wb") :
  downloaded length 1423942 != reported length 11454999
4: In download.file(paste(href, fname, sep = ""), icudtzipfname, mode = "wb") :
  URL 'https://raw.githubusercontent.com/gagolews/stringi/master/src/icu69/data/icu4c-69_1-data-bin-l.zip': Timeout of 60 seconds was reached
Execution halted
*** *********************************************************************
*** stringi cannot be built.
*** Failed to download the ICU data library (icudt). Stopping now.
*** For build environments that have no internet access,
*** see the INSTALL file for a workaround.
*** *********************************************************************
ERROR: configuration failed for package ‘stringi’

通过下面的网址可以直接下载该数据集,然后上传到服务器,进行安装

http://raw.githubusercontent.com/gagolews/stringi/master/src/icu69/data/icu4c-69_1-data-bin-l.zip
# icu数据的路径下运行下面一行代码
R CMD INSTALL --configure-vars='ICUDT_DIR=/home/zjw/download/' stringi_1.7.12.tar.gz
image-20230308200207877
image-20230308200207877

注意:该步骤需要退出R,回到bash进行执行,最终如果出现下面这样的界面说明安装成功

** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices

** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path

DONE (stringi)
  • lme4
$ conda install r-lme4
Collecting package metadata (current_repodata.json): done
Solving environment: done
  added / updated specs:
    - r-lme4
The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    r-boot-1.3_28              |    r42h6115d3f_0         612 KB  defaults
    r-lattice-0.20_45          |    r42h76d94ec_0         1.1 MB  defaults
    r-lme4-1.1_29              |    r42h884c59f_0         4.3 MB  defaults
    r-matrix-1.4_1             |    r42h76d94ec_0         4.2 MB  defaults
    r-minqa-1.2.4              |    r42hb5eb8f6_4         137 KB  defaults
    r-nlme-3.1_157             |    r42h640688f_0         2.2 MB  defaults
    r-rcppeigen-0.3.3.9.2      |    r42h884c59f_0         1.2 MB  defaults
    ------------------------------------------------------------
                                           Total:        13.7 MB

The following NEW packages will be INSTALLED:

  r-boot             anaconda/pkgs/r/noarch::r-boot-1.3_28-r42h6115d3f_0 
  r-lattice          anaconda/pkgs/r/linux-64::r-lattice-0.20_45-r42h76d94ec_0 
  r-lme4             anaconda/pkgs/r/linux-64::r-lme4-1.1_29-r42h884c59f_0 
  r-matrix           anaconda/pkgs/r/linux-64::r-matrix-1.4_1-r42h76d94ec_0 
  r-minqa            anaconda/pkgs/r/linux-64::r-minqa-1.2.4-r42hb5eb8f6_4 
  r-nlme             anaconda/pkgs/r/linux-64::r-nlme-3.1_157-r42h640688f_0 
  r-rcppeigen        anaconda/pkgs/r/linux-64::r-rcppeigen-0.3.3.9.2-r42h884c59f_0 

Proceed ([y]/n)? 

Downloading and Extracting Packages
                                                                                                                                                
Preparing transaction: done                                                                                                                     
Verifying transaction: done                                                                                                                     
Executing transaction: done
  • LDheatmap
# Install the latest development version from GitHub with
devtools::install_github("SFUStatgen/LDheatmap")

该方法需要首先安装devtools,但是linux下安装devtools很麻烦,容易出现以下报错信息:

image-20230308201705099
image-20230308201705099

对于centos系统来说,使用sudo yum install harfbuzz-devel fribidi-devel安装依赖库文件,然后依次安装下列几个依赖包

Warning messages:
1: In install.packages("devtools") :
  installation of package ‘textshaping’ had non-zero exit status
2: In install.packages("devtools") :
  installation of package ‘ragg’ had non-zero exit status
3: In install.packages("devtools") :
  installation of package ‘pkgdown’ had non-zero exit status
4: In install.packages("devtools") :
  installation of package ‘devtools’ had non-zero exit status

安装方法:

conda install r-textshaping
conda install r-ragg
conda install r-pkgdown
conda install r-devtools
#进入R操作界面
install.packages("devtools")

然后,又出现了新的报错,html相关的版本太低,需要更新,报错信息如下:

Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
  namespace ‘htmltools’ 0.5.2 is being loaded, but >= 0.5.4 is required
Calls: <Anonymous> ... namespaceImport -> loadNamespace -> namespaceImport -> loadNamespace
Execution halted
ERROR: lazy loading failed for package ‘devtools’

* removing ‘/home/zjw/miniconda3/envs/R420/lib/R/library/devtools’

The downloaded source packages are in
        ‘/tmp/RtmpAvUGkq/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("devtools") :
  installation of package ‘devtools’ had non-zero exit status

使用下面这行代码进行解决,即可安装成功!

install.packages("htmltools")
install.packages("devtools"#然后再次安装

最后,运行安装LDheatmap的命令,完成安装。

devtools::install_github("SFUStatgen/LDheatmap")

解决了所有的依赖包安装问题,可以再次运行GAPIT安装程序了,我这里使用的是Github方法。

> devtools::install_github("jiabowang/GAPIT",force=TRUE)
Downloading GitHub repo jiabowang/GAPIT@HEAD

编译安装中。。。。。。

image-20230308203951065
image-20230308203951065
  * DONE (GAPIT)
  > library(GAPIT)
  > # 没有报错,说明安装成功!yes

建议与提示

  1. 使用conda先创建一个虚拟环境,再利用conda直接安装r-base
  2. 安装R包通常有3种方法,官方的install.packages、Github上的包用devtools、下载文件到本地安装
  3. 如果上面的方法还装不上,试试退出R后用conda安装,说不定会有惊喜
  4. 依赖包的安装如果碰到系统依赖库文件缺失,需要管理员安装对应的库文件(一般是libxxx.so)
  5. 编译安装需要tar.gz格式的source资源包,成功率最高

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/397888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

七、延时队列

1、延时队列的概念 队列内部是有序的&#xff0c;最重要的特性就体现在它的延时属性上&#xff0c;延时队列中的元素希望在指定时间到了以后被取出处理 延时队列就是用来存放需要在指定时间被处理的元素的队列 2、延时队列使用的场景 订单在十分钟之内未支付则自动取消 …

SAP Cloud Platform会抛弃ABAP吗

很早之前自己写的文章&#xff0c;重新发布一下。 别担心&#xff0c;该来的总会来&#xff0c;该走的也留不住&#xff01; - 剧情概要 - SAP Cloud Platform发布已经有一段时间了&#xff0c;自SAP云平台发布以来&#xff0c;很多人担心的一个问题是&#xff1a;在SAP云平…

【测试】HD-G2L-IO评估板测试结果表

1. 测试对象HD-G2L-IOT基于HD-G2L-CORE V2.0工业级核心板设计&#xff0c;双路千兆网口、双路CAN-bus、2路RS-232、2路RS-485、DSI、LCD、4G/5G、WiFi、CSI摄像头接口等&#xff0c;接口丰富&#xff0c;适用于工业现场应用需求&#xff0c;亦方便用户评估核心板及CPU的性能。H…

数据分析师常见问题(1)

1&#xff09;.sql三种排序的区别 2&#xff09;.几种连接方式 3&#xff09;.union和union all的区别 4) .drop和delete的区别 5&#xff09;.有关机器学习random forest 和xgboost的区别 6) .SVM原理 SVM是在特征空间上找到最佳的分离超平面&#xff0c;使得训练集上的正负样…

Win10使用ssh root用户登录centos7主机

1 、用SSH root用户登录Centos主机&#xff1b; 2 、检查centos是否装了epel库 执行命令 rpm -qa|grep epel 没有&#xff0c;需要安装 yum install epel-release 3 、安装xrdp yum install xrdp 4 、安装tigervnc-server yum install tigervnc-server 5 、为用户root…

如何通过SWTO分析法,加强项目风险管理?

1、什么是SWTO分析法 SWTO分析法是态势分析法&#xff0c;是根据企业自身的既定内在条件&#xff0c;对其优势、劣势、外部机会和危险进行分析&#xff0c;依照矩阵形式排列&#xff0c;将各种因素相互匹配分析的企业战略分析方法。 通过SWTO分析法 加强项目风险管理​ …

数学小课堂:数学和哲学的互动关系(自洽的哲学思想受益于数学思维)

文章目录 引言I 数学是“有底”的学问(止于公理)II 数学对哲学的影响2.1 哲学思想受益于数学思维2.2 笛卡尔的贡献2.3 莱布尼茨的哲学思想III 哲学对数学的影响引言 数学和科学各个分支之间在方法上却具有相通性和普适性,这些通用的方法常常让很多学科同时受益,依靠数学逻…

Maven 创建项目

在我们 maven 项目中的结构为 src/main/java —— 存放项目的.java 文件 src/main/resources —— 存放项目资源文件&#xff0c;如 spring, hibernate 配置文件 src/test/java —— 存放所有单元测试ava 文件&#xff0c;如 JUnit 测试类 src/test/resources —— 测试资源文件…

跑步用入耳的好还是挂耳的、最好用的运动耳机分享

健身房经常会播放一些节奏较快的歌曲&#xff0c;这样能够激发大家在运动过程中的动力&#xff0c;所以运动时聆听音乐确实比较有效果&#xff0c;居家运动、室外跑步时选择运动耳机就变成了刚需&#xff0c;不过一款适合自己的运动耳机确实是比较难找的&#xff0c;首先不能影…

算法刷题总结 (四) 动态规划

算法总结4 动态规划一、动态规划1.1、基础问题11.1.1、509. 斐波那契数列1.1.2、70. 爬楼梯1.1.3、746. 使用最小花费爬楼梯1.2、基础问题21.2.1、62. 不同路径1.2.2、63. 不同路径Ⅱ1.2.3、343. 整数拆分1.2.4、96. 不同的二叉搜索树1.3、背包问题1.3.1、01背包1.3.1.1、单次选…

现代卷积神经网络之稠密连接网络(DenseNet),并对CFIAR10训练

专栏&#xff1a;神经网络复现目录 本章介绍的是现代神经网络的结构和复现&#xff0c;包括深度卷积神经网络&#xff08;AlexNet&#xff09;&#xff0c;VGG&#xff0c;NiN&#xff0c;GoogleNet&#xff0c;残差网络&#xff08;ResNet&#xff09;&#xff0c;稠密连接网络…

pikachu靶场CSRF之TOKEN绕过

简介 Pikachu靶场中的CSRF漏洞环节里面有一关CSRF TOKEN&#xff0c;这个关卡和其余关卡稍微有点不一样&#xff0c;因为表单里面存在一个刷新就会变化的token&#xff0c;那么这个token是否能绕过呢&#xff1f;接下来我们来仔细分析分析 实战过程 简单尝试 先利用任意一个…

CNCF x Alibaba云原生技术公开课 第三章 kubernetes核心概念

1、Kubernetes概念 核心功能 服务的发现与负载的均衡容器的自动装箱&#xff0c;我们也会把它叫做 scheduling&#xff0c;就是“调度”&#xff0c;把一个容器放到一个集群的某一个机器上Kubernetes 会帮助我们去做存储的编排&#xff0c;让存储的声明周期与容器的生命周期能…

SpringCloud-高级篇(一)

目录&#xff1a; &#xff08;1&#xff09;初识Sentinel-雪崩问题的解决方案 &#xff08;2&#xff09;服务保护Sentinel和Hystrix对比 &#xff08;3&#xff09;Sentinel初始-安转控制台 &#xff08;4&#xff09;整合微服务和Sentinel 微服务高级篇 &#xff08;1&…

unity开发知识点小结04

混合动画 在动画器控制器中创建从新混合树&#xff0c;也就是创建混合动画 然后进入混合动画&#xff0c;选择混合类型为1D&#xff08;表示传递参数只有一个&#xff09;&#xff0c;并且为此混合状态添加两个动画&#xff0c;并且设定混合状态参数为何值得时候启用相应动画…

Python中函数的分类、创建和调用,你真的懂了吗

文章目录前言一、函数分类二、创建函数三、调用函数前言 在前面的博客中&#xff0c;所有编写的代码都是从上到下依次执行的&#xff0c;如果某段代码需要多次使用&#xff0c;那么需要将该段代码复制多次&#xff0c;这种做法势必会影响开发效率&#xff0c;在实际项目开发中是…

特权级那些事儿-实模式下分段机制首次出现的原因

前言&#xff1a; 操作系统的特权级模块在整个操作系统的学习中应该算的上是最难啃的了&#xff0c;提到特权级就要绕不开保护模式下的分段机制&#xff1b;如果想要彻底弄明白就要对比实模式下的分段机制有什么缺陷。这就衍生出很多问题如&#xff1a;什么是实模式&#xff1f…

Nacos 注册中心核心能力以及现实原理解析

Nacos注册中心主要分两方面解析&#xff1a;动态服务发现和Nacos实现动态服务发现的原理&#xff1b; 动态服务发现 服务发现是指使用一个注册中心来记录分布式系统中的全部服务的信息&#xff0c;以便其他服务能够快速的找到这些已注册的服务。 在单体应用中&#xff0c;DNS…

MINE: Towards Continuous Depth MPI with NeRF for Novel View Synthesis

MINE: Towards Continuous Depth MPI with NeRF for Novel View Synthesis&#xff1a;利用NeRF实现新视图合成的连续深度MPI 摘要&#xff1a;在论文中&#xff0c;提出了MINE&#xff0c;通过从单个图像进行密集3D重建来执行新的视图合成和深度估计。通过引入神经辐射场&…

05-Oracle中的对象(视图,索引,同义词,系列)

本章主要内容&#xff1a; 1.视图管理&#xff1a;视图新增&#xff0c;修改&#xff0c;删除&#xff1b; 2.索引管理&#xff1a;索引目的&#xff0c;创建&#xff0c;修改&#xff0c;删除&#xff1b; 3.同义词管理&#xff1a;同义词的作用&#xff0c;创建&#xff0…