justin's、andrea's和torbjórn的python网络推理包
jatnip的Python项目详细描述
Jatnipy
Justin's、Andrea's和Torbjórn的Python网络推理包
什么是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
- 使用git获取jatnipy存储库运行此命令
< > >
git clone https://bitbucket.org/temn/JATNIpy/
- 通过
< > >cd ~/JATNIpy/jatnipy.
- 在处理完所需的环境后,使用pip3安装
使用命令打包开源python3
< > >pip3 install -e
备选方案2:直接下载
- 从jatnipy下载
- 通过
< > >cd ~/JATNIpy/jatnipy.
- 在处理完所需的环境后,使用pip3安装
使用命令打包开源python3
< > >pip3 install -e
备选方案3:直接安装
使用pip3从pypi安装jatnipy
apt-get install python3-pip
1
在备选方案1和2中,当使用pip3 install-e
时,它会安装以下依赖项:
- 请求:人类的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-id1446937和nordling-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
。有三种不同的正常化程序:
- 标准化
- 最小/最大范围缩放
- 单位缩放。
< > >所有方法都可以在行或列上工作,具体取决于输入。一些用法示例如下:
- 对于标准化
< > >yum install python34-setuptools
easy_install pip
5
应返回0作为行和,每个样本的平方值应为1,因此行和应=m。
- 用于范围缩放
< > >yum install python34-setuptools
easy_install pip
6
每行的最大值和最小值应分别为1和0。
- 对于单位缩放
< > >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
您应该输入帐户和密码以更新版本
我该和谁说话?
- 如有疑问,请联系贾斯汀,andreas tj_rnberg
,托尔比昂·诺德林
推荐PyPI第三方库
git clone https://bitbucket.org/temn/JATNIpy/
- 通过 < > >
- 在处理完所需的环境后,使用pip3安装 使用命令打包开源python3 < > >
- 从jatnipy下载
- 通过 < > >
- 在处理完所需的环境后,使用pip3安装 使用命令打包开源python3 < > >
cd ~/JATNIpy/jatnipy.
pip3 install -e
备选方案2:直接下载
cd ~/JATNIpy/jatnipy.
pip3 install -e
备选方案3:直接安装
使用pip3从pypi安装jatnipy
apt-get install python3-pip
1
在备选方案1和2中,当使用pip3 install-e
时,它会安装以下依赖项:
cd ~/JATNIpy/jatnipy.
pip3 install -e
备选方案3:直接安装
使用pip3从pypi安装jatnipy
apt-get install python3-pip
1
在备选方案1和2中,当使用pip3 install-e
时,它会安装以下依赖项:
数据集和网络
- 数据集在这里可用。
- 网络可用此处
基本功能
要在安装后测试该基本功能,请打开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-id1446937和nordling-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
。有三种不同的正常化程序:
- 标准化
- 最小/最大范围缩放
- 单位缩放。 < > >
- 对于标准化 < > >
- 用于范围缩放 < > >
- 对于单位缩放 < > >
互比较性
:这是使用numpy.linalg.cond(a)
计算的a
的条件数网络组件
:通过graphconncomp
函数计算强连接组件的数量。avgpathlength
:使用中值路径长度
函数的网络图的路径长度。无论是graphconncomp
还是median_path_length
都使用基于python的networkx
包来计算。taug
:是网络的时间常数cc
:平均聚类系数,可以解释为网络中每个节点的邻域稀疏性,但不考虑节点本身。dd
:是模型的平均度分布。- 要运行
glmnet
方法,我们执行: - 要运行
lsco
实现,我们执行: - 要运行
rni
实现,我们执行: - 要运行套索实现,我们执行:
- 如有疑问,请联系贾斯汀,andreas tj_rnberg ,托尔比昂·诺德林
所有方法都可以在行或列上工作,具体取决于输入。一些用法示例如下:
yum install python34-setuptools
easy_install pip
5
应返回0作为行和,每个样本的平方值应为1,因此行和应=m。
yum install python34-setuptools
easy_install pip
6
每行的最大值和最小值应分别为1和0。
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中有六个度量值:
属性 不仅可以计算平均聚类系数,还可以计算所有聚类系数。所有聚类系数都可以通过 我们将 然后产生如下输出: 以下两个函数计算所有信噪比 为了分析推理方法的性能,我们首先需要生成一个输出。使用包装器很容易操作。每个方法都有一个关联的包装器,用于分析方法本身的数据。
在jatnipy中,我们重新实现了四个包装器,分别是lasso、glmnet、lsco、rnico。
在运行glmnet实现之前,我们应该执行以下命令行 要使用glmnet,应先安装(如果安装在虚拟机中,则不需要此步骤) 算法中使用的返回正则化参数是 该方法将使用该值向量来推断网络。 为了分析模型的性能,我们输入了网络估计值
由算法生成的模型比较方法: 并且 首先,您应该输入pypi寄存器并注册一个新的pypi帐户。 其次,为了将您的包上传到pypi,您将使用一个名为tween的工具。您可以像往常一样使用PIP安装绳线: pypi上的包不是作为纯源代码分发的。它们被包装成分发包。分发包最常见的格式是源文件和python控制盘。 要为包创建源存档和控制盘,可以运行以下命令: 在运行此命令之前,您应该检查setup.py,可以参考打包python项目。记住要换个版本。最新版本不应与以前的版本同名。 如果要发布自己的包,则最后一步很短:
(检查dist文件夹是否只有最新版本。) 您应该输入帐户和密码以更新版本analyze.model.type
可以通过使用analyze.datamodel.type
选择为有向的或
无向的
2
pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2
Jatnipy的数据分析:
数据输入
analyze.dataanalysis
以分析数据:
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
pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2
捷尼的性能评估:
6
pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2
7
pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2
8
pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2
9
pip3 install virtualenvwrapper
export WORKON_HOME=~/Envs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv env1
workon env2
0
mkvirtualenv env1
1
mkvirtualenv env1
zetavec
。参数'full'
意味着该方法将生成从满网络到空网络的完整正则化路径,其zeta
值在0和1之间缩放。
只有对于rni
方法,才可以在jatnipy中指定并提供zetavec。并且zetarange
可以缩放用于参数的因子。然后,rni将使用值向量来推断网络
2
mkvirtualenv env1
3
mkvirtualenv env1
comparemodels
中的max
函数用于查找每个计算度量值的最大值:
4
mkvirtualenv env1
maxm
包含comparemodels
中所有度量值的最大值。如果您想获得特定度量的最佳性能,如'mcc'
:
5mkvirtualenv env1
如何在pypi上发布jatnipy
6
mkvirtualenv env1
7
mkvirtualenv env1
8
mkvirtualenv env1
我该和谁说话?
推荐PyPI第三方库