生信软件绕不过Perl,Perl绕不过Bioperl。而Bioperl的安装总让人头大,尤其是对普通用户。以下错误你肯定经常遇到:

Can't locate Bio/Seq.pm in @INC (you may need to install the Bio::Seq module) (@INC contains:.....

这里记录尝试的过程,虽然前面几个失败了。但方向是没有错的,只是Bioperl太大,依赖的模块太多了,即便你用conda隔离,某个地方也会依赖系统环境,导致安装失败。这些方法也许对我而言失败了,说不定你一尝试就成功了,就是这么玄学。

失败尝试一:使用cpanm

有两个方法,一是直接用conda,简单。

conda install -c conda-forge perl-app-cpanminus

二是用系统自带的perl安装和配置local::lib和cpanm。这个详见徐州更的博文:如何安装perl模块

# 安装local::lib
wget https://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz
tar xf local-lib-2.000024.tar.gz
cd local-lib-2.000024
perl Makefile.PL --bootstrap=~/opt
make test && make install
# 加入环境变量
echo 'eval "$(perl -I$HOME/opt/lib/perl5 -Mlocal::lib=$HOME/opt)"' >> ~/.bashrc
# 安装cpanm
wget https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz
tar xf App-cpanminus-1.7043.tar.gz
cd App-cpanminus-1.7043
perl Makefile.PL
make test && make install
# 设置镜像
echo 'alias cpanm="cpanm --mirror http://mirrors.163.com/cpan --mirror-only"' >>~/.bashrc

这时,你可以用cpanm ModuleName来安装模块了,普通模块安装或许没问题。不过前面说了,Bioperl是个庞然大物,你等了很久,很可能还是装不上某些依赖的,即使你用--force强制安装。

失败尝试二:使用CPAN

前面的方法不行,我干脆自己源码编译一个新的Perl,用cpanm或CPAN来继续肝。

cd ~/src
wget -4 http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz
tar xf perl-5.26.1.tar.gz
cd perl-5.26.1
./Configure -des -Dprefix=$HOME/opt/sysoft/perl-5.26.1
make test
make install

cpanm还是一样的,能安装简单模块,但对于Bioperl,就是不行!

尝试CPAN:

cpan
install Bio::Seq

因为没用国内的镜像,可能比cpanm还要更长时间,等来的确是Error,一些依赖照样装不上。

成功尝试:直接conda安装bioperl

Perl模块一开始没想着用conda安装,因为很少有模块能直接安装。但既然bioperl是个庞然大物,何不查看试下。果然是可以的:

conda install -c bioconda perl-bioperl

安装成功。此时仍不能用bioperl,需要加入环境变量。怎么找到安装路径是个技术活。

$ find anaconda3/* -name "Seq.pm"
anaconda3/envs/repeat/lib/perl5/site_perl/5.22.0/Bio/Seq.pm
anaconda3/envs/compare/lib/perl5/site_perl/5.22.0/Bio/Seq.pm
anaconda3/lib/perl5/site_perl/5.22.0/Bio/Seq.pm
anaconda3/pkgs/perl-bioperl-1.6.924-4/lib/perl5/site_perl/5.22.0/Bio/Seq.pm

可以看到,其实我装其他软件的时候已然有了Bioseq。只是都没加入@INC 而已。很显然,最后一个bioperl是我刚安装的。我可以选择它,或者加以上全部模块路径都加入环境,反正perl从头到尾找就是了。

export PERL5LIB=~/biosoft/anaconda3/pkgs/perl-bioperl-1.6.924-4/lib/perl5/site_perl/5.22.0/:$PERL5LIB

Perl的环境变量是PERL5LIB,PERLLIB应该也可以,我没试,你两个都可加入。

source一下成功。此时你可以用perl -V查看一下你当前的@INC。

查看已安装模块:perldoc perllocal。

没有尝试:源码安装bioperl

直接源码下载bioperl安装,我没有试。以上都不行的话,你可以试试,可参考:bioperl安装(无需root权限)

【Perl】如何安装Bioperl模块?的更多相关文章

  1. Perl如何安装新模块/包

    今天写Perl程序时需要调用到Tk模块,但是我机器上却没有T T. Perl小白,不知道肿么装新模块.网上搜了一下资料,和大家分享下. 本人机器Windows的系统,没法提供Unix或者Linux的测 ...

  2. Perl PPM安装模块

      介绍一下如何使用PPM(Perl Package Manager)安装模块(必须安装了ActivePerl).打开PPM,我们看到的界面是这样的: 我们看到第二行是工具栏,从左到右,第一个是查看仓 ...

  3. Python学习笔记十_模块、第三方模块安装、模块导入

    一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,packa ...

  4. Perl 学习笔记-模块

    1.Perl模块介绍 2个来源, 一个是随Perl发行版本一同打包, 只要安装了Perl就可以使用;  另一种是需要从CPAN上下载,自己安装.   寻找模块之前, 先检查系统上是否已经安装过了,   ...

  5. Perl环境安装

    在我们开始学习 Perl 语言前,我们需要先安装 Perl 的执行环境. Perl 可以在以下平台下运行: Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, Sun ...

  6. Python学习之==>第三方模块的安装、模块导入

    一.模块&包 1.模块 模块实质上就是一个Python文件,它是用来组织代码的.意思就是把Python代码写在里面,文件名就是模块的名称.例如:random.py,random就是模块的名称. ...

  7. Perl 环境安装

    Perl 环境安装 在我们开始学习 Perl 语言前,我们需要先安装 Perl 的执行环境. Perl 可以在以下平台下运行: Unix (Solaris, Linux, FreeBSD, AIX, ...

  8. 查看npm全局安装的模块

    1.查看所有高级的npm moudles npm list --depth= 2.查看所有全局安装的模块 npm list --depth= -global

  9. 使用pip安装BeautifulSoup4模块

    1.测试是否安装了BeautifulSoup4模块 import bs4 print bs4 执行报错说明没有安装该模块 Traceback (most recent call last): File ...

随机推荐

  1. Sequence Model-week3编程题2-Trigger Word Detection

    1. Trigger Word Detection 我们的触发词将是 "Activate.".每当它听到你说 "Activate.",它就会发出 "c ...

  2. BUAA 2020 软件工程 个人项目作业

    BUAA 2020 软件工程 个人项目作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 ...

  3. 大闸蟹的OO第二单元总结

    OO的第二单元是讲多线程的协作与控制,三次作业分别为FAFS电梯,ALS电梯和三部需要协作的电梯.三次作业由浅入深,让我们逐渐理解多线程的工作原理和运行状况. 第一次作业: 第一次作业是傻瓜电梯,也就 ...

  4. STM32必学的时钟系统

    STM32的时钟系统 相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图:   上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟.需要注意的是,上图左侧一 ...

  5. 洛谷 P2680 [NOIP2015 提高组] 运输计划

    链接:P2680 题意: 在树上把一条边边权变为0使得最长给定路径最短 分析: 最大值最小可以想到二分答案,对于每一个mid,寻找所有大于mid的路径,再寻找是否存在一条边使得删去它后大于mid的路径 ...

  6. Flink 实践教程:入门(1):零基础用户实现简单 Flink 任务

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  7. ahb时序解析

    ahb 总线架构 AHB(Advanced High Performance Bus)总线规范是AMBA(Advanced Microcontroller Bus Architecture) V2.0 ...

  8. Spring Cloud Alibaba环境搭建

    前言:Spring Cloud Alibaba是目前主流的分布式微服务架构,本文主要讲解了在IDEA中如何搭建Spring Cloud Alibaba环境,以及介绍Spring Cloud Aliba ...

  9. 【lwip】04-内存管理

    目录 前言 4. 内存管理 4.1 内存分配策略 4.1.1 固定大小的内存块 4.1.2 可变大小分配 4.2 动态内存池(pool) 4.2.1 介绍 4.2.2 内存池的预处理 4.2.3 内存 ...

  10. 挂载nfs存储

    查看nfs服务器上提供了哪些nfs目录 showmount -e 172.16.3.8 使用showmount前需要安装nfs-utils包 yum install nfs-utils -y 挂载nf ...