Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
rictjo
impetuous
提交
8594fa23
I
impetuous
项目概览
rictjo
/
impetuous
10 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
impetuous
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
8594fa23
编写于
3月 29, 2022
作者:
rictjo
提交者:
GitHub
3月 29, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update convert.py
上级
20e34b0d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
39 addition
and
35 deletion
+39
-35
src/impetuous/convert.py
src/impetuous/convert.py
+39
-35
未找到文件。
src/impetuous/convert.py
浏览文件 @
8594fa23
...
@@ -417,7 +417,7 @@ class NodeGraph ( Neuron ) :
...
@@ -417,7 +417,7 @@ class NodeGraph ( Neuron ) :
def
calculate_adjacency_matrix
(
self
,
bSparse
:
bool
=
False
,
def
calculate_adjacency_matrix
(
self
,
bSparse
:
bool
=
False
,
analyte_identifier
:
str
=
None
,
analyte_identifier
:
str
=
None
,
analyte_adjacency_level
:
int
=
None
,
analyte_adjacency_level
:
int
=
None
,
linktypes
:
list
[
str
]
=
[
'
links'
,
'
ascendants'
,
'descendants'
]
)
->
dict
:
linktypes
:
list
[
str
]
=
[
'ascendants'
,
'descendants'
]
)
->
dict
:
#
#
# IF ANALYTE IDENTIFIER IS PASSED THEN CONSTRUCT THE
# IF ANALYTE IDENTIFIER IS PASSED THEN CONSTRUCT THE
# ANALYTE ADJACENCY MATRIX AT A SPECIFIED LEVEL
# ANALYTE ADJACENCY MATRIX AT A SPECIFIED LEVEL
...
@@ -428,14 +428,7 @@ class NodeGraph ( Neuron ) :
...
@@ -428,14 +428,7 @@ class NodeGraph ( Neuron ) :
# DEFAULT: CONSTRUCT NODE TO NODE (CLUSTERS) LINK ADJACENCY MATRIX
# DEFAULT: CONSTRUCT NODE TO NODE (CLUSTERS) LINK ADJACENCY MATRIX
# WE DONT ENFORCE SYMMETRY
# WE DONT ENFORCE SYMMETRY
#
#
def
unravel
(
seq
:
list
)
->
list
:
if
isinstance
(
seq
,
(
list
)
):
yield
from
(
x
for
y
in
seq
for
x
in
unravel
(
y
))
else
:
yield
seq
graph
=
self
.
get_graph
()
graph
=
self
.
get_graph
()
if
analyte_identifier
is
None
or
analyte_adjacency_level
is
None
:
if
analyte_identifier
is
None
or
analyte_adjacency_level
is
None
:
names
=
list
(
self
.
keys
())
names
=
list
(
self
.
keys
())
Nn
=
len
(
names
)
Nn
=
len
(
names
)
...
@@ -445,13 +438,19 @@ class NodeGraph ( Neuron ) :
...
@@ -445,13 +438,19 @@ class NodeGraph ( Neuron ) :
else
:
else
:
amat
=
np
.
zeros
(
Nn
*
Nn
).
reshape
(
Nn
,
Nn
)
amat
=
np
.
zeros
(
Nn
*
Nn
).
reshape
(
Nn
,
Nn
)
for
name
in
names
:
for
name
in
names
:
LINKS
=
[]
for
linktype
in
linktypes
:
for
linktype
in
linktypes
:
# WRONG BOOK-KEEPING HERE
for
link
in
graph
[
name
].
get_links
(
linktype
)
:
LINKS
.
append
(
graph
[
name
].
get_links
(
linktype
)
)
i
=
lookup
[
name
]
for
link
in
list
(
unravel
(
LINKS
)):
j
=
lookup
[
link
]
i
=
lookup
[
name
]
if
i
==
j
:
j
=
lookup
[
link
]
continue
amat
[
i
,
j
]
=
1
if
linktype
==
'ascendants'
:
amat
[
j
,
i
]
=
1
if
linktype
==
'descendants'
:
amat
[
i
,
j
]
=
1
if
linktype
==
'links'
:
amat
[
j
,
i
]
=
1
amat
[
i
,
j
]
=
1
else
:
else
:
level
=
analyte_adjacency_level
level
=
analyte_adjacency_level
root_data
=
graph
[
self
.
get_root_id
()
].
get_data
()
root_data
=
graph
[
self
.
get_root_id
()
].
get_data
()
...
@@ -468,19 +467,24 @@ class NodeGraph ( Neuron ) :
...
@@ -468,19 +467,24 @@ class NodeGraph ( Neuron ) :
else
:
else
:
amat
=
np
.
zeros
(
Nn
*
Nn
).
reshape
(
Nn
,
Nn
)
amat
=
np
.
zeros
(
Nn
*
Nn
).
reshape
(
Nn
,
Nn
)
for
name
in
nnames
:
for
name
in
nnames
:
LINKS
=
[]
for
linktype
in
linktypes
:
for
linktype
in
linktypes
:
# WRONG BOOK-KEEPING HERE
for
link
in
graph
[
name
].
get_links
(
linktype
)
:
LINKS
.
append
(
graph
[
name
].
get_links
(
linktype
)
)
i_names
=
graph
[
name
].
get_data
()[
analyte_identifier
]
for
link
in
list
(
unravel
(
LINKS
)):
j_names
=
graph
[
link
].
get_data
()[
analyte_identifier
]
i_names
=
graph
[
name
].
get_data
()[
analyte_identifier
]
if
(
graph
[
link
].
level
()
==
level
or
graph
[
name
].
level
()
==
level
)
or
level
<
0
:
j_names
=
graph
[
link
].
get_data
()[
analyte_identifier
]
for
namei
in
i_names
:
if
(
graph
[
link
].
level
()
==
level
or
graph
[
name
].
level
()
==
level
)
or
level
<
0
:
for
namej
in
j_names
:
for
namei
in
i_names
:
i
=
lookup
[
namei
]
for
namej
in
j_names
:
j
=
lookup
[
namej
]
i
=
lookup
[
namei
]
if
i
==
j
:
j
=
lookup
[
namej
]
continue
if
not
i
==
j
:
if
linktype
==
'ascendants'
:
amat
[
i
,
j
]
=
1
amat
[
j
,
i
]
=
1
if
linktype
==
'descendants'
:
amat
[
i
,
j
]
=
1
if
linktype
==
'links'
:
amat
[
j
,
i
]
=
1
amat
[
i
,
j
]
=
1
self
.
adjacency_matrix_
=
{
'adjacency matrix'
:
amat
,
'index names'
:
names
,
'sparsity'
:
bSparse
}
self
.
adjacency_matrix_
=
{
'adjacency matrix'
:
amat
,
'index names'
:
names
,
'sparsity'
:
bSparse
}
return
(
self
.
adjacency_matrix_
)
return
(
self
.
adjacency_matrix_
)
...
@@ -576,15 +580,15 @@ class NodeGraph ( Neuron ) :
...
@@ -576,15 +580,15 @@ class NodeGraph ( Neuron ) :
d_adjv
=
adj_matrix
[
i
,:]
d_adjv
=
adj_matrix
[
i
,:]
a_adjv
=
adj_matrix
[:,
i
]
a_adjv
=
adj_matrix
[:,
i
]
for
j
in
range
(
len
(
d_adjv
))
:
for
j
in
range
(
len
(
d_adjv
))
:
if
d_adjv
[
j
]
==
1
and
i
!=
j
:
if
i
==
j
:
continue
if
d_adjv
[
j
]
==
1
:
desc
.
append
(
set_name
(
j
,
names
,
bAssignIDs
))
desc
.
append
(
set_name
(
j
,
names
,
bAssignIDs
))
if
a_adjv
[
j
]
==
1
and
i
!=
j
:
if
a_adjv
[
j
]
==
1
:
ascs
.
append
(
set_name
(
j
,
names
,
bAssignIDs
))
ascs
.
append
(
set_name
(
j
,
names
,
bAssignIDs
))
if
a_adjv
[
j
]
==
1
or
d_adjv
[
j
]
==
1
and
i
!=
j
:
n
.
add_links
(
list
(
set
(
desc
)),
linktype
=
'descendants'
)
linx
.
append
(
set_name
(
j
,
names
,
bAssignIDs
))
n
.
add_links
(
list
(
set
(
desc
)
|
set
(
ascs
)),
linktype
=
'links'
)
n
.
add_links
(
desc
,
linktype
=
'descendants'
)
n
.
add_links
(
list
(
set
(
ascs
)),
linktype
=
'ascendants'
)
n
.
add_links
(
linx
,
linktype
=
'links'
)
n
.
add_links
(
ascs
,
linktype
=
'ascendants'
)
self
.
add
(
n
)
self
.
add
(
n
)
def
add_ascendant_descendant
(
self
,
ascendant
:
str
,
descendant
:
str
)
->
None
:
def
add_ascendant_descendant
(
self
,
ascendant
:
str
,
descendant
:
str
)
->
None
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录