graph and subgraph generation
This commit is contained in:
parent
1b2d5597b0
commit
d2165afbfd
276
pdm.lock
generated
276
pdm.lock
generated
@ -5,59 +5,7 @@
|
|||||||
groups = ["default", "notebooks", "trials", "trails", "dev"]
|
groups = ["default", "notebooks", "trials", "trails", "dev"]
|
||||||
strategy = ["cross_platform", "inherit_metadata"]
|
strategy = ["cross_platform", "inherit_metadata"]
|
||||||
lock_version = "4.4.2"
|
lock_version = "4.4.2"
|
||||||
content_hash = "sha256:5c4c7b58272b6a8845865dde1fc6c953611f3e9424823eea35682da5cb6e112c"
|
content_hash = "sha256:a9f1cc71f6ee89d2f0572ef7254c9f0be702dbd1a4957b2f0d00d3b83ccc20d4"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "alph"
|
|
||||||
version = "0.4.10"
|
|
||||||
requires_python = "<4.0,>=3.9"
|
|
||||||
summary = "alph"
|
|
||||||
groups = ["trials"]
|
|
||||||
dependencies = [
|
|
||||||
"altair>=5.0.1",
|
|
||||||
"networkx>=2.6.3",
|
|
||||||
"pandas>=1.3.5",
|
|
||||||
"scikit-network>=0.27.1",
|
|
||||||
]
|
|
||||||
files = [
|
|
||||||
{file = "alph-0.4.10-py3-none-any.whl", hash = "sha256:47649ef9d12ac7bddaa9cfc7510ab333e7fe1c76d4da4d1b09629bbd174fbe63"},
|
|
||||||
{file = "alph-0.4.10.tar.gz", hash = "sha256:a2cfe932c7a6a973c718f8c5bc1b1dbc7a1d18a122cb5e438db5ea3a61d6b5c3"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "alph"
|
|
||||||
version = "0.4.10"
|
|
||||||
extras = ["graphviz"]
|
|
||||||
requires_python = "<4.0,>=3.9"
|
|
||||||
summary = "alph"
|
|
||||||
groups = ["trials"]
|
|
||||||
dependencies = [
|
|
||||||
"alph==0.4.10",
|
|
||||||
"pygraphviz>=1.10",
|
|
||||||
]
|
|
||||||
files = [
|
|
||||||
{file = "alph-0.4.10-py3-none-any.whl", hash = "sha256:47649ef9d12ac7bddaa9cfc7510ab333e7fe1c76d4da4d1b09629bbd174fbe63"},
|
|
||||||
{file = "alph-0.4.10.tar.gz", hash = "sha256:a2cfe932c7a6a973c718f8c5bc1b1dbc7a1d18a122cb5e438db5ea3a61d6b5c3"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "altair"
|
|
||||||
version = "5.3.0"
|
|
||||||
requires_python = ">=3.8"
|
|
||||||
summary = "Vega-Altair: A declarative statistical visualization library for Python."
|
|
||||||
groups = ["trials"]
|
|
||||||
dependencies = [
|
|
||||||
"jinja2",
|
|
||||||
"jsonschema>=3.0",
|
|
||||||
"numpy",
|
|
||||||
"packaging",
|
|
||||||
"pandas>=0.25",
|
|
||||||
"toolz",
|
|
||||||
]
|
|
||||||
files = [
|
|
||||||
{file = "altair-5.3.0-py3-none-any.whl", hash = "sha256:7084a1dab4d83c5e7e5246b92dc1b4451a6c68fd057f3716ee9d315c8980e59a"},
|
|
||||||
{file = "altair-5.3.0.tar.gz", hash = "sha256:5a268b1a0983b23d8f9129f819f956174aa7aea2719ed55a52eba9979b9f6675"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "annotated-types"
|
name = "annotated-types"
|
||||||
@ -188,7 +136,7 @@ name = "attrs"
|
|||||||
version = "23.2.0"
|
version = "23.2.0"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Classes Without Boilerplate"
|
summary = "Classes Without Boilerplate"
|
||||||
groups = ["notebooks", "trials"]
|
groups = ["notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
|
{file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
|
||||||
{file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
|
{file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
|
||||||
@ -210,7 +158,7 @@ name = "backoff"
|
|||||||
version = "2.2.1"
|
version = "2.2.1"
|
||||||
requires_python = ">=3.7,<4.0"
|
requires_python = ">=3.7,<4.0"
|
||||||
summary = "Function decoration for backoff and retry"
|
summary = "Function decoration for backoff and retry"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"},
|
{file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"},
|
||||||
{file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"},
|
{file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"},
|
||||||
@ -294,7 +242,7 @@ name = "certifi"
|
|||||||
version = "2024.2.2"
|
version = "2024.2.2"
|
||||||
requires_python = ">=3.6"
|
requires_python = ">=3.6"
|
||||||
summary = "Python package for providing Mozilla's CA Bundle."
|
summary = "Python package for providing Mozilla's CA Bundle."
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
|
{file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
|
||||||
{file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
|
{file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
|
||||||
@ -339,7 +287,7 @@ name = "chardet"
|
|||||||
version = "5.2.0"
|
version = "5.2.0"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Universal encoding detector for Python 3"
|
summary = "Universal encoding detector for Python 3"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"},
|
{file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"},
|
||||||
{file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"},
|
{file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"},
|
||||||
@ -350,7 +298,7 @@ name = "charset-normalizer"
|
|||||||
version = "3.3.2"
|
version = "3.3.2"
|
||||||
requires_python = ">=3.7.0"
|
requires_python = ">=3.7.0"
|
||||||
summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
|
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
|
||||||
{file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
|
{file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
|
||||||
@ -427,7 +375,7 @@ files = [
|
|||||||
name = "colorbrewer"
|
name = "colorbrewer"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
summary = "constants from Cynthia Brewer's ColorBrewer"
|
summary = "constants from Cynthia Brewer's ColorBrewer"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"six",
|
"six",
|
||||||
]
|
]
|
||||||
@ -440,7 +388,7 @@ files = [
|
|||||||
name = "colour"
|
name = "colour"
|
||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
summary = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)"
|
summary = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "colour-0.1.5-py2.py3-none-any.whl", hash = "sha256:33f6db9d564fadc16e59921a56999b79571160ce09916303d35346dddc17978c"},
|
{file = "colour-0.1.5-py2.py3-none-any.whl", hash = "sha256:33f6db9d564fadc16e59921a56999b79571160ce09916303d35346dddc17978c"},
|
||||||
{file = "colour-0.1.5.tar.gz", hash = "sha256:af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee"},
|
{file = "colour-0.1.5.tar.gz", hash = "sha256:af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee"},
|
||||||
@ -523,7 +471,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dash"
|
name = "dash"
|
||||||
version = "2.17.0"
|
version = "2.17.1"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "A Python framework for building reactive web-apps. Developed by Plotly."
|
summary = "A Python framework for building reactive web-apps. Developed by Plotly."
|
||||||
groups = ["default"]
|
groups = ["default"]
|
||||||
@ -542,8 +490,8 @@ dependencies = [
|
|||||||
"typing-extensions>=4.1.1",
|
"typing-extensions>=4.1.1",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "dash-2.17.0-py3-none-any.whl", hash = "sha256:2421569023b2cd46ea2d4b2c14fe72c71b7436527a3102219b2265fa361e7c67"},
|
{file = "dash-2.17.1-py3-none-any.whl", hash = "sha256:3eefc9ac67003f93a06bc3e500cae0a6787c48e6c81f6f61514239ae2da414e4"},
|
||||||
{file = "dash-2.17.0.tar.gz", hash = "sha256:d065cd88771e45d0485993be0d27565e08918cb7edd18e31ee1c5b41252fc2fa"},
|
{file = "dash-2.17.1.tar.gz", hash = "sha256:ee2d9c319de5dcc1314085710b72cd5fa63ff994d913bf72979b7130daeea28e"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -558,7 +506,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dash-cytoscape"
|
name = "dash-cytoscape"
|
||||||
version = "1.0.1"
|
version = "1.0.2"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "A Component Library for Dash aimed at facilitating network visualization in Python, wrapped around Cytoscape.js"
|
summary = "A Component Library for Dash aimed at facilitating network visualization in Python, wrapped around Cytoscape.js"
|
||||||
groups = ["default"]
|
groups = ["default"]
|
||||||
@ -566,7 +514,7 @@ dependencies = [
|
|||||||
"dash",
|
"dash",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "dash_cytoscape-1.0.1.tar.gz", hash = "sha256:1bcd1587b2d8b432945585e2295e76393d3eb829f606c198693cd2b45bea6adc"},
|
{file = "dash_cytoscape-1.0.2.tar.gz", hash = "sha256:a61019d2184d63a2b3b5c06d056d3b867a04223a674cc3c7cf900a561a9a59aa"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -613,7 +561,7 @@ name = "decorator"
|
|||||||
version = "5.1.1"
|
version = "5.1.1"
|
||||||
requires_python = ">=3.5"
|
requires_python = ">=3.5"
|
||||||
summary = "Decorators for Humans"
|
summary = "Decorators for Humans"
|
||||||
groups = ["notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
|
{file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
|
||||||
{file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"},
|
{file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"},
|
||||||
@ -771,7 +719,7 @@ name = "idna"
|
|||||||
version = "3.7"
|
version = "3.7"
|
||||||
requires_python = ">=3.5"
|
requires_python = ">=3.5"
|
||||||
summary = "Internationalized Domain Names in Applications (IDNA)"
|
summary = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
|
{file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
|
||||||
{file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
|
{file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
|
||||||
@ -782,7 +730,7 @@ name = "igraph"
|
|||||||
version = "0.11.5"
|
version = "0.11.5"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "High performance graph data structures and algorithms"
|
summary = "High performance graph data structures and algorithms"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"texttable>=1.6.2",
|
"texttable>=1.6.2",
|
||||||
]
|
]
|
||||||
@ -848,7 +796,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ipykernel"
|
name = "ipykernel"
|
||||||
version = "6.29.4"
|
version = "6.29.5"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "IPython Kernel for Jupyter"
|
summary = "IPython Kernel for Jupyter"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
@ -868,13 +816,13 @@ dependencies = [
|
|||||||
"traitlets>=5.4.0",
|
"traitlets>=5.4.0",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "ipykernel-6.29.4-py3-none-any.whl", hash = "sha256:1181e653d95c6808039c509ef8e67c4126b3b3af7781496c7cbfb5ed938a27da"},
|
{file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"},
|
||||||
{file = "ipykernel-6.29.4.tar.gz", hash = "sha256:3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c"},
|
{file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ipython"
|
name = "ipython"
|
||||||
version = "8.24.0"
|
version = "8.26.0"
|
||||||
requires_python = ">=3.10"
|
requires_python = ">=3.10"
|
||||||
summary = "IPython: Productive Interactive Computing"
|
summary = "IPython: Productive Interactive Computing"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
@ -891,26 +839,26 @@ dependencies = [
|
|||||||
"typing-extensions>=4.6; python_version < \"3.12\"",
|
"typing-extensions>=4.6; python_version < \"3.12\"",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "ipython-8.24.0-py3-none-any.whl", hash = "sha256:d7bf2f6c4314984e3e02393213bab8703cf163ede39672ce5918c51fe253a2a3"},
|
{file = "ipython-8.26.0-py3-none-any.whl", hash = "sha256:e6b347c27bdf9c32ee9d31ae85defc525755a1869f14057e900675b9e8d6e6ff"},
|
||||||
{file = "ipython-8.24.0.tar.gz", hash = "sha256:010db3f8a728a578bb641fdd06c063b9fb8e96a9464c63aec6310fbcb5e80501"},
|
{file = "ipython-8.26.0.tar.gz", hash = "sha256:1cec0fbba8404af13facebe83d04436a7434c7400e59f47acf467c64abd0956c"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ipywidgets"
|
name = "ipywidgets"
|
||||||
version = "8.1.2"
|
version = "8.1.3"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Jupyter interactive widgets"
|
summary = "Jupyter interactive widgets"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"comm>=0.1.3",
|
"comm>=0.1.3",
|
||||||
"ipython>=6.1.0",
|
"ipython>=6.1.0",
|
||||||
"jupyterlab-widgets~=3.0.10",
|
"jupyterlab-widgets~=3.0.11",
|
||||||
"traitlets>=4.3.1",
|
"traitlets>=4.3.1",
|
||||||
"widgetsnbextension~=4.0.10",
|
"widgetsnbextension~=4.0.11",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "ipywidgets-8.1.2-py3-none-any.whl", hash = "sha256:bbe43850d79fb5e906b14801d6c01402857996864d1e5b6fa62dd2ee35559f60"},
|
{file = "ipywidgets-8.1.3-py3-none-any.whl", hash = "sha256:efafd18f7a142248f7cb0ba890a68b96abd4d6e88ddbda483c9130d12667eaf2"},
|
||||||
{file = "ipywidgets-8.1.2.tar.gz", hash = "sha256:d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9"},
|
{file = "ipywidgets-8.1.3.tar.gz", hash = "sha256:f5f9eeaae082b1823ce9eac2575272952f40d748893972956dc09700a6392d9c"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -957,7 +905,7 @@ name = "jinja2"
|
|||||||
version = "3.1.4"
|
version = "3.1.4"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "A very fast and expressive template engine."
|
summary = "A very fast and expressive template engine."
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"MarkupSafe>=2.0",
|
"MarkupSafe>=2.0",
|
||||||
]
|
]
|
||||||
@ -1004,7 +952,7 @@ name = "jsonschema"
|
|||||||
version = "4.22.0"
|
version = "4.22.0"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "An implementation of JSON Schema validation for Python"
|
summary = "An implementation of JSON Schema validation for Python"
|
||||||
groups = ["notebooks", "trials"]
|
groups = ["notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"attrs>=22.2.0",
|
"attrs>=22.2.0",
|
||||||
"jsonschema-specifications>=2023.03.6",
|
"jsonschema-specifications>=2023.03.6",
|
||||||
@ -1021,7 +969,7 @@ name = "jsonschema-specifications"
|
|||||||
version = "2023.12.1"
|
version = "2023.12.1"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
|
summary = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
|
||||||
groups = ["notebooks", "trials"]
|
groups = ["notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"referencing>=0.31.0",
|
"referencing>=0.31.0",
|
||||||
]
|
]
|
||||||
@ -1055,7 +1003,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jupyter-client"
|
name = "jupyter-client"
|
||||||
version = "8.6.1"
|
version = "8.6.2"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "Jupyter protocol implementation and client libraries"
|
summary = "Jupyter protocol implementation and client libraries"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
@ -1067,8 +1015,8 @@ dependencies = [
|
|||||||
"traitlets>=5.3",
|
"traitlets>=5.3",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "jupyter_client-8.6.1-py3-none-any.whl", hash = "sha256:3b7bd22f058434e3b9a7ea4b1500ed47de2713872288c0d511d19926f99b459f"},
|
{file = "jupyter_client-8.6.2-py3-none-any.whl", hash = "sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f"},
|
||||||
{file = "jupyter_client-8.6.1.tar.gz", hash = "sha256:e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f"},
|
{file = "jupyter_client-8.6.2.tar.gz", hash = "sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1123,7 +1071,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jupyter-server"
|
name = "jupyter-server"
|
||||||
version = "2.14.0"
|
version = "2.14.2"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
|
summary = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
@ -1149,8 +1097,8 @@ dependencies = [
|
|||||||
"websocket-client>=1.7",
|
"websocket-client>=1.7",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "jupyter_server-2.14.0-py3-none-any.whl", hash = "sha256:fb6be52c713e80e004fac34b35a0990d6d36ba06fd0a2b2ed82b899143a64210"},
|
{file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"},
|
||||||
{file = "jupyter_server-2.14.0.tar.gz", hash = "sha256:659154cea512083434fd7c93b7fe0897af7a2fd0b9dd4749282b42eaac4ae677"},
|
{file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1170,7 +1118,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jupyterlab"
|
name = "jupyterlab"
|
||||||
version = "4.2.0"
|
version = "4.2.3"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "JupyterLab computational environment"
|
summary = "JupyterLab computational environment"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
@ -1185,12 +1133,13 @@ dependencies = [
|
|||||||
"jupyterlab-server<3,>=2.27.1",
|
"jupyterlab-server<3,>=2.27.1",
|
||||||
"notebook-shim>=0.2",
|
"notebook-shim>=0.2",
|
||||||
"packaging",
|
"packaging",
|
||||||
|
"setuptools>=40.1.0",
|
||||||
"tornado>=6.2.0",
|
"tornado>=6.2.0",
|
||||||
"traitlets",
|
"traitlets",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "jupyterlab-4.2.0-py3-none-any.whl", hash = "sha256:0dfe9278e25a145362289c555d9beb505697d269c10e99909766af7c440ad3cc"},
|
{file = "jupyterlab-4.2.3-py3-none-any.whl", hash = "sha256:0b59d11808e84bb84105c73364edfa867dd475492429ab34ea388a52f2e2e596"},
|
||||||
{file = "jupyterlab-4.2.0.tar.gz", hash = "sha256:356e9205a6a2ab689c47c8fe4919dba6c076e376d03f26baadc05748c2435dd5"},
|
{file = "jupyterlab-4.2.3.tar.gz", hash = "sha256:df6e46969ea51d66815167f23d92f105423b7f1f06fa604d4f44aeb018c82c7b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1206,7 +1155,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jupyterlab-server"
|
name = "jupyterlab-server"
|
||||||
version = "2.27.1"
|
version = "2.27.3"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "A set of server components for JupyterLab and JupyterLab like applications."
|
summary = "A set of server components for JupyterLab and JupyterLab like applications."
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
@ -1220,19 +1169,19 @@ dependencies = [
|
|||||||
"requests>=2.31",
|
"requests>=2.31",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "jupyterlab_server-2.27.1-py3-none-any.whl", hash = "sha256:f5e26156e5258b24d532c84e7c74cc212e203bff93eb856f81c24c16daeecc75"},
|
{file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"},
|
||||||
{file = "jupyterlab_server-2.27.1.tar.gz", hash = "sha256:097b5ac709b676c7284ac9c5e373f11930a561f52cd5a86e4fc7e5a9c8a8631d"},
|
{file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jupyterlab-widgets"
|
name = "jupyterlab-widgets"
|
||||||
version = "3.0.10"
|
version = "3.0.11"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Jupyter interactive widgets for JupyterLab"
|
summary = "Jupyter interactive widgets for JupyterLab"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "jupyterlab_widgets-3.0.10-py3-none-any.whl", hash = "sha256:dd61f3ae7a5a7f80299e14585ce6cf3d6925a96c9103c978eda293197730cb64"},
|
{file = "jupyterlab_widgets-3.0.11-py3-none-any.whl", hash = "sha256:78287fd86d20744ace330a61625024cf5521e1c012a352ddc0a3cdc2348becd0"},
|
||||||
{file = "jupyterlab_widgets-3.0.10.tar.gz", hash = "sha256:04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0"},
|
{file = "jupyterlab_widgets-3.0.11.tar.gz", hash = "sha256:dd5ac679593c969af29c9bed054c24f26842baa51352114736756bc035deee27"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1325,7 +1274,7 @@ name = "markupsafe"
|
|||||||
version = "2.1.5"
|
version = "2.1.5"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Safely add untrusted strings to HTML/XML markup."
|
summary = "Safely add untrusted strings to HTML/XML markup."
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
|
{file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
|
||||||
{file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
|
{file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
|
||||||
@ -1501,7 +1450,7 @@ name = "networkx"
|
|||||||
version = "3.3"
|
version = "3.3"
|
||||||
requires_python = ">=3.10"
|
requires_python = ">=3.10"
|
||||||
summary = "Python package for creating and manipulating graphs and networks"
|
summary = "Python package for creating and manipulating graphs and networks"
|
||||||
groups = ["default", "trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "networkx-3.3-py3-none-any.whl", hash = "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"},
|
{file = "networkx-3.3-py3-none-any.whl", hash = "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"},
|
||||||
{file = "networkx-3.3.tar.gz", hash = "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9"},
|
{file = "networkx-3.3.tar.gz", hash = "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9"},
|
||||||
@ -1526,7 +1475,7 @@ name = "numpy"
|
|||||||
version = "1.26.4"
|
version = "1.26.4"
|
||||||
requires_python = ">=3.9"
|
requires_python = ">=3.9"
|
||||||
summary = "Fundamental package for array computing in Python"
|
summary = "Fundamental package for array computing in Python"
|
||||||
groups = ["default", "trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
|
{file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
|
||||||
{file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
|
{file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
|
||||||
@ -1720,7 +1669,7 @@ name = "packaging"
|
|||||||
version = "24.0"
|
version = "24.0"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Core utilities for Python packages"
|
summary = "Core utilities for Python packages"
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"},
|
{file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"},
|
||||||
{file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"},
|
{file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"},
|
||||||
@ -1731,7 +1680,7 @@ name = "pandas"
|
|||||||
version = "2.2.2"
|
version = "2.2.2"
|
||||||
requires_python = ">=3.9"
|
requires_python = ">=3.9"
|
||||||
summary = "Powerful data structures for data analysis, time series, and statistics"
|
summary = "Powerful data structures for data analysis, time series, and statistics"
|
||||||
groups = ["default", "trials"]
|
groups = ["default"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"numpy>=1.23.2; python_version == \"3.11\"",
|
"numpy>=1.23.2; python_version == \"3.11\"",
|
||||||
"numpy>=1.26.0; python_version >= \"3.12\"",
|
"numpy>=1.26.0; python_version >= \"3.12\"",
|
||||||
@ -1967,7 +1916,7 @@ name = "py4cytoscape"
|
|||||||
version = "1.9.0"
|
version = "1.9.0"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "Cytoscape Automation API"
|
summary = "Cytoscape Automation API"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backoff",
|
"backoff",
|
||||||
"chardet",
|
"chardet",
|
||||||
@ -2077,22 +2026,12 @@ files = [
|
|||||||
{file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
|
{file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pygraphviz"
|
|
||||||
version = "1.13"
|
|
||||||
requires_python = ">=3.10"
|
|
||||||
summary = "Python interface to Graphviz"
|
|
||||||
groups = ["trials"]
|
|
||||||
files = [
|
|
||||||
{file = "pygraphviz-1.13.tar.gz", hash = "sha256:6ad8aa2f26768830a5a1cfc8a14f022d13df170a8f6fdfd68fd1aa1267000964"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "python-dateutil"
|
name = "python-dateutil"
|
||||||
version = "2.9.0.post0"
|
version = "2.9.0.post0"
|
||||||
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||||
summary = "Extensions to the standard Python datetime module"
|
summary = "Extensions to the standard Python datetime module"
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"six>=1.5",
|
"six>=1.5",
|
||||||
]
|
]
|
||||||
@ -2116,7 +2055,7 @@ files = [
|
|||||||
name = "pytz"
|
name = "pytz"
|
||||||
version = "2024.1"
|
version = "2024.1"
|
||||||
summary = "World timezone definitions, modern and historical"
|
summary = "World timezone definitions, modern and historical"
|
||||||
groups = ["default", "trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"},
|
{file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"},
|
||||||
{file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"},
|
{file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"},
|
||||||
@ -2238,7 +2177,7 @@ name = "referencing"
|
|||||||
version = "0.35.1"
|
version = "0.35.1"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "JSON Referencing + Python"
|
summary = "JSON Referencing + Python"
|
||||||
groups = ["notebooks", "trials"]
|
groups = ["notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"attrs>=22.2.0",
|
"attrs>=22.2.0",
|
||||||
"rpds-py>=0.7.0",
|
"rpds-py>=0.7.0",
|
||||||
@ -2293,7 +2232,7 @@ name = "requests"
|
|||||||
version = "2.31.0"
|
version = "2.31.0"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Python HTTP for Humans."
|
summary = "Python HTTP for Humans."
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"certifi>=2017.4.17",
|
"certifi>=2017.4.17",
|
||||||
"charset-normalizer<4,>=2",
|
"charset-normalizer<4,>=2",
|
||||||
@ -2348,7 +2287,7 @@ name = "rpds-py"
|
|||||||
version = "0.18.1"
|
version = "0.18.1"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "Python bindings to Rust's persistent data structures (rpds)"
|
summary = "Python bindings to Rust's persistent data structures (rpds)"
|
||||||
groups = ["notebooks", "trials"]
|
groups = ["notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "rpds_py-0.18.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6b5ff7e1d63a8281654b5e2896d7f08799378e594f09cf3674e832ecaf396ce8"},
|
{file = "rpds_py-0.18.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6b5ff7e1d63a8281654b5e2896d7f08799378e594f09cf3674e832ecaf396ce8"},
|
||||||
{file = "rpds_py-0.18.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8927638a4d4137a289e41d0fd631551e89fa346d6dbcfc31ad627557d03ceb6d"},
|
{file = "rpds_py-0.18.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8927638a4d4137a289e41d0fd631551e89fa346d6dbcfc31ad627557d03ceb6d"},
|
||||||
@ -2499,29 +2438,12 @@ files = [
|
|||||||
{file = "scikit_learn-1.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:d762070980c17ba3e9a4a1e043ba0518ce4c55152032f1af0ca6f39b376b5928"},
|
{file = "scikit_learn-1.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:d762070980c17ba3e9a4a1e043ba0518ce4c55152032f1af0ca6f39b376b5928"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "scikit-network"
|
|
||||||
version = "0.32.1"
|
|
||||||
requires_python = ">=3.8"
|
|
||||||
summary = "Graph algorithms"
|
|
||||||
groups = ["trials"]
|
|
||||||
dependencies = [
|
|
||||||
"numpy>=1.22.4",
|
|
||||||
"scipy>=1.7.3",
|
|
||||||
]
|
|
||||||
files = [
|
|
||||||
{file = "scikit_network-0.32.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6228326cc5a813f4a7c031b64f1276d9cc1d5ccff082e62fb176f1e53ae2cc46"},
|
|
||||||
{file = "scikit_network-0.32.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d634aab1e379702134c877c8c4a6803b7d7ba4efc103198474b7e896ec37e242"},
|
|
||||||
{file = "scikit_network-0.32.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e32e247728815750b12b950279cae6b12041a0c4bf95d1accdd273b0c1a6ea1"},
|
|
||||||
{file = "scikit_network-0.32.1-cp311-cp311-win_amd64.whl", hash = "sha256:c7016dce37120aa527fcff4254985360f164306ed060c496a6cf296a6d0fd2c3"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "scipy"
|
name = "scipy"
|
||||||
version = "1.13.0"
|
version = "1.13.0"
|
||||||
requires_python = ">=3.9"
|
requires_python = ">=3.9"
|
||||||
summary = "Fundamental algorithms for scientific computing in Python"
|
summary = "Fundamental algorithms for scientific computing in Python"
|
||||||
groups = ["default", "trials"]
|
groups = ["default"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"numpy<2.3,>=1.22.4",
|
"numpy<2.3,>=1.22.4",
|
||||||
]
|
]
|
||||||
@ -2578,7 +2500,7 @@ name = "setuptools"
|
|||||||
version = "69.5.1"
|
version = "69.5.1"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "Easily download, build, install, upgrade, and uninstall Python packages"
|
summary = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||||
groups = ["default"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"},
|
{file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"},
|
||||||
{file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"},
|
{file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"},
|
||||||
@ -2589,7 +2511,7 @@ name = "six"
|
|||||||
version = "1.16.0"
|
version = "1.16.0"
|
||||||
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
summary = "Python 2 and 3 compatibility utilities"
|
summary = "Python 2 and 3 compatibility utilities"
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
||||||
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
||||||
@ -2630,7 +2552,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacy"
|
name = "spacy"
|
||||||
version = "3.7.4"
|
version = "3.7.5"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Industrial-strength Natural Language Processing (NLP) in Python"
|
summary = "Industrial-strength Natural Language Processing (NLP) in Python"
|
||||||
groups = ["default"]
|
groups = ["default"]
|
||||||
@ -2646,28 +2568,27 @@ dependencies = [
|
|||||||
"pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4",
|
"pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4",
|
||||||
"requests<3.0.0,>=2.13.0",
|
"requests<3.0.0,>=2.13.0",
|
||||||
"setuptools",
|
"setuptools",
|
||||||
"smart-open<7.0.0,>=5.2.1",
|
|
||||||
"spacy-legacy<3.1.0,>=3.0.11",
|
"spacy-legacy<3.1.0,>=3.0.11",
|
||||||
"spacy-loggers<2.0.0,>=1.0.0",
|
"spacy-loggers<2.0.0,>=1.0.0",
|
||||||
"srsly<3.0.0,>=2.4.3",
|
"srsly<3.0.0,>=2.4.3",
|
||||||
"thinc<8.3.0,>=8.2.2",
|
"thinc<8.3.0,>=8.2.2",
|
||||||
"tqdm<5.0.0,>=4.38.0",
|
"tqdm<5.0.0,>=4.38.0",
|
||||||
"typer<0.10.0,>=0.3.0",
|
"typer<1.0.0,>=0.3.0",
|
||||||
"wasabi<1.2.0,>=0.9.1",
|
"wasabi<1.2.0,>=0.9.1",
|
||||||
"weasel<0.4.0,>=0.1.0",
|
"weasel<0.5.0,>=0.1.0",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "spacy-3.7.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e82b9da21853d4aee46811804dc7e136895f087fda25c7585172d95eb9b70833"},
|
{file = "spacy-3.7.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd93c34bf2a02bbed7df73d42aed8df5e3eb9688c4ea84ec576f740ba939cce5"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07ffedf51899441070fb70432f8f873696f39e0e31c9ce7403101c459f8a1281"},
|
{file = "spacy-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:190ba0032a5efdb138487c587c0ebb7a98f86adb917f464b252ee8766b8eec4a"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba57bcc111eca7b086ee33a9636df775cfd4b14302f7d0ffbc11e95ac0fb3f0e"},
|
{file = "spacy-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38de1c9bbb73b8cdfea2dd6e57450f093c1a1af47515870c1c8640b85b35ab16"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7580d1565f4d1ccbee9a18531f993a5b9b37ced96f145153dd4e98ceec607a55"},
|
{file = "spacy-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dad4853950a2fe6c7a0bdfd791a762d1f8cedd2915c4ae41b2e0ca3a850eefc"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-win_amd64.whl", hash = "sha256:df99c6f0085b1ec8e88beb5fd96d4371cef6fc19c202c41fc4fadc2afd55a157"},
|
{file = "spacy-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:4e00d076871af784c2e43185a71ee676b58893853a05c5b81717b8af2b666c07"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b982ebab417189346acb4722637c573830d62e157ba336c3eb6c417249344be1"},
|
{file = "spacy-3.7.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bf54c3c2425428b328b53a65913d47eb4cb27a1429aa4e8ed979ffc97d4663e0"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e7c29e152d8ea060af60da9410fa8ef038f3c9068a206905ee5c704de78f6e87"},
|
{file = "spacy-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4145cea7f9814fa7d86b2028c2dd83e02f13f80d5ac604a400b2f7d7b26a0e8c"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:023c9a008328f55c4717c56c4f8a28073b9961547f7d38a9405c967a52e66d59"},
|
{file = "spacy-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:262f8ebb71f7ed5ffe8e4f384b2594b7a296be50241ce9fbd9277b5da2f46f38"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1969d3d0fd0c811b7485438460f0ae8cfe16d46b54bcb8d1c26e70914e67e3d"},
|
{file = "spacy-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:faa1e2b6234ae33c0b1f8dfa5a8dcb66fb891f19231725dfcff4b2666125c250"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-win_amd64.whl", hash = "sha256:040f7df5096c817450820eaaa426d54ed266254d16974e9a707a32f5b0f139ae"},
|
{file = "spacy-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:07677e270a6d729453cc04b5e2247a96a86320b8845e6428d9f90f217eff0f56"},
|
||||||
{file = "spacy-3.7.4.tar.gz", hash = "sha256:525f2ced2e40761562c8cace93ef6a1e6e8c483f27bd564bc1b15f608efbe85b"},
|
{file = "spacy-3.7.5.tar.gz", hash = "sha256:a648c6cbf2acc7a55a69ee9e7fa4f22bdf69aa828a587a1bc5cfff08cf3c2dd3"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2755,7 +2676,7 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "spacy"
|
name = "spacy"
|
||||||
version = "3.7.4"
|
version = "3.7.5"
|
||||||
extras = ["lookups", "transformers"]
|
extras = ["lookups", "transformers"]
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Industrial-strength Natural Language Processing (NLP) in Python"
|
summary = "Industrial-strength Natural Language Processing (NLP) in Python"
|
||||||
@ -2763,20 +2684,20 @@ groups = ["default"]
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"spacy-lookups-data<1.1.0,>=1.0.3",
|
"spacy-lookups-data<1.1.0,>=1.0.3",
|
||||||
"spacy-transformers<1.4.0,>=1.1.2",
|
"spacy-transformers<1.4.0,>=1.1.2",
|
||||||
"spacy==3.7.4",
|
"spacy==3.7.5",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "spacy-3.7.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e82b9da21853d4aee46811804dc7e136895f087fda25c7585172d95eb9b70833"},
|
{file = "spacy-3.7.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd93c34bf2a02bbed7df73d42aed8df5e3eb9688c4ea84ec576f740ba939cce5"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07ffedf51899441070fb70432f8f873696f39e0e31c9ce7403101c459f8a1281"},
|
{file = "spacy-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:190ba0032a5efdb138487c587c0ebb7a98f86adb917f464b252ee8766b8eec4a"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba57bcc111eca7b086ee33a9636df775cfd4b14302f7d0ffbc11e95ac0fb3f0e"},
|
{file = "spacy-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38de1c9bbb73b8cdfea2dd6e57450f093c1a1af47515870c1c8640b85b35ab16"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7580d1565f4d1ccbee9a18531f993a5b9b37ced96f145153dd4e98ceec607a55"},
|
{file = "spacy-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dad4853950a2fe6c7a0bdfd791a762d1f8cedd2915c4ae41b2e0ca3a850eefc"},
|
||||||
{file = "spacy-3.7.4-cp311-cp311-win_amd64.whl", hash = "sha256:df99c6f0085b1ec8e88beb5fd96d4371cef6fc19c202c41fc4fadc2afd55a157"},
|
{file = "spacy-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:4e00d076871af784c2e43185a71ee676b58893853a05c5b81717b8af2b666c07"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b982ebab417189346acb4722637c573830d62e157ba336c3eb6c417249344be1"},
|
{file = "spacy-3.7.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bf54c3c2425428b328b53a65913d47eb4cb27a1429aa4e8ed979ffc97d4663e0"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e7c29e152d8ea060af60da9410fa8ef038f3c9068a206905ee5c704de78f6e87"},
|
{file = "spacy-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4145cea7f9814fa7d86b2028c2dd83e02f13f80d5ac604a400b2f7d7b26a0e8c"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:023c9a008328f55c4717c56c4f8a28073b9961547f7d38a9405c967a52e66d59"},
|
{file = "spacy-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:262f8ebb71f7ed5ffe8e4f384b2594b7a296be50241ce9fbd9277b5da2f46f38"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1969d3d0fd0c811b7485438460f0ae8cfe16d46b54bcb8d1c26e70914e67e3d"},
|
{file = "spacy-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:faa1e2b6234ae33c0b1f8dfa5a8dcb66fb891f19231725dfcff4b2666125c250"},
|
||||||
{file = "spacy-3.7.4-cp312-cp312-win_amd64.whl", hash = "sha256:040f7df5096c817450820eaaa426d54ed266254d16974e9a707a32f5b0f139ae"},
|
{file = "spacy-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:07677e270a6d729453cc04b5e2247a96a86320b8845e6428d9f90f217eff0f56"},
|
||||||
{file = "spacy-3.7.4.tar.gz", hash = "sha256:525f2ced2e40761562c8cace93ef6a1e6e8c483f27bd564bc1b15f608efbe85b"},
|
{file = "spacy-3.7.5.tar.gz", hash = "sha256:a648c6cbf2acc7a55a69ee9e7fa4f22bdf69aa828a587a1bc5cfff08cf3c2dd3"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2875,7 +2796,7 @@ files = [
|
|||||||
name = "texttable"
|
name = "texttable"
|
||||||
version = "1.7.0"
|
version = "1.7.0"
|
||||||
summary = "module to create simple ASCII tables"
|
summary = "module to create simple ASCII tables"
|
||||||
groups = ["trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "texttable-1.7.0-py2.py3-none-any.whl", hash = "sha256:72227d592c82b3d7f672731ae73e4d1f88cd8e2ef5b075a7a7f01a23a3743917"},
|
{file = "texttable-1.7.0-py2.py3-none-any.whl", hash = "sha256:72227d592c82b3d7f672731ae73e4d1f88cd8e2ef5b075a7a7f01a23a3743917"},
|
||||||
{file = "texttable-1.7.0.tar.gz", hash = "sha256:2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638"},
|
{file = "texttable-1.7.0.tar.gz", hash = "sha256:2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638"},
|
||||||
@ -3014,17 +2935,6 @@ files = [
|
|||||||
{file = "tokenizers-0.15.2.tar.gz", hash = "sha256:e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91"},
|
{file = "tokenizers-0.15.2.tar.gz", hash = "sha256:e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "toolz"
|
|
||||||
version = "0.12.1"
|
|
||||||
requires_python = ">=3.7"
|
|
||||||
summary = "List processing tools and functional utilities"
|
|
||||||
groups = ["trials"]
|
|
||||||
files = [
|
|
||||||
{file = "toolz-0.12.1-py3-none-any.whl", hash = "sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85"},
|
|
||||||
{file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "torch"
|
name = "torch"
|
||||||
version = "2.3.0"
|
version = "2.3.0"
|
||||||
@ -3187,7 +3097,7 @@ name = "tzdata"
|
|||||||
version = "2024.1"
|
version = "2024.1"
|
||||||
requires_python = ">=2"
|
requires_python = ">=2"
|
||||||
summary = "Provider of IANA time zone data"
|
summary = "Provider of IANA time zone data"
|
||||||
groups = ["default", "trials"]
|
groups = ["default"]
|
||||||
files = [
|
files = [
|
||||||
{file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"},
|
{file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"},
|
||||||
{file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"},
|
{file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"},
|
||||||
@ -3209,7 +3119,7 @@ name = "urllib3"
|
|||||||
version = "2.2.1"
|
version = "2.2.1"
|
||||||
requires_python = ">=3.8"
|
requires_python = ">=3.8"
|
||||||
summary = "HTTP library with thread-safe connection pooling, file post, and more."
|
summary = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
groups = ["default", "notebooks", "trials"]
|
groups = ["default", "notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
|
{file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
|
||||||
{file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
|
{file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
|
||||||
@ -3309,13 +3219,13 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "widgetsnbextension"
|
name = "widgetsnbextension"
|
||||||
version = "4.0.10"
|
version = "4.0.11"
|
||||||
requires_python = ">=3.7"
|
requires_python = ">=3.7"
|
||||||
summary = "Jupyter interactive widgets for Jupyter Notebook"
|
summary = "Jupyter interactive widgets for Jupyter Notebook"
|
||||||
groups = ["notebooks"]
|
groups = ["notebooks"]
|
||||||
files = [
|
files = [
|
||||||
{file = "widgetsnbextension-4.0.10-py3-none-any.whl", hash = "sha256:d37c3724ec32d8c48400a435ecfa7d3e259995201fbefa37163124a9fcb393cc"},
|
{file = "widgetsnbextension-4.0.11-py3-none-any.whl", hash = "sha256:55d4d6949d100e0d08b94948a42efc3ed6dfdc0e9468b2c4b128c9a2ce3a7a36"},
|
||||||
{file = "widgetsnbextension-4.0.10.tar.gz", hash = "sha256:64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f"},
|
{file = "widgetsnbextension-4.0.11.tar.gz", hash = "sha256:8b22a8f1910bfd188e596fe7fc05dcbd87e810c8a4ba010bdb3da86637398474"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
@ -10,12 +10,13 @@ dependencies = [
|
|||||||
"networkx>=3.3",
|
"networkx>=3.3",
|
||||||
"spacy[lookups,transformers]>=3.7.4",
|
"spacy[lookups,transformers]>=3.7.4",
|
||||||
"sentence-transformers>=2.7.0",
|
"sentence-transformers>=2.7.0",
|
||||||
"numpy>=1.26.4",
|
"numpy<=1.26.4",
|
||||||
"pip>=24.0",
|
"pip>=24.0",
|
||||||
"typing-extensions>=4.12.2",
|
"typing-extensions>=4.12.2",
|
||||||
"plotly>=5.22.0",
|
"plotly>=5.22.0",
|
||||||
"dash>=2.17.0",
|
"dash>=2.17.0",
|
||||||
"dash-cytoscape>=1.0.1",
|
"dash-cytoscape>=1.0.1",
|
||||||
|
"py4cytoscape>=1.9.0",
|
||||||
]
|
]
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
@ -40,8 +41,6 @@ notebooks = [
|
|||||||
# files. This information is provided by extra options.
|
# files. This information is provided by extra options.
|
||||||
# --config-setting="--global-option=build_ext" --config-setting="--global-option=-IC:\Program Files\Graphviz\include" --config-setting="--global-option=-LC:\Program Files\Graphviz\lib"
|
# --config-setting="--global-option=build_ext" --config-setting="--global-option=-IC:\Program Files\Graphviz\include" --config-setting="--global-option=-LC:\Program Files\Graphviz\lib"
|
||||||
trials = [
|
trials = [
|
||||||
"alph[graphviz]>=0.4.10",
|
|
||||||
"py4cytoscape>=1.9.0",
|
|
||||||
]
|
]
|
||||||
dev = [
|
dev = [
|
||||||
"cython>=3.0.10",
|
"cython>=3.0.10",
|
||||||
|
|||||||
@ -3,12 +3,17 @@ from typing import cast
|
|||||||
|
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame
|
||||||
|
|
||||||
from lang_main.analysis.graphs import Graph, TokenGraph, save_to_GraphML
|
from lang_main.analysis.graphs import (
|
||||||
|
Graph,
|
||||||
|
TokenGraph,
|
||||||
|
save_to_GraphML,
|
||||||
|
)
|
||||||
from lang_main.constants import (
|
from lang_main.constants import (
|
||||||
PATH_TO_DATASET,
|
PATH_TO_DATASET,
|
||||||
SAVE_PATH_FOLDER,
|
SAVE_PATH_FOLDER,
|
||||||
SKIP_GRAPH_POSTPROCESSING,
|
SKIP_GRAPH_POSTPROCESSING,
|
||||||
SKIP_GRAPH_RESCALING,
|
SKIP_GRAPH_RESCALING,
|
||||||
|
SKIP_GRAPH_STATIC_RENDERING,
|
||||||
SKIP_PREPROCESSING,
|
SKIP_PREPROCESSING,
|
||||||
SKIP_TIME_ANALYSIS,
|
SKIP_TIME_ANALYSIS,
|
||||||
SKIP_TOKEN_ANALYSIS,
|
SKIP_TOKEN_ANALYSIS,
|
||||||
@ -21,7 +26,8 @@ from lang_main.pipelines.predefined import (
|
|||||||
build_timeline_pipe,
|
build_timeline_pipe,
|
||||||
build_tk_graph_pipe,
|
build_tk_graph_pipe,
|
||||||
build_tk_graph_post_pipe,
|
build_tk_graph_post_pipe,
|
||||||
build_tk_graph_rescaling,
|
build_tk_graph_rendering_pipe,
|
||||||
|
build_tk_graph_rescaling_pipe,
|
||||||
)
|
)
|
||||||
from lang_main.types import (
|
from lang_main.types import (
|
||||||
EntryPoints,
|
EntryPoints,
|
||||||
@ -36,7 +42,8 @@ pipe_target_feat = build_base_target_feature_pipe()
|
|||||||
pipe_merge = build_merge_duplicates_pipe()
|
pipe_merge = build_merge_duplicates_pipe()
|
||||||
pipe_token_analysis = build_tk_graph_pipe()
|
pipe_token_analysis = build_tk_graph_pipe()
|
||||||
pipe_graph_postprocessing = build_tk_graph_post_pipe()
|
pipe_graph_postprocessing = build_tk_graph_post_pipe()
|
||||||
pipe_graph_rescaling = build_tk_graph_rescaling()
|
pipe_graph_rescaling = build_tk_graph_rescaling_pipe()
|
||||||
|
pipe_static_graph_rendering = build_tk_graph_rendering_pipe()
|
||||||
pipe_timeline = build_timeline_pipe()
|
pipe_timeline = build_timeline_pipe()
|
||||||
|
|
||||||
|
|
||||||
@ -61,7 +68,7 @@ def run_token_analysis() -> None:
|
|||||||
loaded_results = cast(tuple[DataFrame], load_pickle(entry_point_path))
|
loaded_results = cast(tuple[DataFrame], load_pickle(entry_point_path))
|
||||||
preprocessed_data = loaded_results[0]
|
preprocessed_data = loaded_results[0]
|
||||||
# build token graph
|
# build token graph
|
||||||
(tk_graph, docs_mapping) = typing.cast(
|
(tk_graph, _) = typing.cast(
|
||||||
tuple[TokenGraph, dict[PandasIndex, SpacyDoc] | None],
|
tuple[TokenGraph, dict[PandasIndex, SpacyDoc] | None],
|
||||||
pipe_token_analysis.run(starting_values=(preprocessed_data,)),
|
pipe_token_analysis.run(starting_values=(preprocessed_data,)),
|
||||||
)
|
)
|
||||||
@ -94,14 +101,33 @@ def run_graph_edge_rescaling() -> None:
|
|||||||
ret = cast(
|
ret = cast(
|
||||||
tuple[TokenGraph, Graph], pipe_graph_rescaling.run(starting_values=(tk_graph,))
|
tuple[TokenGraph, Graph], pipe_graph_rescaling.run(starting_values=(tk_graph,))
|
||||||
)
|
)
|
||||||
undirected_rescaled_graph = ret[1]
|
tk_graph_rescaled = ret[0]
|
||||||
|
tk_graph_rescaled_undirected = ret[1]
|
||||||
|
tk_graph_rescaled.to_GraphML(
|
||||||
|
SAVE_PATH_FOLDER, filename='TokenGraph-directed-rescaled', directed=False
|
||||||
|
)
|
||||||
save_to_GraphML(
|
save_to_GraphML(
|
||||||
undirected_rescaled_graph,
|
tk_graph_rescaled_undirected,
|
||||||
saving_path=SAVE_PATH_FOLDER,
|
saving_path=SAVE_PATH_FOLDER,
|
||||||
filename='TokenGraph-undirected-rescaled',
|
filename='TokenGraph-undirected-rescaled',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def run_static_graph_rendering() -> None:
|
||||||
|
entry_point_path = get_entry_point(
|
||||||
|
SAVE_PATH_FOLDER,
|
||||||
|
EntryPoints.TK_GRAPH_ANALYSIS_RESCALED,
|
||||||
|
)
|
||||||
|
loaded_results = cast(
|
||||||
|
tuple[TokenGraph, Graph],
|
||||||
|
load_pickle(entry_point_path),
|
||||||
|
)
|
||||||
|
tk_graph_rescaled = loaded_results[0]
|
||||||
|
tk_graph_rescaled_undirected = loaded_results[1]
|
||||||
|
|
||||||
|
_ = pipe_static_graph_rendering.run(starting_values=(tk_graph_rescaled_undirected,))
|
||||||
|
|
||||||
|
|
||||||
# ** time analysis
|
# ** time analysis
|
||||||
def run_time_analysis() -> None:
|
def run_time_analysis() -> None:
|
||||||
# load entry point
|
# load entry point
|
||||||
@ -123,6 +149,7 @@ def build_pipeline_container() -> PipelineContainer:
|
|||||||
container.add(run_token_analysis, skip=SKIP_TOKEN_ANALYSIS)
|
container.add(run_token_analysis, skip=SKIP_TOKEN_ANALYSIS)
|
||||||
container.add(run_graph_postprocessing, skip=SKIP_GRAPH_POSTPROCESSING)
|
container.add(run_graph_postprocessing, skip=SKIP_GRAPH_POSTPROCESSING)
|
||||||
container.add(run_graph_edge_rescaling, skip=SKIP_GRAPH_RESCALING)
|
container.add(run_graph_edge_rescaling, skip=SKIP_GRAPH_RESCALING)
|
||||||
|
container.add(run_static_graph_rendering, skip=SKIP_GRAPH_STATIC_RENDERING)
|
||||||
container.add(run_time_analysis, skip=SKIP_TIME_ANALYSIS)
|
container.add(run_time_analysis, skip=SKIP_TIME_ANALYSIS)
|
||||||
|
|
||||||
return container
|
return container
|
||||||
|
|||||||
@ -13,9 +13,10 @@ dataset = '../data/02_202307/Export4.csv'
|
|||||||
# be fully executed
|
# be fully executed
|
||||||
[control]
|
[control]
|
||||||
preprocessing_skip = true
|
preprocessing_skip = true
|
||||||
token_analysis_skip = false
|
token_analysis_skip = true
|
||||||
graph_postprocessing_skip = false
|
graph_postprocessing_skip = true
|
||||||
graph_rescaling_skip = false
|
graph_rescaling_skip = true
|
||||||
|
graph_static_rendering_skip = false
|
||||||
time_analysis_skip = true
|
time_analysis_skip = true
|
||||||
|
|
||||||
#[export_filenames]
|
#[export_filenames]
|
||||||
|
|||||||
@ -6,8 +6,17 @@ from pathlib import Path
|
|||||||
from time import gmtime
|
from time import gmtime
|
||||||
from typing import Any, Final
|
from typing import Any, Final
|
||||||
|
|
||||||
|
import py4cytoscape as p4c
|
||||||
|
|
||||||
from lang_main.io import load_toml_config
|
from lang_main.io import load_toml_config
|
||||||
|
|
||||||
|
# ** py4cytoscape config
|
||||||
|
p4c.set_summary_logger(False)
|
||||||
|
p4c.py4cytoscape_logger.detail_logger.setLevel('ERROR')
|
||||||
|
p4c.py4cytoscape_logger.detail_logger.removeHandler(p4c.py4cytoscape_logger.detail_handler)
|
||||||
|
p4c.py4cytoscape_logger.detail_logger.addHandler(logging.NullHandler())
|
||||||
|
|
||||||
|
# ** lang-main config
|
||||||
logging.Formatter.converter = gmtime
|
logging.Formatter.converter = gmtime
|
||||||
LOG_FMT: Final[str] = '%(asctime)s | %(module)s:%(levelname)s | %(message)s'
|
LOG_FMT: Final[str] = '%(asctime)s | %(module)s:%(levelname)s | %(message)s'
|
||||||
LOG_DATE_FMT: Final[str] = '%Y-%m-%d %H:%M:%S +0000'
|
LOG_DATE_FMT: Final[str] = '%Y-%m-%d %H:%M:%S +0000'
|
||||||
@ -18,13 +27,13 @@ logging.basicConfig(
|
|||||||
)
|
)
|
||||||
|
|
||||||
CONFIG_FILENAME: Final[str] = 'lang_main_config.toml'
|
CONFIG_FILENAME: Final[str] = 'lang_main_config.toml'
|
||||||
|
CYTO_STYLESHEET_FILENAME: Final[str] = r'cytoscape_config/lang_main.xml'
|
||||||
USE_INTERNAL_CONFIG: Final[bool] = False
|
USE_INTERNAL_CONFIG: Final[bool] = False
|
||||||
pkg_dir = Path(__file__).parent
|
pkg_dir = Path(__file__).parent
|
||||||
cfg_path_internal = (pkg_dir / CONFIG_FILENAME).resolve()
|
cfg_path_internal = (pkg_dir / CONFIG_FILENAME).resolve()
|
||||||
# caller_file = Path(inspect.stack()[-1].filename)
|
cyto_stylesheet_path = (pkg_dir / CYTO_STYLESHEET_FILENAME).resolve()
|
||||||
# CALLER_PATH: Final[Path] = caller_file.parent.resolve()
|
|
||||||
|
|
||||||
# load config data: internal/external
|
# ** load config data: internal/external
|
||||||
if USE_INTERNAL_CONFIG:
|
if USE_INTERNAL_CONFIG:
|
||||||
loaded_cfg = load_toml_config(path_to_toml=cfg_path_internal)
|
loaded_cfg = load_toml_config(path_to_toml=cfg_path_internal)
|
||||||
else:
|
else:
|
||||||
@ -43,6 +52,17 @@ else:
|
|||||||
|
|
||||||
CONFIG: Final[dict[str, Any]] = loaded_cfg.copy()
|
CONFIG: Final[dict[str, Any]] = loaded_cfg.copy()
|
||||||
|
|
||||||
|
# ** Cytoscape configuration
|
||||||
|
# stylesheet
|
||||||
|
if not cyto_stylesheet_path.exists():
|
||||||
|
raise FileNotFoundError(
|
||||||
|
f'Visual stylesheet for Cytoscape not found under: >>{cyto_stylesheet_path}<<'
|
||||||
|
)
|
||||||
|
|
||||||
|
CYTO_PATH_STYLESHEET: Final[Path] = cyto_stylesheet_path
|
||||||
|
|
||||||
|
|
||||||
|
# TODO check removal
|
||||||
# append Graphviz binary folder to system path if not already contained
|
# append Graphviz binary folder to system path if not already contained
|
||||||
if sys.platform == 'win32':
|
if sys.platform == 'win32':
|
||||||
path = Path(r'C:\Program Files\Graphviz\bin')
|
path = Path(r'C:\Program Files\Graphviz\bin')
|
||||||
|
|||||||
@ -13,7 +13,10 @@ import numpy.typing as npt
|
|||||||
from networkx import DiGraph, Graph
|
from networkx import DiGraph, Graph
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame
|
||||||
|
|
||||||
from lang_main.constants import EDGE_WEIGHT_DECIMALS
|
from lang_main.constants import (
|
||||||
|
EDGE_WEIGHT_DECIMALS,
|
||||||
|
PROPERTY_NAME_DEGREE_WEIGHTED,
|
||||||
|
)
|
||||||
from lang_main.errors import EdgePropertyNotContainedError
|
from lang_main.errors import EdgePropertyNotContainedError
|
||||||
from lang_main.io import load_pickle, save_pickle
|
from lang_main.io import load_pickle, save_pickle
|
||||||
from lang_main.loggers import logger_graphs as logger
|
from lang_main.loggers import logger_graphs as logger
|
||||||
@ -233,9 +236,7 @@ def filter_graph_by_edge_weight(
|
|||||||
if bound_upper is not None and weight > bound_upper:
|
if bound_upper is not None and weight > bound_upper:
|
||||||
filtered_graph.remove_edge(edge[0], edge[1])
|
filtered_graph.remove_edge(edge[0], edge[1])
|
||||||
|
|
||||||
if filtered_graph._undirected is not None:
|
|
||||||
filtered_graph.to_undirected(inplace=True, logging=False)
|
filtered_graph.to_undirected(inplace=True, logging=False)
|
||||||
|
|
||||||
filtered_graph.update_metadata(logging=False)
|
filtered_graph.update_metadata(logging=False)
|
||||||
|
|
||||||
return filtered_graph
|
return filtered_graph
|
||||||
@ -275,15 +276,77 @@ def filter_graph_by_node_degree(
|
|||||||
if bound_upper is not None and degree > bound_upper:
|
if bound_upper is not None and degree > bound_upper:
|
||||||
filtered_graph.remove_node(node)
|
filtered_graph.remove_node(node)
|
||||||
|
|
||||||
if filtered_graph._undirected is not None:
|
|
||||||
filtered_graph.to_undirected(inplace=True, logging=False)
|
filtered_graph.to_undirected(inplace=True, logging=False)
|
||||||
|
|
||||||
filtered_graph.update_metadata(logging=False)
|
filtered_graph.update_metadata(logging=False)
|
||||||
|
|
||||||
return filtered_graph
|
return filtered_graph
|
||||||
|
|
||||||
|
|
||||||
def apply_rescaling_to_graph(
|
def add_weighted_degree(
|
||||||
|
graph: DiGraph | Graph,
|
||||||
|
edge_weight_property: str = 'weight',
|
||||||
|
property_name: str = PROPERTY_NAME_DEGREE_WEIGHTED,
|
||||||
|
) -> None:
|
||||||
|
"""adds the weighted degree as property to each node of the given graph
|
||||||
|
Operation is performed inplace.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
graph : DiGraph | Graph
|
||||||
|
Graph with weighted degree as node property added inplace
|
||||||
|
edge_weight_property : str, optional
|
||||||
|
property of the edges which contains the weight information, by default 'weight'
|
||||||
|
property_name : str, optional
|
||||||
|
target name for the property containing the weighted degree in nodes,
|
||||||
|
by default 'degree_weighted'
|
||||||
|
"""
|
||||||
|
node_degree_mapping = cast(
|
||||||
|
dict[str, float],
|
||||||
|
dict(graph.degree(weight=edge_weight_property)), # type: ignore
|
||||||
|
)
|
||||||
|
nx.set_node_attributes(
|
||||||
|
graph,
|
||||||
|
node_degree_mapping,
|
||||||
|
name=property_name,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def static_graph_analysis(
|
||||||
|
graph: TokenGraph,
|
||||||
|
) -> tuple[TokenGraph]:
|
||||||
|
"""helper function to allow the calculation of static metrics in pipelines
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
tk_graph_directed : TokenGraph
|
||||||
|
token graph (directed) and with rescaled edge weights
|
||||||
|
tk_graph_undirected : Graph
|
||||||
|
token graph (undirected) and with rescaled edge weights
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
tuple[TokenGraph, Graph]
|
||||||
|
token graph (directed) and undirected version with added weighted degree
|
||||||
|
"""
|
||||||
|
graph = graph.copy()
|
||||||
|
graph.perform_static_analysis()
|
||||||
|
|
||||||
|
return (graph,)
|
||||||
|
|
||||||
|
|
||||||
|
def pipe_add_graph_metrics(
|
||||||
|
*graphs: DiGraph | Graph,
|
||||||
|
) -> tuple[DiGraph | Graph, ...]:
|
||||||
|
collection: list[DiGraph | Graph] = []
|
||||||
|
for graph in graphs:
|
||||||
|
graph_copy = copy.deepcopy(graph)
|
||||||
|
add_weighted_degree(graph_copy)
|
||||||
|
collection.append(graph_copy)
|
||||||
|
|
||||||
|
return tuple(collection)
|
||||||
|
|
||||||
|
|
||||||
|
def pipe_rescale_graph_edge_weights(
|
||||||
graph: TokenGraph,
|
graph: TokenGraph,
|
||||||
) -> tuple[TokenGraph, Graph]:
|
) -> tuple[TokenGraph, Graph]:
|
||||||
"""helper function to allow calls in pipelines
|
"""helper function to allow calls in pipelines
|
||||||
@ -298,6 +361,8 @@ def apply_rescaling_to_graph(
|
|||||||
tuple[TokenGraph, Graph]
|
tuple[TokenGraph, Graph]
|
||||||
token graph (directed) and undirected version with rescaled edge weights
|
token graph (directed) and undirected version with rescaled edge weights
|
||||||
"""
|
"""
|
||||||
|
graph = graph.copy()
|
||||||
|
|
||||||
return graph.rescale_edge_weights()
|
return graph.rescale_edge_weights()
|
||||||
|
|
||||||
|
|
||||||
@ -542,7 +607,7 @@ class TokenGraph(DiGraph):
|
|||||||
the underlying `to_undirected` method of the directed and rescaled
|
the underlying `to_undirected` method of the directed and rescaled
|
||||||
TokenGraph instance is called the weights are not rescaled again. Thus,
|
TokenGraph instance is called the weights are not rescaled again. Thus,
|
||||||
the maximum edge weight can exceed the theoretical maximum value of 1. To
|
the maximum edge weight can exceed the theoretical maximum value of 1. To
|
||||||
ensure consistent behaviour across different application of the conversion to
|
ensure consistent behaviour across different applications of the conversion to
|
||||||
undirected graphs new instances are returned, especially for the undirected
|
undirected graphs new instances are returned, especially for the undirected
|
||||||
graph.
|
graph.
|
||||||
In contrast, the new directed TokenGraph contains an undirected version without
|
In contrast, the new directed TokenGraph contains an undirected version without
|
||||||
@ -554,14 +619,24 @@ class TokenGraph(DiGraph):
|
|||||||
tuple[TokenGraph, Graph]
|
tuple[TokenGraph, Graph]
|
||||||
directed and undirected instances
|
directed and undirected instances
|
||||||
"""
|
"""
|
||||||
|
self.to_undirected(inplace=True, logging=False)
|
||||||
token_graph = rescale_edge_weights(self.directed)
|
token_graph = rescale_edge_weights(self.directed)
|
||||||
token_graph.rescaled_weights = True
|
token_graph.rescaled_weights = True
|
||||||
token_graph.to_undirected(inplace=True, logging=False)
|
|
||||||
token_graph.update_metadata(logging=False)
|
token_graph.update_metadata(logging=False)
|
||||||
undirected = rescale_edge_weights(self.undirected)
|
undirected = rescale_edge_weights(self.undirected)
|
||||||
|
|
||||||
return token_graph, undirected
|
return token_graph, undirected
|
||||||
|
|
||||||
|
def perform_static_analysis(self):
|
||||||
|
"""calculate different metrics directly on the data of the underlying graphs
|
||||||
|
(directed and undirected)
|
||||||
|
|
||||||
|
Current operations:
|
||||||
|
- adding weighted degree
|
||||||
|
"""
|
||||||
|
add_weighted_degree(self)
|
||||||
|
add_weighted_degree(self.undirected)
|
||||||
|
|
||||||
def _save_prepare(
|
def _save_prepare(
|
||||||
self,
|
self,
|
||||||
path: Path,
|
path: Path,
|
||||||
|
|||||||
@ -226,6 +226,7 @@ def build_token_graph(
|
|||||||
graph.update_metadata()
|
graph.update_metadata()
|
||||||
# convert to undirected
|
# convert to undirected
|
||||||
graph.to_undirected(logging=False)
|
graph.to_undirected(logging=False)
|
||||||
|
graph.perform_static_analysis()
|
||||||
|
|
||||||
return graph, docs_mapping
|
return graph, docs_mapping
|
||||||
|
|
||||||
|
|||||||
@ -5,8 +5,13 @@ import spacy
|
|||||||
from sentence_transformers import SentenceTransformer
|
from sentence_transformers import SentenceTransformer
|
||||||
from spacy.language import Language as GermanSpacyModel
|
from spacy.language import Language as GermanSpacyModel
|
||||||
|
|
||||||
from lang_main import CONFIG
|
from lang_main import CONFIG, CYTO_PATH_STYLESHEET
|
||||||
from lang_main.types import STFRDeviceTypes
|
from lang_main.types import CytoLayoutProperties, CytoLayouts, STFRDeviceTypes
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'CONFIG',
|
||||||
|
'CYTO_PATH_STYLESHEET',
|
||||||
|
]
|
||||||
|
|
||||||
# ** paths
|
# ** paths
|
||||||
input_path_conf = Path.cwd() / Path(CONFIG['paths']['inputs'])
|
input_path_conf = Path.cwd() / Path(CONFIG['paths']['inputs'])
|
||||||
@ -28,8 +33,10 @@ SKIP_PREPROCESSING: Final[bool] = CONFIG['control']['preprocessing_skip']
|
|||||||
SKIP_TOKEN_ANALYSIS: Final[bool] = CONFIG['control']['token_analysis_skip']
|
SKIP_TOKEN_ANALYSIS: Final[bool] = CONFIG['control']['token_analysis_skip']
|
||||||
SKIP_GRAPH_POSTPROCESSING: Final[bool] = CONFIG['control']['graph_postprocessing_skip']
|
SKIP_GRAPH_POSTPROCESSING: Final[bool] = CONFIG['control']['graph_postprocessing_skip']
|
||||||
SKIP_GRAPH_RESCALING: Final[bool] = CONFIG['control']['graph_rescaling_skip']
|
SKIP_GRAPH_RESCALING: Final[bool] = CONFIG['control']['graph_rescaling_skip']
|
||||||
|
SKIP_GRAPH_STATIC_RENDERING: Final[bool] = CONFIG['control']['graph_static_rendering_skip']
|
||||||
SKIP_TIME_ANALYSIS: Final[bool] = CONFIG['control']['time_analysis_skip']
|
SKIP_TIME_ANALYSIS: Final[bool] = CONFIG['control']['time_analysis_skip']
|
||||||
|
|
||||||
|
|
||||||
# ** models
|
# ** models
|
||||||
# ** sentence_transformers
|
# ** sentence_transformers
|
||||||
STFR_DEVICE: Final[STFRDeviceTypes] = STFRDeviceTypes.CPU
|
STFR_DEVICE: Final[STFRDeviceTypes] = STFRDeviceTypes.CPU
|
||||||
@ -55,6 +62,26 @@ THRESHOLD_SIMILARITY: Final[float] = CONFIG['preprocess']['threshold_similarity'
|
|||||||
# ** graph postprocessing
|
# ** graph postprocessing
|
||||||
EDGE_WEIGHT_DECIMALS: Final[int] = 4
|
EDGE_WEIGHT_DECIMALS: Final[int] = 4
|
||||||
THRESHOLD_EDGE_WEIGHT: Final[int] = CONFIG['graph_postprocessing']['threshold_edge_weight']
|
THRESHOLD_EDGE_WEIGHT: Final[int] = CONFIG['graph_postprocessing']['threshold_edge_weight']
|
||||||
|
PROPERTY_NAME_DEGREE_WEIGHTED: Final[str] = 'degree_weighted'
|
||||||
|
|
||||||
|
# ** graph exports (Cytoscape)
|
||||||
|
CYTO_COLLECTION_NAME: Final[str] = 'lang_main'
|
||||||
|
CYTO_BASE_NETWORK_NAME: Final[str] = 'token_graph'
|
||||||
|
CYTO_LAYOUT_NAME: Final[CytoLayouts] = 'force-directed'
|
||||||
|
CYTO_LAYOUT_PROPERTIES: Final[CytoLayoutProperties] = {
|
||||||
|
'numIterations': 1000,
|
||||||
|
'defaultSpringCoefficient': 1e-4,
|
||||||
|
'defaultSpringLength': 45,
|
||||||
|
'defaultNodeMass': 11,
|
||||||
|
'isDeterministic': True,
|
||||||
|
'singlePartition': False,
|
||||||
|
}
|
||||||
|
CYTO_STYLESHEET_NAME: Final[str] = 'lang_main'
|
||||||
|
# name for property, on which selection is done
|
||||||
|
CYTO_SELECTION_PROPERTY: Final[str] = 'node_selection'
|
||||||
|
CYTO_NUMBER_SUBGRAPHS: Final[int] = 5
|
||||||
|
CYTO_ITER_NEIGHBOUR_DEPTH: Final[int] = 2
|
||||||
|
|
||||||
# ** time analysis.uniqueness
|
# ** time analysis.uniqueness
|
||||||
THRESHOLD_UNIQUE_TEXTS: Final[int] = CONFIG['time_analysis']['uniqueness'][
|
THRESHOLD_UNIQUE_TEXTS: Final[int] = CONFIG['time_analysis']['uniqueness'][
|
||||||
'threshold_unique_texts'
|
'threshold_unique_texts'
|
||||||
|
|||||||
128
src/lang_main/cytoscape_config/lang_main.xml
Normal file
128
src/lang_main/cytoscape_config/lang_main.xml
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<vizmap id="VizMap-2024_07_12-08_08" documentVersion="3.1">
|
||||||
|
<visualStyle name="lang_main">
|
||||||
|
<network>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_X_LOCATION"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_Y_LOCATION"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_Z_LOCATION"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_ANNOTATION_SELECTION"/>
|
||||||
|
<visualProperty default="1.0" name="NETWORK_SCALE_FACTOR"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_NODE_LABEL_SELECTION"/>
|
||||||
|
<visualProperty default="400.0" name="NETWORK_HEIGHT"/>
|
||||||
|
<visualProperty default="true" name="NETWORK_NODE_SELECTION"/>
|
||||||
|
<visualProperty default="550.0" name="NETWORK_WIDTH"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_DEPTH"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_FORCE_HIGH_DETAIL"/>
|
||||||
|
<visualProperty default="" name="NETWORK_TITLE"/>
|
||||||
|
<visualProperty default="true" name="NETWORK_EDGE_SELECTION"/>
|
||||||
|
<visualProperty default="#F7FFFF" name="NETWORK_BACKGROUND_PAINT"/>
|
||||||
|
</network>
|
||||||
|
<node>
|
||||||
|
<dependency value="true" name="nodeCustomGraphicsSizeSync"/>
|
||||||
|
<dependency value="true" name="nodeSizeLocked"/>
|
||||||
|
<visualProperty default="ROUND_RECTANGLE" name="NODE_LABEL_BACKGROUND_SHAPE"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_9"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_7"/>
|
||||||
|
<visualProperty default="true" name="NODE_NESTED_NETWORK_IMAGE_VISIBLE"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_LABEL_ROTATION"/>
|
||||||
|
<visualProperty default="175" name="NODE_LABEL_BACKGROUND_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_8"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_2"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_6"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_7"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_1"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_4"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_9"/>
|
||||||
|
<visualProperty default="ROUND_RECTANGLE" name="COMPOUND_NODE_SHAPE"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_5"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_9"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_5"/>
|
||||||
|
<visualProperty default="10.0" name="COMPOUND_NODE_PADDING"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_3"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_6"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_8"/>
|
||||||
|
<visualProperty default="SE,NW,c,-2.00,3.00" name="NODE_LABEL_POSITION"/>
|
||||||
|
<visualProperty default="ELLIPSE" name="NODE_SHAPE"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_3"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_4"/>
|
||||||
|
<visualProperty default="SansSerif.plain,plain,12" name="NODE_LABEL_FONT_FACE"/>
|
||||||
|
<visualProperty default="#D1F5BE" name="NODE_BORDER_PAINT"/>
|
||||||
|
<visualProperty default="40.0" name="NODE_HEIGHT"/>
|
||||||
|
<visualProperty default="255" name="NODE_LABEL_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="#E1E1E1" name="NODE_LABEL_BACKGROUND_COLOR"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_6"/>
|
||||||
|
<visualProperty default="false" name="NODE_SELECTED"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_DEPTH"/>
|
||||||
|
<visualProperty default="SOLID" name="NODE_BORDER_STROKE"/>
|
||||||
|
<visualProperty default="" name="NODE_TOOLTIP"/>
|
||||||
|
<visualProperty default="7.0" name="NODE_BORDER_WIDTH"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_2"/>
|
||||||
|
<visualProperty default="#A63C06" name="NODE_LABEL_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_X_LOCATION"/>
|
||||||
|
<visualProperty default="18.0" name="NODE_SIZE"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_8"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_Z_LOCATION"/>
|
||||||
|
<visualProperty default="#FE9929" name="NODE_FILL_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_1"/>
|
||||||
|
<visualProperty default="255" name="NODE_BORDER_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_1"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_2"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_3"/>
|
||||||
|
<visualProperty default="60.0" name="NODE_WIDTH"/>
|
||||||
|
<visualProperty default="" name="NODE_LABEL">
|
||||||
|
<passthroughMapping attributeName="name" attributeType="string"/>
|
||||||
|
</visualProperty>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_5"/>
|
||||||
|
<visualProperty default="500.0" name="NODE_LABEL_WIDTH"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_4"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_7"/>
|
||||||
|
<visualProperty default="#FFFF00" name="NODE_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_Y_LOCATION"/>
|
||||||
|
<visualProperty default="true" name="NODE_VISIBLE"/>
|
||||||
|
<visualProperty default="255" name="NODE_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="14" name="NODE_LABEL_FONT_SIZE"/>
|
||||||
|
</node>
|
||||||
|
<edge>
|
||||||
|
<dependency value="true" name="arrowColorMatchesEdge"/>
|
||||||
|
<visualProperty default="false" name="EDGE_SELECTED"/>
|
||||||
|
<visualProperty default="255" name="EDGE_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="10" name="EDGE_LABEL_FONT_SIZE"/>
|
||||||
|
<visualProperty default="#577399" name="EDGE_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="" name="EDGE_LABEL"/>
|
||||||
|
<visualProperty default="#FFFFFF" name="EDGE_STROKE_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="200.0" name="EDGE_LABEL_WIDTH"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_LABEL_COLOR"/>
|
||||||
|
<visualProperty default="SansSerif.plain,plain,10" name="EDGE_LABEL_FONT_FACE"/>
|
||||||
|
<visualProperty default="0.728545744495502,-0.684997151948455,0.6456513365424503" name="EDGE_BEND"/>
|
||||||
|
<visualProperty default="#B6B6B6" name="EDGE_LABEL_BACKGROUND_COLOR"/>
|
||||||
|
<visualProperty default="AUTO_BEND" name="EDGE_STACKING"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_TARGET_ARROW_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="0.5" name="EDGE_STACKING_DENSITY"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_TARGET_ARROW_SHAPE"/>
|
||||||
|
<visualProperty default="true" name="EDGE_VISIBLE"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="EDGE_LABEL_POSITION"/>
|
||||||
|
<visualProperty default="0.0" name="EDGE_LABEL_ROTATION"/>
|
||||||
|
<visualProperty default="" name="EDGE_TOOLTIP"/>
|
||||||
|
<visualProperty default="0.0" name="EDGE_Z_ORDER"/>
|
||||||
|
<visualProperty default="#FFFF00" name="EDGE_TARGET_ARROW_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="#FF0000" name="EDGE_STROKE_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_SOURCE_ARROW_SHAPE"/>
|
||||||
|
<visualProperty default="#FFFF00" name="EDGE_SOURCE_ARROW_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="false" name="EDGE_LABEL_AUTOROTATE"/>
|
||||||
|
<visualProperty default="true" name="EDGE_CURVED"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_SOURCE_ARROW_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="255" name="EDGE_LABEL_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="6.0" name="EDGE_TARGET_ARROW_SIZE"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_LABEL_BACKGROUND_SHAPE"/>
|
||||||
|
<visualProperty default="255" name="EDGE_LABEL_BACKGROUND_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="SOLID" name="EDGE_LINE_TYPE"/>
|
||||||
|
<visualProperty default="6.0" name="EDGE_SOURCE_ARROW_SIZE"/>
|
||||||
|
<visualProperty default="3.0" name="EDGE_WIDTH">
|
||||||
|
<continuousMapping attributeName="weight" attributeType="float">
|
||||||
|
<continuousMappingPoint attrValue="0.09520000219345093" equalValue="2.0" greaterValue="2.0" lesserValue="1.0"/>
|
||||||
|
<continuousMappingPoint attrValue="1.0" equalValue="10.0" greaterValue="1.0" lesserValue="10.0"/>
|
||||||
|
</continuousMapping>
|
||||||
|
</visualProperty>
|
||||||
|
</edge>
|
||||||
|
</visualStyle>
|
||||||
|
</vizmap>
|
||||||
Binary file not shown.
@ -16,6 +16,7 @@ preprocessing_skip = true
|
|||||||
token_analysis_skip = false
|
token_analysis_skip = false
|
||||||
graph_postprocessing_skip = false
|
graph_postprocessing_skip = false
|
||||||
graph_rescaling_skip = false
|
graph_rescaling_skip = false
|
||||||
|
graph_static_rendering_skip = false
|
||||||
time_analysis_skip = true
|
time_analysis_skip = true
|
||||||
|
|
||||||
#[export_filenames]
|
#[export_filenames]
|
||||||
|
|||||||
@ -185,13 +185,16 @@ class Pipeline(BasePipeline):
|
|||||||
def add(
|
def add(
|
||||||
self,
|
self,
|
||||||
action: Callable,
|
action: Callable,
|
||||||
action_kwargs: dict[str, Any] = {},
|
action_kwargs: dict[str, Any] | None = None,
|
||||||
save_result: bool = False,
|
save_result: bool = False,
|
||||||
load_result: bool = False,
|
load_result: bool = False,
|
||||||
filename: str | None = None,
|
filename: str | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
# check explicitly for function type
|
# check explicitly for function type
|
||||||
# if isinstance(action, FunctionType):
|
# if isinstance(action, FunctionType):
|
||||||
|
if action_kwargs is None:
|
||||||
|
action_kwargs = {}
|
||||||
|
|
||||||
if isinstance(action, Callable):
|
if isinstance(action, Callable):
|
||||||
self.actions.append(action)
|
self.actions.append(action)
|
||||||
self.action_names.append(action.__name__)
|
self.action_names.append(action.__name__)
|
||||||
@ -272,7 +275,7 @@ class Pipeline(BasePipeline):
|
|||||||
@override
|
@override
|
||||||
def logic(
|
def logic(
|
||||||
self,
|
self,
|
||||||
starting_values: tuple[Any, ...],
|
starting_values: tuple[Any, ...] | None = None,
|
||||||
) -> tuple[Any, ...]:
|
) -> tuple[Any, ...]:
|
||||||
for idx, (action, action_kwargs) in enumerate(zip(self.actions, self.actions_kwargs)):
|
for idx, (action, action_kwargs) in enumerate(zip(self.actions, self.actions_kwargs)):
|
||||||
# loading
|
# loading
|
||||||
@ -287,11 +290,21 @@ class Pipeline(BasePipeline):
|
|||||||
continue
|
continue
|
||||||
# calculation
|
# calculation
|
||||||
if idx == 0:
|
if idx == 0:
|
||||||
ret = action(*starting_values, **action_kwargs)
|
args = starting_values
|
||||||
|
# ret = action(*starting_values, **action_kwargs)
|
||||||
else:
|
else:
|
||||||
ret = action(*ret, **action_kwargs)
|
args = ret
|
||||||
|
|
||||||
if not isinstance(ret, tuple):
|
if args is not None and action_kwargs:
|
||||||
|
ret = action(*args, **action_kwargs)
|
||||||
|
elif args is not None:
|
||||||
|
ret = action(*args)
|
||||||
|
elif args is None and action_kwargs:
|
||||||
|
ret = action(**action_kwargs)
|
||||||
|
else:
|
||||||
|
ret = action()
|
||||||
|
|
||||||
|
if ret is not None and not isinstance(ret, tuple):
|
||||||
ret = (ret,)
|
ret = (ret,)
|
||||||
ret = cast(tuple[Any, ...], ret)
|
ret = cast(tuple[Any, ...], ret)
|
||||||
# save intermediate result
|
# save intermediate result
|
||||||
|
|||||||
@ -19,6 +19,7 @@ from lang_main.analysis.tokens import build_token_graph
|
|||||||
from lang_main.constants import (
|
from lang_main.constants import (
|
||||||
ACTIVITY_FEATURE,
|
ACTIVITY_FEATURE,
|
||||||
ACTIVITY_TYPES,
|
ACTIVITY_TYPES,
|
||||||
|
CYTO_BASE_NETWORK_NAME,
|
||||||
DATE_COLS,
|
DATE_COLS,
|
||||||
FEATURE_NAME_OBJ_ID,
|
FEATURE_NAME_OBJ_ID,
|
||||||
MODEL_INPUT_FEATURES,
|
MODEL_INPUT_FEATURES,
|
||||||
@ -34,6 +35,7 @@ from lang_main.constants import (
|
|||||||
UNIQUE_CRITERION_FEATURE,
|
UNIQUE_CRITERION_FEATURE,
|
||||||
)
|
)
|
||||||
from lang_main.pipelines.base import Pipeline
|
from lang_main.pipelines.base import Pipeline
|
||||||
|
from lang_main.render import cytoscape as cyto
|
||||||
from lang_main.types import EntryPoints
|
from lang_main.types import EntryPoints
|
||||||
|
|
||||||
|
|
||||||
@ -156,6 +158,9 @@ def build_tk_graph_post_pipe() -> Pipeline:
|
|||||||
'bound_lower': 1,
|
'bound_lower': 1,
|
||||||
'bound_upper': None,
|
'bound_upper': None,
|
||||||
},
|
},
|
||||||
|
)
|
||||||
|
pipe_graph_postprocessing.add(
|
||||||
|
graphs.static_graph_analysis,
|
||||||
save_result=True,
|
save_result=True,
|
||||||
filename=EntryPoints.TK_GRAPH_ANALYSIS,
|
filename=EntryPoints.TK_GRAPH_ANALYSIS,
|
||||||
)
|
)
|
||||||
@ -163,10 +168,13 @@ def build_tk_graph_post_pipe() -> Pipeline:
|
|||||||
return pipe_graph_postprocessing
|
return pipe_graph_postprocessing
|
||||||
|
|
||||||
|
|
||||||
def build_tk_graph_rescaling() -> Pipeline:
|
def build_tk_graph_rescaling_pipe() -> Pipeline:
|
||||||
pipe_graph_rescaling = Pipeline(name='Graph_Rescaling', working_dir=SAVE_PATH_FOLDER)
|
pipe_graph_rescaling = Pipeline(name='Graph_Rescaling', working_dir=SAVE_PATH_FOLDER)
|
||||||
pipe_graph_rescaling.add(
|
pipe_graph_rescaling.add(
|
||||||
graphs.apply_rescaling_to_graph,
|
graphs.pipe_rescale_graph_edge_weights,
|
||||||
|
)
|
||||||
|
pipe_graph_rescaling.add(
|
||||||
|
graphs.pipe_add_graph_metrics,
|
||||||
save_result=True,
|
save_result=True,
|
||||||
filename=EntryPoints.TK_GRAPH_ANALYSIS_RESCALED,
|
filename=EntryPoints.TK_GRAPH_ANALYSIS_RESCALED,
|
||||||
)
|
)
|
||||||
@ -174,6 +182,27 @@ def build_tk_graph_rescaling() -> Pipeline:
|
|||||||
return pipe_graph_rescaling
|
return pipe_graph_rescaling
|
||||||
|
|
||||||
|
|
||||||
|
def build_tk_graph_rendering_pipe() -> Pipeline:
|
||||||
|
pipe_graph_rendering = Pipeline(
|
||||||
|
name='Graph_Static-Rendering',
|
||||||
|
working_dir=SAVE_PATH_FOLDER,
|
||||||
|
)
|
||||||
|
pipe_graph_rendering.add(cyto.import_to_cytoscape)
|
||||||
|
pipe_graph_rendering.add(cyto.layout_network)
|
||||||
|
pipe_graph_rendering.add(cyto.apply_style_to_network)
|
||||||
|
pipe_graph_rendering.add(
|
||||||
|
cyto.export_network_to_image,
|
||||||
|
{'filename': CYTO_BASE_NETWORK_NAME},
|
||||||
|
)
|
||||||
|
pipe_graph_rendering.add(cyto.get_subgraph_node_selection)
|
||||||
|
pipe_graph_rendering.add(
|
||||||
|
cyto.build_subnetworks,
|
||||||
|
{'export_image': True},
|
||||||
|
)
|
||||||
|
|
||||||
|
return pipe_graph_rendering
|
||||||
|
|
||||||
|
|
||||||
# ** timeline analysis
|
# ** timeline analysis
|
||||||
def build_timeline_pipe() -> Pipeline:
|
def build_timeline_pipe() -> Pipeline:
|
||||||
pipe_timeline = Pipeline(name='Timeline_Analysis', working_dir=SAVE_PATH_FOLDER)
|
pipe_timeline = Pipeline(name='Timeline_Analysis', working_dir=SAVE_PATH_FOLDER)
|
||||||
|
|||||||
0
src/lang_main/render/__init__.py
Normal file
0
src/lang_main/render/__init__.py
Normal file
159
src/lang_main/render/cytoscape.py
Normal file
159
src/lang_main/render/cytoscape.py
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
import time
|
||||||
|
from collections.abc import Iterable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
|
import py4cytoscape as p4c
|
||||||
|
from networkx import DiGraph, Graph
|
||||||
|
|
||||||
|
from lang_main.constants import (
|
||||||
|
CYTO_BASE_NETWORK_NAME,
|
||||||
|
CYTO_COLLECTION_NAME,
|
||||||
|
CYTO_ITER_NEIGHBOUR_DEPTH,
|
||||||
|
CYTO_LAYOUT_NAME,
|
||||||
|
CYTO_LAYOUT_PROPERTIES,
|
||||||
|
CYTO_NUMBER_SUBGRAPHS,
|
||||||
|
CYTO_PATH_STYLESHEET,
|
||||||
|
CYTO_SELECTION_PROPERTY,
|
||||||
|
CYTO_STYLESHEET_NAME,
|
||||||
|
PROPERTY_NAME_DEGREE_WEIGHTED,
|
||||||
|
SAVE_PATH_FOLDER,
|
||||||
|
)
|
||||||
|
from lang_main.types import (
|
||||||
|
CytoExportFileTypes,
|
||||||
|
CytoExportPageSizes,
|
||||||
|
CytoLayoutProperties,
|
||||||
|
CytoLayouts,
|
||||||
|
CytoNodeID,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# ** Cytoscape API related, using py4cytoscape
|
||||||
|
def import_to_cytoscape(
|
||||||
|
graph: DiGraph | Graph,
|
||||||
|
) -> None:
|
||||||
|
p4c.delete_all_networks()
|
||||||
|
p4c.create_network_from_networkx(
|
||||||
|
graph,
|
||||||
|
title=CYTO_BASE_NETWORK_NAME,
|
||||||
|
collection=CYTO_COLLECTION_NAME,
|
||||||
|
)
|
||||||
|
p4c.analyze_network(directed=False)
|
||||||
|
|
||||||
|
|
||||||
|
def reset_current_network_to_base() -> None:
|
||||||
|
p4c.set_current_network(CYTO_BASE_NETWORK_NAME)
|
||||||
|
|
||||||
|
|
||||||
|
def export_network_to_image(
|
||||||
|
filename: str,
|
||||||
|
filetype: CytoExportFileTypes = 'SVG',
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
pdf_export_page_size: CytoExportPageSizes = 'A4',
|
||||||
|
) -> None:
|
||||||
|
# target_folder = Path.cwd() / 'results'
|
||||||
|
target_folder = SAVE_PATH_FOLDER
|
||||||
|
if not target_folder.exists():
|
||||||
|
target_folder.mkdir(parents=True)
|
||||||
|
file_pth = target_folder / filename
|
||||||
|
|
||||||
|
text_as_font = True
|
||||||
|
if filetype == 'SVG':
|
||||||
|
text_as_font = False
|
||||||
|
|
||||||
|
p4c.export_image(
|
||||||
|
filename=str(file_pth),
|
||||||
|
type=filetype,
|
||||||
|
network=network_name,
|
||||||
|
overwrite_file=True,
|
||||||
|
all_graphics_details=True,
|
||||||
|
export_text_as_font=text_as_font,
|
||||||
|
page_size=pdf_export_page_size,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def layout_network(
|
||||||
|
layout_name: CytoLayouts = CYTO_LAYOUT_NAME,
|
||||||
|
layout_properties: CytoLayoutProperties = CYTO_LAYOUT_PROPERTIES,
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
) -> None:
|
||||||
|
p4c.set_layout_properties(layout_name, layout_properties)
|
||||||
|
p4c.layout_network(layout_name=layout_name, network=network_name)
|
||||||
|
p4c.fit_content(selected_only=False, network=network_name)
|
||||||
|
|
||||||
|
|
||||||
|
def apply_style_to_network(
|
||||||
|
pth_to_stylesheet: Path = CYTO_PATH_STYLESHEET,
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
) -> None:
|
||||||
|
styles_avail = cast(list[str], p4c.get_visual_style_names())
|
||||||
|
if CYTO_STYLESHEET_NAME not in styles_avail:
|
||||||
|
if not pth_to_stylesheet.exists():
|
||||||
|
# existence for standard path verified at import, but not for other
|
||||||
|
# provided paths
|
||||||
|
raise FileNotFoundError(
|
||||||
|
f'Visual stylesheet for Cytoscape not found under: >>{pth_to_stylesheet}<<'
|
||||||
|
)
|
||||||
|
p4c.import_visual_styles(str(pth_to_stylesheet))
|
||||||
|
|
||||||
|
p4c.set_visual_style(CYTO_STYLESHEET_NAME, network=network_name)
|
||||||
|
time.sleep(1) # if not waited image export could be without applied style
|
||||||
|
p4c.fit_content(selected_only=False, network=network_name)
|
||||||
|
|
||||||
|
|
||||||
|
def get_subgraph_node_selection(
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
property_degree_weighted: str = PROPERTY_NAME_DEGREE_WEIGHTED,
|
||||||
|
) -> list[CytoNodeID]:
|
||||||
|
node_table = p4c.get_table_columns(network=network_name)
|
||||||
|
node_table['stress_norm'] = node_table['Stress'] / node_table['Stress'].max()
|
||||||
|
node_table[CYTO_SELECTION_PROPERTY] = (
|
||||||
|
node_table[property_degree_weighted]
|
||||||
|
* node_table['BetweennessCentrality']
|
||||||
|
* node_table['stress_norm']
|
||||||
|
)
|
||||||
|
node_table = node_table.sort_values(by=CYTO_SELECTION_PROPERTY, ascending=False)
|
||||||
|
node_table_choice = node_table.iloc[:CYTO_NUMBER_SUBGRAPHS, :]
|
||||||
|
|
||||||
|
return node_table_choice['SUID'].to_list()
|
||||||
|
|
||||||
|
|
||||||
|
def select_neighbours_of_node(
|
||||||
|
node: CytoNodeID,
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
) -> None:
|
||||||
|
p4c.clear_selection(network=network_name)
|
||||||
|
p4c.select_nodes(node, network=network_name)
|
||||||
|
|
||||||
|
for _ in range(CYTO_ITER_NEIGHBOUR_DEPTH):
|
||||||
|
_ = p4c.select_first_neighbors(network=network_name)
|
||||||
|
|
||||||
|
_ = p4c.select_edges_connecting_selected_nodes()
|
||||||
|
|
||||||
|
|
||||||
|
def make_subnetwork(
|
||||||
|
index: int,
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
export_image: bool = True,
|
||||||
|
) -> None:
|
||||||
|
subnetwork_name = network_name + f'_sub_{index+1}'
|
||||||
|
p4c.create_subnetwork(
|
||||||
|
nodes='selected',
|
||||||
|
edges='selected',
|
||||||
|
subnetwork_name=subnetwork_name,
|
||||||
|
network=network_name,
|
||||||
|
)
|
||||||
|
p4c.set_current_network(subnetwork_name)
|
||||||
|
p4c.fit_content(selected_only=False, network=subnetwork_name)
|
||||||
|
if export_image:
|
||||||
|
export_network_to_image(filename=subnetwork_name, network_name=subnetwork_name)
|
||||||
|
|
||||||
|
|
||||||
|
def build_subnetworks(
|
||||||
|
nodes_to_analyse: Iterable[CytoNodeID],
|
||||||
|
network_name: str = CYTO_BASE_NETWORK_NAME,
|
||||||
|
export_image: bool = True,
|
||||||
|
) -> None:
|
||||||
|
for idx, node in enumerate(nodes_to_analyse):
|
||||||
|
select_neighbours_of_node(node=node, network_name=network_name)
|
||||||
|
make_subnetwork(index=idx, network_name=network_name, export_image=export_image)
|
||||||
@ -1,5 +1,10 @@
|
|||||||
import enum
|
import enum
|
||||||
from typing import Required, TypeAlias, TypedDict
|
from typing import (
|
||||||
|
Literal,
|
||||||
|
Required,
|
||||||
|
TypeAlias,
|
||||||
|
TypedDict,
|
||||||
|
)
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from spacy.tokens.doc import Doc as SpacyDoc
|
from spacy.tokens.doc import Doc as SpacyDoc
|
||||||
@ -42,6 +47,43 @@ Embedding: TypeAlias = SpacyDoc | Tensor
|
|||||||
# ** graphs
|
# ** graphs
|
||||||
NodeTitle: TypeAlias = str
|
NodeTitle: TypeAlias = str
|
||||||
EdgeWeight: TypeAlias = int
|
EdgeWeight: TypeAlias = int
|
||||||
|
CytoExportFileTypes: TypeAlias = Literal[
|
||||||
|
'JPEG',
|
||||||
|
'PDF',
|
||||||
|
'PNG',
|
||||||
|
'PS',
|
||||||
|
'SVG',
|
||||||
|
]
|
||||||
|
CytoExportPageSizes: TypeAlias = Literal[
|
||||||
|
'A0',
|
||||||
|
'A1',
|
||||||
|
'A2',
|
||||||
|
'A3',
|
||||||
|
'A4',
|
||||||
|
'A5',
|
||||||
|
'Auto',
|
||||||
|
'Legal',
|
||||||
|
'Letter',
|
||||||
|
'Tabloid',
|
||||||
|
]
|
||||||
|
CytoLayouts: TypeAlias = Literal[
|
||||||
|
'attribute-circle',
|
||||||
|
'attribute-grid',
|
||||||
|
'attributes-layout',
|
||||||
|
'circular',
|
||||||
|
'cose',
|
||||||
|
'degree-circle',
|
||||||
|
'force-directed',
|
||||||
|
'force-directed-cl',
|
||||||
|
'fruchterman-rheingold',
|
||||||
|
'grid',
|
||||||
|
'hierarchical',
|
||||||
|
'isom',
|
||||||
|
'kamada-kawai',
|
||||||
|
'stacked-node-layout',
|
||||||
|
]
|
||||||
|
CytoLayoutProperties: TypeAlias = dict[str, float | bool]
|
||||||
|
CytoNodeID: TypeAlias = int
|
||||||
|
|
||||||
|
|
||||||
class NodeData(TypedDict):
|
class NodeData(TypedDict):
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 53 KiB |
128
test-notebooks/lang_main.xml
Normal file
128
test-notebooks/lang_main.xml
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<vizmap id="VizMap-2024_07_12-08_08" documentVersion="3.1">
|
||||||
|
<visualStyle name="lang_main">
|
||||||
|
<network>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_X_LOCATION"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_Y_LOCATION"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_Z_LOCATION"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_ANNOTATION_SELECTION"/>
|
||||||
|
<visualProperty default="1.0" name="NETWORK_SCALE_FACTOR"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_NODE_LABEL_SELECTION"/>
|
||||||
|
<visualProperty default="400.0" name="NETWORK_HEIGHT"/>
|
||||||
|
<visualProperty default="true" name="NETWORK_NODE_SELECTION"/>
|
||||||
|
<visualProperty default="550.0" name="NETWORK_WIDTH"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_DEPTH"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_FORCE_HIGH_DETAIL"/>
|
||||||
|
<visualProperty default="" name="NETWORK_TITLE"/>
|
||||||
|
<visualProperty default="true" name="NETWORK_EDGE_SELECTION"/>
|
||||||
|
<visualProperty default="#F7FFFF" name="NETWORK_BACKGROUND_PAINT"/>
|
||||||
|
</network>
|
||||||
|
<node>
|
||||||
|
<dependency value="true" name="nodeCustomGraphicsSizeSync"/>
|
||||||
|
<dependency value="true" name="nodeSizeLocked"/>
|
||||||
|
<visualProperty default="ROUND_RECTANGLE" name="NODE_LABEL_BACKGROUND_SHAPE"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_9"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_7"/>
|
||||||
|
<visualProperty default="true" name="NODE_NESTED_NETWORK_IMAGE_VISIBLE"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_LABEL_ROTATION"/>
|
||||||
|
<visualProperty default="175" name="NODE_LABEL_BACKGROUND_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_8"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_2"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_6"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_7"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_1"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_4"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_9"/>
|
||||||
|
<visualProperty default="ROUND_RECTANGLE" name="COMPOUND_NODE_SHAPE"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_5"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_9"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_5"/>
|
||||||
|
<visualProperty default="10.0" name="COMPOUND_NODE_PADDING"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_3"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_6"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_8"/>
|
||||||
|
<visualProperty default="SE,NW,c,-2.00,3.00" name="NODE_LABEL_POSITION"/>
|
||||||
|
<visualProperty default="ELLIPSE" name="NODE_SHAPE"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_3"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_4"/>
|
||||||
|
<visualProperty default="SansSerif.plain,plain,12" name="NODE_LABEL_FONT_FACE"/>
|
||||||
|
<visualProperty default="#D1F5BE" name="NODE_BORDER_PAINT"/>
|
||||||
|
<visualProperty default="40.0" name="NODE_HEIGHT"/>
|
||||||
|
<visualProperty default="255" name="NODE_LABEL_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="#E1E1E1" name="NODE_LABEL_BACKGROUND_COLOR"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_6"/>
|
||||||
|
<visualProperty default="false" name="NODE_SELECTED"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_DEPTH"/>
|
||||||
|
<visualProperty default="SOLID" name="NODE_BORDER_STROKE"/>
|
||||||
|
<visualProperty default="" name="NODE_TOOLTIP"/>
|
||||||
|
<visualProperty default="7.0" name="NODE_BORDER_WIDTH"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_2"/>
|
||||||
|
<visualProperty default="#A63C06" name="NODE_LABEL_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_X_LOCATION"/>
|
||||||
|
<visualProperty default="18.0" name="NODE_SIZE"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_8"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_Z_LOCATION"/>
|
||||||
|
<visualProperty default="#FE9929" name="NODE_FILL_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_1"/>
|
||||||
|
<visualProperty default="255" name="NODE_BORDER_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_1"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_2"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_3"/>
|
||||||
|
<visualProperty default="60.0" name="NODE_WIDTH"/>
|
||||||
|
<visualProperty default="" name="NODE_LABEL">
|
||||||
|
<passthroughMapping attributeName="name" attributeType="string"/>
|
||||||
|
</visualProperty>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_5"/>
|
||||||
|
<visualProperty default="500.0" name="NODE_LABEL_WIDTH"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_4"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_7"/>
|
||||||
|
<visualProperty default="#FFFF00" name="NODE_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_Y_LOCATION"/>
|
||||||
|
<visualProperty default="true" name="NODE_VISIBLE"/>
|
||||||
|
<visualProperty default="255" name="NODE_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="14" name="NODE_LABEL_FONT_SIZE"/>
|
||||||
|
</node>
|
||||||
|
<edge>
|
||||||
|
<dependency value="true" name="arrowColorMatchesEdge"/>
|
||||||
|
<visualProperty default="false" name="EDGE_SELECTED"/>
|
||||||
|
<visualProperty default="255" name="EDGE_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="10" name="EDGE_LABEL_FONT_SIZE"/>
|
||||||
|
<visualProperty default="#577399" name="EDGE_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="" name="EDGE_LABEL"/>
|
||||||
|
<visualProperty default="#FFFFFF" name="EDGE_STROKE_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="200.0" name="EDGE_LABEL_WIDTH"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_LABEL_COLOR"/>
|
||||||
|
<visualProperty default="SansSerif.plain,plain,10" name="EDGE_LABEL_FONT_FACE"/>
|
||||||
|
<visualProperty default="0.728545744495502,-0.684997151948455,0.6456513365424503" name="EDGE_BEND"/>
|
||||||
|
<visualProperty default="#B6B6B6" name="EDGE_LABEL_BACKGROUND_COLOR"/>
|
||||||
|
<visualProperty default="AUTO_BEND" name="EDGE_STACKING"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_TARGET_ARROW_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="0.5" name="EDGE_STACKING_DENSITY"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_TARGET_ARROW_SHAPE"/>
|
||||||
|
<visualProperty default="true" name="EDGE_VISIBLE"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="EDGE_LABEL_POSITION"/>
|
||||||
|
<visualProperty default="0.0" name="EDGE_LABEL_ROTATION"/>
|
||||||
|
<visualProperty default="" name="EDGE_TOOLTIP"/>
|
||||||
|
<visualProperty default="0.0" name="EDGE_Z_ORDER"/>
|
||||||
|
<visualProperty default="#FFFF00" name="EDGE_TARGET_ARROW_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="#FF0000" name="EDGE_STROKE_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_SOURCE_ARROW_SHAPE"/>
|
||||||
|
<visualProperty default="#FFFF00" name="EDGE_SOURCE_ARROW_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="false" name="EDGE_LABEL_AUTOROTATE"/>
|
||||||
|
<visualProperty default="true" name="EDGE_CURVED"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_SOURCE_ARROW_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="255" name="EDGE_LABEL_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="6.0" name="EDGE_TARGET_ARROW_SIZE"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_LABEL_BACKGROUND_SHAPE"/>
|
||||||
|
<visualProperty default="255" name="EDGE_LABEL_BACKGROUND_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="SOLID" name="EDGE_LINE_TYPE"/>
|
||||||
|
<visualProperty default="6.0" name="EDGE_SOURCE_ARROW_SIZE"/>
|
||||||
|
<visualProperty default="3.0" name="EDGE_WIDTH">
|
||||||
|
<continuousMapping attributeName="weight" attributeType="float">
|
||||||
|
<continuousMappingPoint attrValue="0.09520000219345093" equalValue="2.0" greaterValue="2.0" lesserValue="1.0"/>
|
||||||
|
<continuousMappingPoint attrValue="1.0" equalValue="10.0" greaterValue="1.0" lesserValue="10.0"/>
|
||||||
|
</continuousMapping>
|
||||||
|
</visualProperty>
|
||||||
|
</edge>
|
||||||
|
</visualStyle>
|
||||||
|
</vizmap>
|
||||||
@ -16,6 +16,7 @@ preprocessing_skip = true
|
|||||||
token_analysis_skip = false
|
token_analysis_skip = false
|
||||||
graph_postprocessing_skip = false
|
graph_postprocessing_skip = false
|
||||||
graph_rescaling_skip = false
|
graph_rescaling_skip = false
|
||||||
|
graph_static_rendering_skip = false
|
||||||
time_analysis_skip = true
|
time_analysis_skip = true
|
||||||
|
|
||||||
#[export_filenames]
|
#[export_filenames]
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
123
test-notebooks/styles_template.xml
Normal file
123
test-notebooks/styles_template.xml
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<vizmap id="VizMap-2024_07_10-16_50" documentVersion="3.1">
|
||||||
|
<visualStyle name="template">
|
||||||
|
<network>
|
||||||
|
<visualProperty default="1.0" name="NETWORK_SCALE_FACTOR"/>
|
||||||
|
<visualProperty default="true" name="NETWORK_NODE_SELECTION"/>
|
||||||
|
<visualProperty default="#F7FFFF" name="NETWORK_BACKGROUND_PAINT"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_ANNOTATION_SELECTION"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_NODE_LABEL_SELECTION"/>
|
||||||
|
<visualProperty default="" name="NETWORK_TITLE"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_X_LOCATION"/>
|
||||||
|
<visualProperty default="true" name="NETWORK_EDGE_SELECTION"/>
|
||||||
|
<visualProperty default="550.0" name="NETWORK_WIDTH"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_DEPTH"/>
|
||||||
|
<visualProperty default="400.0" name="NETWORK_HEIGHT"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_Z_LOCATION"/>
|
||||||
|
<visualProperty default="0.0" name="NETWORK_CENTER_Y_LOCATION"/>
|
||||||
|
<visualProperty default="false" name="NETWORK_FORCE_HIGH_DETAIL"/>
|
||||||
|
</network>
|
||||||
|
<node>
|
||||||
|
<dependency value="true" name="nodeCustomGraphicsSizeSync"/>
|
||||||
|
<dependency value="true" name="nodeSizeLocked"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_LABEL_ROTATION"/>
|
||||||
|
<visualProperty default="14" name="NODE_LABEL_FONT_SIZE"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_3"/>
|
||||||
|
<visualProperty default="10.0" name="COMPOUND_NODE_PADDING"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_6"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_1"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_9"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_Z_LOCATION"/>
|
||||||
|
<visualProperty default="true" name="NODE_VISIBLE"/>
|
||||||
|
<visualProperty default="" name="NODE_TOOLTIP"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_1"/>
|
||||||
|
<visualProperty default="500.0" name="NODE_LABEL_WIDTH"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_5"/>
|
||||||
|
<visualProperty default="#FE9929" name="NODE_FILL_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_2"/>
|
||||||
|
<visualProperty default="#A63C06" name="NODE_LABEL_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_DEPTH"/>
|
||||||
|
<visualProperty default="7.0" name="NODE_BORDER_WIDTH"/>
|
||||||
|
<visualProperty default="#FFFF00" name="NODE_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="60.0" name="NODE_WIDTH"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_3"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_7"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_4"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_1"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_8"/>
|
||||||
|
<visualProperty default="SE,NW,c,-2.00,3.00" name="NODE_LABEL_POSITION"/>
|
||||||
|
<visualProperty default="SOLID" name="NODE_BORDER_STROKE"/>
|
||||||
|
<visualProperty default="255" name="NODE_BORDER_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="ROUND_RECTANGLE" name="NODE_LABEL_BACKGROUND_SHAPE"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_8"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_7"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_8"/>
|
||||||
|
<visualProperty default="18.0" name="NODE_SIZE"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_5"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_4"/>
|
||||||
|
<visualProperty default="" name="NODE_LABEL">
|
||||||
|
<passthroughMapping attributeName="name" attributeType="string"/>
|
||||||
|
</visualProperty>
|
||||||
|
<visualProperty default="255" name="NODE_LABEL_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_6"/>
|
||||||
|
<visualProperty default="ELLIPSE" name="NODE_SHAPE"/>
|
||||||
|
<visualProperty default="#D1F5BE" name="NODE_BORDER_PAINT"/>
|
||||||
|
<visualProperty default="true" name="NODE_NESTED_NETWORK_IMAGE_VISIBLE"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_7"/>
|
||||||
|
<visualProperty default="false" name="NODE_SELECTED"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_9"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_3"/>
|
||||||
|
<visualProperty default="SansSerif.plain,plain,12" name="NODE_LABEL_FONT_FACE"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="NODE_CUSTOMGRAPHICS_POSITION_2"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_4"/>
|
||||||
|
<visualProperty default="#E1E1E1" name="NODE_LABEL_BACKGROUND_COLOR"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_X_LOCATION"/>
|
||||||
|
<visualProperty default="org.cytoscape.cg.model.NullCustomGraphics,0,[ Remove Graphics ]," name="NODE_CUSTOMGRAPHICS_2"/>
|
||||||
|
<visualProperty default="ROUND_RECTANGLE" name="COMPOUND_NODE_SHAPE"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_6"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_5"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_CUSTOMGRAPHICS_SIZE_9"/>
|
||||||
|
<visualProperty default="175" name="NODE_LABEL_BACKGROUND_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="255" name="NODE_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="40.0" name="NODE_HEIGHT"/>
|
||||||
|
<visualProperty default="0.0" name="NODE_Y_LOCATION"/>
|
||||||
|
</node>
|
||||||
|
<edge>
|
||||||
|
<dependency value="true" name="arrowColorMatchesEdge"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_LABEL_BACKGROUND_SHAPE"/>
|
||||||
|
<visualProperty default="" name="EDGE_TOOLTIP"/>
|
||||||
|
<visualProperty default="AUTO_BEND" name="EDGE_STACKING"/>
|
||||||
|
<visualProperty default="#B6B6B6" name="EDGE_LABEL_BACKGROUND_COLOR"/>
|
||||||
|
<visualProperty default="C,C,c,0.00,0.00" name="EDGE_LABEL_POSITION"/>
|
||||||
|
<visualProperty default="0.728545744495502,-0.684997151948455,0.6456513365424503" name="EDGE_BEND"/>
|
||||||
|
<visualProperty default="10" name="EDGE_LABEL_FONT_SIZE"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_TARGET_ARROW_SHAPE"/>
|
||||||
|
<visualProperty default="false" name="EDGE_SELECTED"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_LABEL_COLOR"/>
|
||||||
|
<visualProperty default="#FFFFFF" name="EDGE_STROKE_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_TARGET_ARROW_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="255" name="EDGE_LABEL_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="255" name="EDGE_LABEL_BACKGROUND_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="true" name="EDGE_CURVED"/>
|
||||||
|
<visualProperty default="NONE" name="EDGE_SOURCE_ARROW_SHAPE"/>
|
||||||
|
<visualProperty default="0.0" name="EDGE_LABEL_ROTATION"/>
|
||||||
|
<visualProperty default="SansSerif.plain,plain,10" name="EDGE_LABEL_FONT_FACE"/>
|
||||||
|
<visualProperty default="0.5" name="EDGE_STACKING_DENSITY"/>
|
||||||
|
<visualProperty default="#FFFF00" name="EDGE_SOURCE_ARROW_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="false" name="EDGE_LABEL_AUTOROTATE"/>
|
||||||
|
<visualProperty default="3.0" name="EDGE_WIDTH"/>
|
||||||
|
<visualProperty default="#FF0000" name="EDGE_STROKE_SELECTED_PAINT"/>
|
||||||
|
<visualProperty default="true" name="EDGE_VISIBLE"/>
|
||||||
|
<visualProperty default="#577399" name="EDGE_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="#000000" name="EDGE_SOURCE_ARROW_UNSELECTED_PAINT"/>
|
||||||
|
<visualProperty default="" name="EDGE_LABEL"/>
|
||||||
|
<visualProperty default="255" name="EDGE_TRANSPARENCY"/>
|
||||||
|
<visualProperty default="SOLID" name="EDGE_LINE_TYPE"/>
|
||||||
|
<visualProperty default="6.0" name="EDGE_TARGET_ARROW_SIZE"/>
|
||||||
|
<visualProperty default="200.0" name="EDGE_LABEL_WIDTH"/>
|
||||||
|
<visualProperty default="0.0" name="EDGE_Z_ORDER"/>
|
||||||
|
<visualProperty default="6.0" name="EDGE_SOURCE_ARROW_SIZE"/>
|
||||||
|
<visualProperty default="#FFFF00" name="EDGE_TARGET_ARROW_SELECTED_PAINT"/>
|
||||||
|
</edge>
|
||||||
|
</visualStyle>
|
||||||
|
</vizmap>
|
||||||
Loading…
x
Reference in New Issue
Block a user