fluff 是一个软件包,它允许对映射到参考基因组的高通量测序实验进行简单的探索、聚类和可视化。这个包包含三个命令行工具,用于生成发布质量数据
官网:https://fluff.readthedocs.io/en/latest/introduction.html

  • 环境:Ubuntu 20.04 LTS,这个软件好像不支持 win?

这个安装好无语。大家的 PC 都装不上,部分机房电脑是可以装上的

但是既然决定 PC 上用 Ubuntu 了,那就要贯彻到底了

# 方法

# 官方最简安装方法:用 conda 安装

conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
conda install biofluff -c bioconda

但是这个方法。得安一小时,还报错。一开始以为是机房网不好,后来网好了发现也那么慢,唔,那没事了,可能是因为直接从外国服务器上下载的吧

# 第二种方法:用 pip

pip install biofluff

这个还挺快的,但有报错

Building wheel for pyBigWig (setup.py) ... error
......
Running setup.py install for pyBigWig ... error

少 pyBigWig 这个包

# 比较麻烦的方法:源码安装

可以全部用命令行,用 git

git clone https://github.com/simonvh/fluff.git
cd fluff

也可以图形界面浏览器直接到 https://github.com/simonvh/fluff/releases 下载压缩包

最新的版本是 3.0.3

cd /opt
sudo mkdir fluff
# 去 /opt 目录下创建 fluff 的文件夹
sudo tar xvzf fluff-3.0.3.tar.gz -C /opt/fluff
# 解压到 /opt/fluff 目录下
cd /opt/fluff/fluff-3.0.3

编译

sudo python setup.py build

报错

sudo: python:找不到命令

这个可能是 anaconda 和自带 python 冲突了?反正是没有在 bin 里关联全局指令

用 which 命令看 python 的位置

which python
# 返回 /home/limin/anaconda3/bin/python
# 那就这么写
sudo /home/limin/anaconda3/bin/python setup.py build
sudo /home/limin/anaconda3/bin/python setup.py install

报错

Either libcurl isn't installed, it didn't come with curl-config, or curl-config isn't in your $PATH. pyBigWig will be installed without support for remote files.
......
No eggs found in /tmp/easy_install-b42ki6n5/pyBigWig-0.3.17/egg-dist-tmp-syp78d48 (setup script problem?)
error: The 'pyBigWig' distribution was not found and is required by biofluff

大概还是少 pyBigWig 这个包,而且这个包依赖

再来一遍 还是报错

Installed /home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg
Processing dependencies for biofluff==3.0.3
Searching for pyBigWig
Reading https://pypi.org/simple/pyBigWig/
Download error on https://pypi.org/simple/pyBigWig/: [Errno -3] Temporary failure in name resolution -- Some packages may not be found!
Couldn't find index page for 'pyBigWig' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -3] Temporary failure in name resolution -- Some packages may not be found!
No local packages or working download links found for pyBigWig
error: Could not find suitable distribution for Requirement.parse('pyBigWig')

# 解决

第一种方法不要了

从后两种方法的报错来看,主要问题:缺少 pyBigWig

装就完了

sudo pip install pyBigWig==0.2.5

报错

sudo: pip:找不到命令

真烦人。去 conda 里装

conda activate
pip install pyBigWig==0.2.5

报错

In file included from libBigWig/bigWig.h:1,
from libBigWig/bwStats.c:1:
libBigWig/io.h:1:10: fatal error: curl/curl.h: 没有那个文件或目录
    1  #include 
                ^~~~~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for pyBigWig

少 curl 依赖,装

sudo apt-get install curl libcurl4 libcurl4-openssl-dev

再装 pyBigWig 就可以了

pip install pyBigWig==0.2.5

成功后再装 biofluff

pip install biofluff

成功了!运行 fluff

(base) limin@limin-Lenovo-XiaoXin-Air-15IKBR:~$ fluff
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:46: SyntaxWarning: "is not" with a literal. Did you mean "!="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:46: SyntaxWarning: "is" with a literal. Did you mean "=="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:51: SyntaxWarning: "is not" with a literal. Did you mean "!="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:51: SyntaxWarning: "is" with a literal. Did you mean "=="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:46: SyntaxWarning: "is not" with a literal. Did you mean "!="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:46: SyntaxWarning: "is" with a literal. Did you mean "=="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:51: SyntaxWarning: "is not" with a literal. Did you mean "!="?
/home/limin/anaconda3/lib/python3.8/site-packages/biofluff-3.0.3-py3.8.egg/fluff/track.py:51: SyntaxWarning: "is" with a literal. Did you mean "=="?
usage: fluff [-h] [options]
    fluff v3.0.3
positional arguments:
  {heatmap,bandplot,profile}
optional arguments:
  -h, --help            show this help message and exit
    commands:
        heatmap      Produce a heatmap
        bandplot     Show the profiles as bandplots
        profile      Genome Browser screenshot
    type </span>fluff <span class="token operator"><</span>command<span class="token operator">></span> -h<span class="token variable"> for more details

有一点报错,但是不影响使用。