第4章 生物信息
4.1 微生物组
1. Ubuntu 20.04 安装 qiime1
直接按文档中所说 conda create -n qiime1 python=2.7 qiime matplotlib=1.4.3 mock nose -c bioconda
出现错误 PackagesNotFoundError matplotlib=1.4.3
解决办法是创建新的 conda 环境 qiime1
, conda create -n qiime1 python=2.7
, 然后用 pip 手动安装 matplotlib 及其他的 python 模块
# 1 安装matplotlib==1.4.3的时候,出现错误 "The following required packages can
# not be built: * freetype", pip 不能安装系统依赖,手动安装系统依赖后然后安装
sudo apt-get install libfreetype6-dev libxft-dev
pip install matplotlib==1.4.3
# 2 qiime中要求biom-format>=2.1.4,<2.2.0,但是目前版本不支持python 2.7
# 手动安装2.1.4版本
pip install biom-format==2.1.4
# 3 最后安装qiime
pip install qiime
# 检测安装是否成功
print_qiime_config.py -t
pick otu 或者 嵌合体识别 (chimera) 可用 usearch61 方法, 安装 usearch步骤为
下载解压后,
拷贝到 /usr/local/bin/
然后赋予执行权限:
2. ubuntu 20.04 安装 picrust1
按照文档中说的conda create -n picrust1 -c bioconda -c conda-forge picrust
安装出现错误 failed with repodata from current_repodata.json
。
只使用 bioconda
可正常安装, conda create -n picrust1 -c bioconda picrust
.
3. mac安装 lefse
通过homebrew安装lefse已经不再维护brew install biobakery/biobakery/lefse
;采用conda安装(目前biobakery下的软件都用conda源安装)
4. Q: 本地测试qiime1脚本时,安装完依赖后,运行脚本,pycharm 导入 matplotlib.pyplot 出现错误 from urllib.parse import urlencode ImportError: No module named parse
pycharm中设置 Preferences -> Tools -> Python Scientific
取消勾选Show plots in tool window
,答案见此
4.1.0.0.1 5. Q: phyloseq 中 distance()
或 ordinate()
(调用 distance()
) 基于树计算距离的时候(如 unifrac
), 出现 Warning message: In matrix(tree$edge[order(tree$edge[, 1]), ][, 2], byrow = TRUE, : data length [86515] is not a sub-multiple or multiple of the number of rows [43258]
原因是因为对 OTU 进行质控的时候 (如删除丰度较低的 OTU),原因是 树不是二分树,解决办法是转化为二分树。参考这里
4.2 scRNA-seq
安装velocyto.R.
clang: error: unsupported option '-fopenmp'
mac下clang不支持openmp,解决方法参考此处,安装支持openmp的clang. 然后修改配置文件,在
~/.R/Makevars
(配置compliers和library),添加CC=/usr/local/clang7/bin/clang SHLIB_CXXLD=/usr/local/clang7/bin/clang++ CXX= /usr/local/clang7/bin/clang++ -Wall CXX1X= /usr/local/clang7/bin/clang++ CXX98= /usr/local/clang7/bin/clang++ CXX11= /usr/local/clang7/bin/clang++ CXX14= /usr/local/clang7/bin/clang++ CXX17= /usr/local/clang7/bin/clang++ LDFLAGS=-L/usr/local/clang7/lib
library not found for -lboost_filesystem
安装 boost
brew install boost
library not found for -lgfortran
gfortran包含在gcc中,但是电脑中gcc是通过homebrew安装,原始配置文件
/Library/Frameworks/R.framework/Resources/etc/Makeconf
中并没有更新库的地址,在~/.R/Makevars
中手动添加即可# 通过homebrew安装的gcc地址 FLIBS = -L/usr/local/lib/gcc/8/gcc/x86_64-apple-darwin17.5.0/8.1.0 -L/usr/local/lib/gcc/8 -lgfortran -lquadmath -lm # Library/Frameworks/R.framework/Resources/etc/Makeconf中的原始配置 # FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
-
mac 在 pip 安装的时候gcc编译出现错误,建议使用conda安装
conda install velocyto.py
4.3 RNA structure
本节记录在 RNA 结构生物信息学分析中的一些问题,如 RNA 二级结构预测。
4.3.1 软件安装
二级结构预测
CONTRAfold, 按照帮助 手册
make
的时候出现错误LBFGS.ipp:110:33: error: ‘DoLineSearch’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] Real step = DoLineSearch(x[k%2], f[k%2], g[k%2], d, ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ x[(k+1)%2], f[(k+1)%2], g[(k+1)%2], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Real(0), std::min(Real(10), MAX_STEP_NORM / std::max(Real(1), Norm(d))));
解决办法(见这里):
- Makefile中添加
-fpermissive
选项至CSXXFLAGS
:
CXXFLAGS = -O3 -DNDEBUG -W -pipe -Wundef -Winline --param large-function-growth=100000 -Wall -fpermissive # 替换 CXXFLAGS = -O3 -DNDEBUG -W -pipe -Wundef -Winline --param large-function-growth=100000 -Wall
Utilities.hpp
中添加#include <limits.h>
- Makefile中添加