居然还可以这样欺骗软件

我们的马拉松生物信息学入门课程进入到Linux实战环节,给大家都提供了一个云服务器账号,这样全部的学员都可以登录到我们的服务器里面方便沟通和交流。授课进行到conda安装和管理生物信息学软件,首先在自己的服务器上面安装conda,安装方法代码如下:

# 首先下载文件,20M/S的话需要几秒钟即可
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 接下来使用bash命令来运行我们下载的文件,记得是一路yes下去
bash Miniconda3-latest-Linux-x86_64.sh 
# 安装成功后需要更新系统环境变量文件
source ~/.bashrc

安装好conda后需要设置镜像。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes

这个设置镜像有时候需要修改为其它国内大学或者机构的地址,比如北师大等等。

最重要的samtools软件安装成功了但是使用反而报错了

samtools软件在生物信息学领域的重要性不言而喻了, 基本上每一个ngs流程都离不开它,B站免费NGS数据处理视频课程 有下面这些,大家可以进入目录慢慢学习, 一定能看到samtools软件的影子:

这个samtools软件安装成功了但是使用反而报错了,报错如下:

samtools
samtools: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

每个人的miniconda3软件安装目录不一样,一般来说都是默认在自己的home目录下面,我去检查了libcrypto类似的文件,如下所示:

cd miniconda3/lib
ls libcrypto.so*
libcrypto.so libcrypto.so.1.1

确实是版本不一样,我目录里面是 libcrypto.so.1.1,而软件要求的是libcrypto.so.1.0.0,这样就冲突了。我搜索了一下解决方案,非常奇怪,居然是使用一个软连接,凭空伪造一个 libcrypto.so.1.0.0 即可,内容仍然是 libcrypto.so.1.1 ,如下所示:


(base) [sherry@cu04 lib]$ ln -s libcrypto.so.1.1 libcrypto.so.1.0.0
(base) [sherry@cu04 lib]$ samtools

Program: samtools (Tools for alignments in the SAM format)
Version: 1.7 (using htslib 1.7)

Usage: samtools <command> [options]

Commands:
 -- Indexing
 dict create a sequence dictionary file
 faidx index/extract FASTA
 index index alignment

然后,我们的 samtools软件 就可以使用了。

当然了,如果你继续搜索,会发现很多其它解决方案,比如 samtools软件的降级或者升级,指定版本即可。

再怎么强调生物信息学数据分析学习过程的计算机基础知识的打磨都不为过,我把它粗略的分成基于R语言的统计可视化,以及基于Linux的NGS数据处理

Linux的6个阶段也跨越过去 ,一般来说,每个阶段都需要至少一天以上的学习:

  • 第1阶段:把linux系统玩得跟Windows或者MacOS那样的桌面操作系统一样顺畅,主要目的就是去可视化,熟悉黑白命令行界面,可以仅仅以键盘交互模式完成常规文件夹及文件管理工作。
  • 第2阶段:做到文本文件的表格化处理,类似于以键盘交互模式完成Excel表格的排序、计数、筛选、去冗余,查找,切割,替换,合并,补齐,熟练掌握awk,sed,grep这文本处理的三驾马车。
  • 第3阶段:元字符,通配符及shell中的各种扩展,从此linux操作不再神秘!
  • 第4阶段:高级目录管理:软硬链接,绝对路径和相对路径,环境变量。
  • 第5阶段:任务提交及批处理,脚本编写解放你的双手。
  • 第6阶段:软件安装及conda管理,让linux系统实用性放飞自我。

Comments are closed.