citup软件安装过程及克隆分析

citup软件 https://github.com/amcpherson/citup 安装需要conda环境

首先要将citup的安装包路径放到conda的默认channel里

conda config --add channels http://conda.anaconda.org/dranew

然后安装cplex依赖,直接安装的话也比较麻烦,因为cplex也有很多依赖,所以我们也把ceplx的channel加进去

conda config --add channels https://conda.anaconda.org/IBMDecisionOptimization/linux-64

我们看一下现在的默认channel

$ conda config --show-source
==> /home/.condarc <==
channels:
  - http://conda.anaconda.org/dranew
  - defaults
  - https://conda.anaconda.org/IBMDecisionOptimization/linux-64

然后我们就可以安装citup了

conda install citup

如果我们没有默认安装路径权限,也可以指定目录安装

conda install citup --prefix .

一般会提示我们要安装很多依赖包,而且有些依赖特别容易断,像这样

$ conda install citup --prefix ./
Fetching package metadata .................
Solving package specifications: .

Package plan for installation in environment /home/test:

The following NEW packages will be INSTALLED:

    blas:            1.0-mkl                                        
    blosc:           1.15.0-hd408876_0                              
    boost_source:    1.60.0-0                dranew                 
    bzip2:           1.0.6-h14c3975_5                               
    ca-certificates: 2019.1.23-0                                    
    certifi:         2019.3.9-py27_0                                
    citup:           0.1.1-py27_1            dranew                 
    cplex:           12.8-py27_0             IBMDecisionOptimization
    decorator:       4.4.0-py27_1                                   
    hdf5:            1.10.4-hb1b8bf9_0                              
    intel-openmp:    2019.3-199                                     
    libedit:         3.1.20181209-hc058e9b_0                        
    libffi:          3.2.1-hd88cf55_4                               
    libgcc-ng:       8.2.0-hdf63c60_1                               
    libgfortran-ng:  7.3.0-hdf63c60_0                               
    libstdcxx-ng:    8.2.0-hdf63c60_1                               
    lzo:             2.10-h49e0be7_2                                
    mkl:             2019.3-199                                     
    mkl_fft:         1.0.12-py27ha843d7b_0                          
    mkl_random:      1.0.2-py27hd81dba3_0                           
    ncurses:         6.1-he6710b0_1                                 
    networkx:        2.2-py27_1                                     
    numexpr:         2.6.9-py27h9e4a6bb_0                           
    numpy:           1.16.3-py27h7e9f1db_0                          
    numpy-base:      1.16.3-py27hde5b4d6_0                          
    openssl:         1.1.1b-h7b6447c_1                              
    pandas:          0.24.2-py27he6710b0_0                          
    pip:             19.1.1-py27_0                                  
    pypeliner:       0.5.0-py27h1453be2_0    dranew                 
    pytables:        3.5.1-py27h71ec239_0                           
    python:          2.7.16-h9bab390_0                              
    python-dateutil: 2.8.0-py27_0                                   
    pytz:            2019.1-py_0                                    
    readline:        7.0-h7b6447c_5                                 
    scikit-learn:    0.20.3-py27hd81dba3_0                          
    scipy:           1.2.1-py27h7c811a0_0                           
    setuptools:      41.0.1-py27_0                                  
    six:             1.12.0-py27_0                                  
    snappy:          1.1.7-hbae5bb6_3                               
    sqlite:          3.28.0-h7b6447c_0                              
    tk:              8.6.8-hbc83047_0                               
    wheel:           0.33.2-py27_0                                  
    zlib:            1.2.11-h7b6447c_3                              

Proceed ([y]/n)? 

其实我们只需要几个依赖就够了,可以不安装全部依赖,网快的话还是尽量完整安装

conda install --no-deps cplex --prefix ./
conda install --no-deps pypeliner --prefix ./
conda install --no-deps hdf5 --prefix ./
然后将安装后的各个路径都加入到Python的环境变量里就可以安装citup
安装后就可以在lib/python2.7/site-packages路径下找到相应安装包了
这里citup-0.1.0-py2.7.egg需要解压一下
unzip citup-0.1.0-py2.7.eg

这样就基本完成了

这样的话就安装完成了

要注意的就是Python环境变量的问题了,确保Python可以找到这些安装包

如果-h有上面的结果而真正运行报错的话就是环境变量的问题

解决方案:

用citup安装的2.7版本的Python输出sys.path把这些路径加到环境变量里

export sys.path输出路径:$PATH

citup分析运行比较简单可以参考官方网页:https://shahlab.ca/projects/citup/

需要注意的是加这个参数:--submit local

输出结果是一个HDF格式的h5文件:results.h5

 这是一个基于键引用的树型结构,可以用Python的h5py包读取处理数据还需要numpy和pandas

hf=h5py.File(results.h5,'r')

用hf.keys()命令我们可以看到有两个键results和trees,这两个键下面又包含很多键,具体结构:

 我看从上述结果中取最佳拟合树:

opnum=hf["results/optimal/index"][0]

获取此树的节点克隆频率

cellfreq=hf["trees/" + str(opnum) + "/clone_freq/block0_values"][:]

获取此树的分支进化:

tree=hf["trees/" + str(opnum) + "/adjacency_list/block0_values"][:]

将这两个文件整理成TimeScape的输入文件:https://bioconductor.org/packages/release/bioc/vignettes/timescape/inst/doc/timescape_vignette.html

就可以得到这样的图了:

 have fine!

 

原文地址:https://www.cnblogs.com/xlij1205/p/10848917.html