justin's、andrea's和torbjórn的python网络推理包

jatnip的Python项目详细描述


Jatnipy

Justin's、Andrea's和Torbjórn的Python网络推理包

诺德林实验室jatnipy

什么是Jatnipy?

我们重新实现了genespider工具箱,并选择了python作为编程语言。python是一种流行的高级编程语言。它免费提供,广泛用于学术和商业领域。

方法:

我们将几个免费的python包合并到一个新的完整包中。我们最后将新的完整包装命名为jatnipy。

可用性和实现:源代码可以在https://bitbucket.org/temn/jatnipy/" rel="nofollow">https://bitbucket.org/temn/jatnipy/免费下载。 这是在python中重新实现genespider工具箱。

联系方式:justin

如何设置?

在使用jatnipy之前,我们应该确保pip3已经安装在本地计算机上。要安装pip,请使用以下命令:

  • 对于debian/ubuntu用户:
apt-get install python3-pip
  • 对于CentOS 7用户:
yum install python34-setuptools
easy_install pip

在本地计算机中使用pip3,然后安装virtualenvwrapper,通过以下命令为本地计算机创建虚拟环境

pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2

通过创建新的虚拟环境

mkvirtualenv env1

选择要使用的虚拟环境

workon env1

用于下载和安装Jatnipy

备选方案1:git
  1. 使用git获取jatnipy存储库运行此命令 < > >
    git clone https://bitbucket.org/temn/JATNIpy/
    
    1. 通过
    2. < > >
      cd ~/JATNIpy/jatnipy.
      
      1. 在处理完所需的环境后,使用pip3安装 使用命令打包开源python3
      2. < > >
        pip3 install -e
        
        备选方案2:直接下载
        1. 从jatnipy下载
        2. 通过
        3. < > >
          cd ~/JATNIpy/jatnipy.
          
          1. 在处理完所需的环境后,使用pip3安装 使用命令打包开源python3
          2. < > >
            pip3 install -e
            
            备选方案3:直接安装

            使用pip3从pypi安装jatnipy

            apt-get install python3-pip
            
            1

            在备选方案1和2中,当使用pip3 install-e时,它会安装以下依赖项:

            • 用于跟踪编程开发的版本控制系统
            • scipy基于python的数学、科学和工程软件
            • numpy用于进行数值或数学计算的基本python包
            • 熊猫在python中轻松使用数据结构和数据分析工具
            • matplotlib有用的python 2d绘图工具,提供类似于matlab的界面
            • scikit学习基于numpy、scipy和matplotlib的数据挖掘和数据分析
            • networkx用于研究图形和复杂网络的python包
            • glmnet-py流行的python版本glmnet库
            • py-ubjsonpython版本的通用二进制json编码器/解码器
            • <李>cvxpy处理python版本的凸优化问题
            • 请求:人类的http请求http的python库

            数据集和网络
            • 数据集在这里可用。
            • 网络可用此处

            基本功能

            要在安装后测试该基本功能,请打开python3并运行以下命令: 网络获取:

            apt-get install python3-pip
            
            2

            数据集获取:

            apt-get install python3-pip
            
            3

            上面的结构,网络和数据集,需要转换为python对象:

            apt-get install python3-pip
            
            4

            现在,您应该在python中加载默认网络和数据集。

            生成结果部分中使用的示例数据

            与genespider工具箱一样,我们在示例中使用的网络和数据集可以从在线存储库中下载,网址是:https://bitbucket.org/sonnhammergrni/gs-networks" rel="nofollow">https://bitbucket.org/sonnhammergrni/gs networks.org/sonnhammergrni/gs数据集" rel="nofollow">https://bitbucket.org/sonnhammergrni/gs数据集。 此外,我们使用的示例网络和数据集是nordling-d2010302-random-n10-l25-id1446937nordling-id1446937-d20150825-e15-snr3291-idy15968。下面的代码将生成与示例不同的新网络和数据集。因为我们使用随机数生成器来创建网络和噪声矩阵。

            jatnipy中的网络生成

            接下来,我们生成一个包含10个节点的稳定随机网络,并且稀疏度小于0.25。使用这些规范,下面的代码创建一个datastruct.network对象。

            apt-get install python3-pip
            
            5

            使用datastruct.randomnet创建的随机网络和所需的相关性(iaa)度用作输入参数,以放入datastruct.stabilize中。该算法通过调整iaa阶次使所有特征值的实部为负来稳定网络。方法ne.setname用于指定网络对象的字段。网络的名称是根据其属性自动生成的,以确保每个名称都是唯一的。然后,您可以使用savepath(要保存的目录)运行命令以.json格式保存网络。

            apt-get install python3-pip
            
            6

            保存网络对象后,您可以使用下面的命令显示您生成的网络对象的内容。

            apt-get install python3-pip
            
            7

            显示的内容如下所示。它显示网络对象的属性。有些内容是:

            • a:是网络矩阵
            • g:是静态增益矩阵
            • n:是节点数
            • 已创建:字典是否记录此对象的详细信息
            • 说明:是网络的说明
            • name:网络对象的名称,其中包含创建者的名称、创建日期和边数。
            • 名称节点:包含分配给每个节点的名称,这些名称是生成的如果未指定,则自动执行
            • params在网络矩阵中记录非零
            • random:是网络的类型
            • shape是网络矩阵的形状
            • 结构与type is随机
            apt-get install python3-pip
            
            8

            jatnipy中的数据生成

            我们使用jatnipy生成的网络来模拟扰动实验。我们模拟了n个单基因微扰实验。每个基因被一个接一个地干扰,然后随机进行n/2实验。

            apt-get install python3-pip
            
            9

            我们创建一个扰动矩阵p和一个相应的响应矩阵y。标准差用于生成信噪比(snr)等于7的噪声矩阵e。我们在这里不使用输入噪声,但是我们仍然应该定义它,因此,我们将它设置为零。然后用这些信息填充数据集对象。

            yum install python34-setuptools
            easy_install pip
            
            0

            为了用数据初始化datastruct.dataset对象,我们将执行以下代码片段:

            yum install python34-setuptools
            easy_install pip
            
            1

            初始化datastruct.dataset对象后,我们用以下命令保存它

            yum install python34-setuptools
            easy_install pip
            
            2

            然后,您可以使用这些代码显示您在个人文件夹中生成的新数据集对象。您应该使用您的个人目录名,而不是nordlinglab_justin-id17795-d20190415-n10-e15-snr277998-idy17795.json

            yum install python34-setuptools
            easy_install pip
            
            3

            显示的输出是

            • e:是表达式噪声矩阵
            • e_协方差_元素:是响应的测量点变化
            • e廑covariance廑变量:是噪声响应的协方差
            • f:是扰动噪声矩阵
            • f_协方差元素:是扰动的测量点变化
            • e_covariance_variable:是子选项的协方差
            • m:是扰动矩阵
            • n:是基因号
            • p:是扰动数
            • y:是响应矩阵
            • \u model\u eq\u:显示模型方程
            • 已创建:是网络的基本信息
            • 节点:是每个基因节点的名称
            • 说明:是数据集说明
            • lamda:包括表达式和扰动噪声变量e_方差f_方差
            • 网络:是网络名
            • 节点:是每个基因节点的名称
            yum install python34-setuptools
            easy_install pip
            
            4

            如果数据是由您自己使用计算机生成的,则它可以将数据集连接到网络。因此,网络数据对象中报告。 我们还为数据对象提供规范化过程,该对象将规范化表达式矩阵y。有三种不同的正常化程序:

            1. 标准化
            2. 最小/最大范围缩放
            3. 单位缩放。
            4. < > >

              所有方法都可以在行或列上工作,具体取决于输入。一些用法示例如下:

              1. 对于标准化
              2. < > >
                yum install python34-setuptools
                easy_install pip
                
                5

                应返回0作为行和,每个样本的平方值应为1,因此行和应=m。

                1. 用于范围缩放
                2. < > >
                  yum install python34-setuptools
                  easy_install pip
                  
                  6

                  每行的最大值和最小值应分别为1和0。

                  1. 对于单位缩放
                  2. < > >
                    yum install python34-setuptools
                    easy_install pip
                    
                    7

                    平方值的总和应为1。

                    应注意的是,噪声估计值目前没有根据新数据进行缩放,因此不应像在随后的计算中那样使用

                    保存数据集

                    yum install python34-setuptools
                    easy_install pip
                    
                    2

                    分析

                    analyse文件夹提供分析网络、数据集和基准结果的编程

                    我们首先演示如何使用以下命令从在线存储库加载示例网络nordling-d20110302-random-n10-l25-id1446937.json和datasetnordling-id1446937-d20150825-e15-snr3291-idy15968.json

                    yum install python34-setuptools
                    easy_install pip
                    
                    9

                    Jatnipy的网络分析:

                    我们将net输入analyze.model以分析网络:

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    0

                    然后产生如下输出:

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    1

                    jatnipy中有六个度量值:

                    • 互比较性:这是使用numpy.linalg.cond(a)计算的a的条件数
                    • 网络组件:通过graphconncomp函数计算强连接组件的数量。
                    • avgpathlength:使用中值路径长度函数的网络图的路径长度。无论是graphconncomp还是median_path_length都使用基于python的networkx包来计算。
                    • taug:是网络的时间常数
                    • cc:平均聚类系数,可以解释为网络中每个节点的邻域稀疏性,但不考虑节点本身。
                    • dd:是模型的平均度分布。

                    属性analyze.model.type可以通过使用analyze.datamodel.type选择为有向的或无向的

                    不仅可以计算平均聚类系数,还可以计算所有聚类系数。所有聚类系数都可以通过

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    2

                    Jatnipy的数据分析:

                    我们将数据输入analyze.dataanalysis以分析数据:

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    3

                    然后产生如下输出:

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    4

                    以下两个函数计算所有信噪比

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    5

                    捷尼的性能评估:

                    为了分析推理方法的性能,我们首先需要生成一个输出。使用包装器很容易操作。每个方法都有一个关联的包装器,用于分析方法本身的数据。 在jatnipy中,我们重新实现了四个包装器,分别是lasso、glmnet、lsco、rnico。 在运行glmnet实现之前,我们应该执行以下命令行

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    6
                    • 要运行glmnet方法,我们执行:
                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    7

                    要使用glmnet,应先安装(如果安装在虚拟机中,则不需要此步骤)

                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    8
                    • 要运行lsco实现,我们执行:
                    pip3 install virtualenvwrapper
                    export WORKON_HOME=~/Envs
                    mkdir -p $WORKON_HOME
                    source /usr/local/bin/virtualenvwrapper.sh
                    mkvirtualenv env1
                    workon env2
                    
                    9
                    • 要运行rni实现,我们执行:
                    mkvirtualenv env1
                    
                    0
                    • 要运行套索实现,我们执行:
                    mkvirtualenv env1
                    
                    1

                    算法中使用的返回正则化参数是zetavec。参数'full'意味着该方法将生成从满网络到空网络的完整正则化路径,其zeta值在0和1之间缩放。 只有对于rni方法,才可以在jatnipy中指定并提供zetavec。并且zetarange可以缩放用于参数的因子。然后,rni将使用值向量来推断网络

                    mkvirtualenv env1
                    
                    2

                    该方法将使用该值向量来推断网络。

                    为了分析模型的性能,我们输入了网络估计值 由算法生成的模型比较方法:

                    mkvirtualenv env1
                    
                    3

                    comparemodels中的max函数用于查找每个计算度量值的最大值:

                    mkvirtualenv env1
                    
                    4

                    并且maxm包含comparemodels中所有度量值的最大值。如果您想获得特定度量的最佳性能,如'mcc'

                    mkvirtualenv env1
                    
                    5

                    如何在pypi上发布jatnipy

                    首先,您应该输入pypi寄存器并注册一个新的pypi帐户。

                    其次,为了将您的包上传到pypi,您将使用一个名为tween的工具。您可以像往常一样使用PIP安装绳线:

                    mkvirtualenv env1
                    
                    6

                    pypi上的包不是作为纯源代码分发的。它们被包装成分发包。分发包最常见的格式是源文件和python控制盘。

                    要为包创建源存档和控制盘,可以运行以下命令:

                    mkvirtualenv env1
                    
                    7

                    在运行此命令之前,您应该检查setup.py,可以参考打包python项目。记住要换个版本。最新版本不应与以前的版本同名。

                    如果要发布自己的包,则最后一步很短: (检查dist文件夹是否只有最新版本。)

                    mkvirtualenv env1
                    
                    8

                    您应该输入帐户和密码以更新版本

                    我该和谁说话?

                    欢迎加入QQ群-->: 979659372 Python中文网_新手群

                    推荐PyPI第三方库


热门话题
Java子类在构造函数中少取1个参数   arraylist在java中使用堆栈将对象添加到数组列表中   java如何使用扫描仪或缓冲读取器读取输入文件,并统计输入文件中出现的所有特定字符   java围绕其中心逆时针旋转2D数组,同时保持数组大小   java输入后,println不会输出任何内容   java未知HK2故障多重异常   SimplePath中字段的java Querydsl 4 StringExpression   循环遍历java代码中的多个集合   socket inputstream在使用BOX java sdk时损坏   java什么是面颊新闻活动?   列出比较多个整数并查找java中的最大整数   用户权限如何获得在java中Windows vista/7的C驱动器中打开目录的管理权限   范围内最大/最小值的java数据结构   文件如何使用Java下载和解压缩zip存档?   JavaSpring动态原型bean   类似于云浏览的java应用程序   java无法联系localhost:8005。关闭Tomcat时,Tomcat可能未运行错误