- SMC++ 是分析种群历史的一个软件,主要用在重测序数据分析中。
- git地址 GitHub - popgenmethods/smcpp: SMC++ infers population history from whole-genome sequence data., v1.15.4 之后的版本都需要通过docker安装,conda不再更新。不熟悉docker的人还是想通过conda 安装,但conda的最新版本是v1.15.3。下面就来记录下我的 conda 安装v1.15.3 的过程。
- conda cloud 上能搜索到smcpp,见下图:
image.png
安装之前我们需要配置一个terhorst channels,在~/.condarc 中添加http://conda.anaconda.org/terhorst,见下图:
image.png -
尝试通过conda install 安装 smcpp。首先创建smcpp 的环境,conda create -n smcpp3 python=3.7,v1.15.3 依赖 python3.7。然后进入环境 conda activate smcpp3, 搜索下smcpp的版本 conda search -c terhorst smcpp,可以看到最新版本的软件是 1.15.3。
image.png
下面开始诡异的安装之路,conda install -c terhorst smcpp=1.15.3,报错竟然是Requested package -> Available versions,明明有 1.15.3版本。尝试了几次都是一样的得问题。
image.png
image.png
v1.15.3 安不上那就尝试 v1.15.2,还是碰到同样的问题。v1.15.2 依赖python3.5 ,感兴趣的自己尝试下。又尝试了下不指定版本 conda install -c terhorst smcpp,默认安装的是v1.3.9。
image.png
安装成功了,但是执行还是报错。
image.png
-
尝试使用conda 的--use-local 本地安装。首先下载软件(点击图片红框),下载完成后上传到服务器。
image.png
安装命令:conda install --use-local smcpp-1.15.3-py37h6bb024c_0.tar.bz2
image.png
检查软件版本,是我们需要的1.15.3:
image.png
运行过程中还是报错,缺少msprime:
image.png
安装 msprime,pip install msprime:
image.png
还是报错,缺少scikit-learn,继续安装pip install scikit-learn,这下没报错了:
image.png
再次尝试运行,报错ImportError: libbz2.so.1.0: cannot open shared object file。
image.png
这个可以通过安装bzip2解决,conda install -c conda-forge bzip2,再再次尝试运行,不知道为什么又回到了1.3.9版本!!!!!!!
image.png
稳住心态,重新 conda install --use-local smcpp-1.15.3-py37h6bb024c_0.tar.bz2,版本恢复到了v1.15.3,再再再次尝试运行,报错变了!!!!!!!
这个需要重新编译pysam。
image.png
删除这俩文件夹:rm -rf ../lib/python3.7/site-packages/pysam*
去python 官网找pysam 然后下载下来:wget https://files.pythonhosted.org/packages/99/5a/fc440eb5fffb5346e61a38b49991aa552e4b8b31e8493a101d2833ed1e19/pysam-0.16.0.1.tar.gz。
tar zxf pysam-0.16.0.1.tar.gz
cd pysam-0.16.0.1
python setup.py install,这样就重新编译了。
image.png
再再再再次尝试运行,终于成功了!
image.png
还有个报错是之前尝试 --use-local 的时候发现的,缺少这玩意 libmpfr.so.6,这个一开始也没解决,后来不指定版本安装smcpp 成功那次解决了。如果需要就 export LD_LIBRARY_PATH。没存图,实在不想再重新经历一次这个魔鬼路程了。
- 不知道是我自己的原因,还是软件的原因,总之希望天下生信人安装软件不再有痛苦。
网友评论