{"id":"280268bb-9fd9-44be-8a7c-396d16e301bf","arxiv_id":"2608.07344","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":3,"one_line_summary":"muxvizpy is a sparse, Python-native reimplementation of the muxViz multilayer network analysis toolkit that scales to networks with tens of millions of edges and adds new analysis capabilities such as percolation and tensor decomposition.","lead":"This paper presents muxvizpy, a new Python library for analyzing multilayer biological networks, which reimplements the R-based muxViz toolkit using sparse matrix and tensor methods. It claims to handle networks with up to 100 million to 1 billion edges, far beyond what muxViz can process, while matching its numerical results on smaller networks.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Numerical agreement with muxViz is demonstrated only up to roughly 10^7 edges, while the paper's own Section S5.2 shows approximate solvers already degrading at that limit; agreement at the claimed 10^8–10^9 scale is therefore unsupported.","rationale":"The reader's weakest_assumption identified exactly the gap I consider load-bearing: numerical agreement is validated only where muxViz can run, and the claim of agreement at the much larger scales where muxvizpy is said to excel is an extrapolation. My reading adds internal support for the concern: Section S5.2 already documents one approximate solver (Neumann series) losing value-level accuracy on the largest shared instances, with MARE up to 0.13 and r as low as 0.81. This shows that 'approximate but scalable' paths can silently degrade as networks grow and become more ill-conditioned, so the absence of an accuracy check at or near 10^8–10^9 edges is not a mere formality. The manuscript is otherwise careful: mathematical definitions are explicit, the benchmark protocol is described, and metrics without a muxViz counterpart are validated through unit tests or a tensorly comparison. These are real strengths, but they do not close the specific extrapolation gap. Since the reader already assigned CONDITIONAL on essentially this basis, my verdict is unchanged and the same condition should stand: either add accuracy evidence at larger scales, or temper the claim of numerical agreement at scale.","tokens_in":19220,"tokens_out":4515,"duration_ms":44513,"concrete_test":"On the largest ER and BA networks that muxvizpy completes (around 2.5×10^8 and 10^9 edges), recompute PageRank and Katz centralities with the default tolerances and again with tolerances tightened by three orders of magnitude, and cross-check with a second independent method (power iteration versus eigs for PageRank; GMRES versus BiCGSTAB for Katz). If the per-node rankings change by more than the reported MARE threshold (about 10^-3) or the normalized residual ||(I−αA^T)x−1||/||1|| grows monotonically with network size, the numerical-agreement component of the scalability claim does not extrapolate beyond the validated range.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central claim is that muxvizpy preserves numerical agreement with muxViz while extending feasible networks to roughly 10^8–10^9 edges. This is only directly tested in the regime where muxViz itself runs: Section S5 states that accuracy is evaluated only for metrics computed by both tools and for network sizes muxViz can handle, which Section S4.2 places near 10^7 edges. The approximate solvers that enable the large-scale runs are precisely the ones whose accuracy is size- and conditioning-dependent. Section S5.2 reports that on the largest shared BA instances the Neumann-series Katz solver degrades to MARE up to 0.13 and r as low as 0.81, and Figure S12 shows the ILU-preconditioned Krylov solvers at MARE around 10^-3 on the largest shared networks. Because the scalability headline for versatility metrics relies on these iterative methods (Section S4.2), agreement observed below 10^7 edges does not establish agreement at 10^8–10^9 edges. The abstract phrase 'numerically validated ... at scale' overstates the evidence: validation is at muxViz-compatible sizes, not at the claimed scale.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper introduces muxvizpy, a Python library for multilayer network analysis that reimplements and extends the muxViz analytical catalogue using sparse tensor/CSR representations and iterative linear-algebra solvers. The authors claim that muxvizpy preserves numerical agreement with muxViz on shared metrics while extending feasible network sizes to approximately 10^8–10^9 edges, and they illustrate the tool on a virus–human protein interaction multiplex use case. The Supplementary Information provides mathematical definitions for all implemented metrics, benchmark protocols, and numerical-accuracy comparisons against muxViz and tensorly.","tokens_in":19516,"tokens_out":4961,"duration_ms":44761,"significance":"If the central claims hold, muxvizpy addresses a real gap: it brings a Python-native, sparse implementation of a broad multilayer analytical catalogue to a community that largely uses Python-based bioinformatics pipelines. The paper's concrete strengths include the public availability of the code under an MIT licence, precise mathematical definitions of all metrics, and strong numerical agreement on the shared benchmark range (Pearson r = 1.0000 with MARE on the order of 10^-4 for versatility measures). The main weakness is that the headline claim of numerical agreement 'at scale' is an extrapolation beyond the sizes at which validation was actually performed, and the approximate solvers that power the large-scale runs already show measurable degradation at the upper end of the validated range.","major_comments":[{"comment":"The central claim that muxvizpy 'substantially extends the size of multiplex networks that can be analysed while preserving numerical agreement with muxViz' is not supported for the extended size range. Section S5 explicitly states that accuracy is evaluated only for metrics computed by both tools and for network sizes muxViz can handle, which Section S4.2 places near 10^7 edges. Moreover, Section S5.2 reports that the Neumann-series Katz solver, which is one of the approximate paths enabling the large-scale runs, degrades to MARE up to 0.13 and r as low as 0.81 on the largest shared BA instances, while Figure S12 shows the ILU-preconditioned Krylov solvers at MARE around 10^-3 on the largest shared networks. Because the scalability gain for versatility metrics relies on these iterative methods, agreement observed below 10^7 edges does not establish agreement at 10^8–10^9 edges. The phrase 'numerically validated ... at scale' in the abstract overstates the evidence. I recommend either (i) adding a direct accuracy check at larger scales, for example by comparing approximate solvers against the exact solver on moderately large networks and against a tight-tolerance iterative solve on the largest instances, or (ii) revising the abstract and Results to claim scalability and numerical agreement only on the shared range, with the large-scale behaviour presented as a performance claim rather than a validated-accuracy claim.","section":"Results ('Computational benchmarks'); Section S5"},{"comment":"The manuscript states that 'Every metric ships with a numerical test against the corresponding muxViz output' and that 'All metrics are numerically validated against muxViz on synthetic benchmarks,' but the validation evidence in Section S5 covers only a subset of metrics. Table S1 lists muxViz comparisons for eigenvector, Katz, PageRank, hub, authority, multidegree, global clustering, and the two information-theoretic metrics, while Remark S1 explicitly states that k-core, global edge overlap, local clustering, CP decomposition, vertex percolation, and the largest viable/intersection components have no muxViz accuracy reference and are validated by unit tests on small networks, by comparison with tensorly, or through the biological use case. The blanket statements in the Introduction and Design principles should be corrected to distinguish metrics with direct muxViz validation from those validated by other means.","section":"Introduction; 'Design principles'; Section S5, Remark S1"},{"comment":"The information-theoretic metrics are validated against muxViz only on Barabási–Albert multiplexes because, as stated in Section S5.1, 'muxViz fails on the ER instances.' Since the abstract and Introduction claim numerical validation on both Erdős–Rényi and Barabási–Albert synthetic multiplex networks, this constitutes a gap in the validation matrix. Either the ER comparisons should be added (if the failure can be circumvented, e.g., by running muxViz on smaller ER instances), or the text should explicitly state that information-theoretic agreement was established on BA networks only.","section":"Section S5.1; Table S1"}],"minor_comments":[{"comment":"The sparse eigensolver path is labelled the 'exact path,' but ARPACK-based eigs is itself an iterative method with a user-specified tolerance; the label 'direct' or 'default eigensolver' would be more accurate and would avoid confusion with the exact LU factorisation described for Katz centrality.","section":"Algorithm S2 (Section S3.2)"},{"comment":"The Neumann-series panel reports r = 1.0000 despite MARE = 0.13, which shows that Pearson correlation can be insensitive to systematic relative shifts; the paper should also report a rank correlation or a residual scatter in this context, since the abstract and Results cite r primarily.","section":"Section S5.2; Figure S12"},{"comment":"The reference for the Hungarian assignment algorithm is a commercial educational website (BYJU'S); a standard primary reference (e.g., Kuhn, H. W., 1955) would be more appropriate for a journal.","section":"References, Section S5.3"},{"comment":"The text 'Handles 105+ edges' in the graphical abstract and the phrase 'with L layers' in the Figure 1 caption are unclear; the former should be written as '10^5+' and the latter should specify the actual number of layers used in the benchmarks.","section":"Graphical abstract and Figure 1 caption"}],"recommendation":"major_revision","confidential_remarks":"One of the co-authors is the original author of muxViz, and muxViz is used as the sole ground truth for numerical validation. This is not by itself problematic, since the metrics are standard and independently defined in the Additional File, but it does mean the agreement is not an independent confirmation. I would suggest encouraging the authors to add a small-scale comparison against an independently implemented multilayer library (e.g., pymnet or multinet) to strengthen the credibility of the validation. The paper is within the scope of a q-bio/QM journal as a software contribution, though the biological use case in Section 3 is modest in scale (approximately 10^4 nodes and 10^5 edges) and is presented largely as an illustration."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Two things before you decide how to spend time on this. First, it is a real contribution: muxvizpy reimplements the muxViz metric catalogue in Python with sparse tensors and matrices, adds percolation, tensor decomposition, and iterative solvers, and the implementation is careful. Second, the headline claim of numerical validation 'at scale' is not quite honest. The agreement with muxViz is measured only up to roughly 1e7 edges, exactly where muxViz stops running; the paper's own Section S5.2 shows the Neumann-series Katz solver degrading to MARE 0.13 and r=0.81 on the largest shared BA instances. The 1e8--1e9 edge numbers are performance claims, not accuracy claims, and the abstract blurs that distinction.\n\nWhat is genuinely new: the sparse-first design (PyTorch COO tensor, CSR supra-adjacency matrix with implicit coupling blocks), the unified API for exact and approximate solvers, the sparse CP-ALS implementation, and the percolation module. The benchmark methodology is solid: three replicates per instance, independent memory and time profiling, byte-identical edge lists for both tools. On the shared range, agreement is excellent: r=1.0000 with MARE in the 1e-4 to 1e-3 range for all versatility centralities, exact multidegree, and close agreement for information-theoretic metrics on BA. That is real evidence the reimplementation is correct.\n\nSoft spots, in order of importance. First, the accuracy validation is bounded by construction: it only covers network sizes muxViz can handle. The paper's limitations section says this clearly, so it is mostly an abstract-wording problem, but the abstract is what most readers will see. Second, the CP decomposition is validated on one synthetic planted-rank tensor; acceptable for a software paper but a thin basis for claiming the decomposition is reliable on real data. Third, reproducibility suffers from the absence of a commit hash and benchmark scripts; the GitHub link is a start, not a full record. The co-author overlap with muxViz is worth noting, but using the reference implementation as ground truth is standard practice and not a flaw by itself.\n\nWho benefits: anyone doing multilayer network analysis in Python, especially on large virus--host PPI networks or multi-omics data where R-only muxViz struggles. The paper deserves serious peer review. The central claims are defensible; the issues are addressable by rewording the abstract, adding reproducibility artifacts, and ideally testing accuracy on a synthetic ground-truth network at a larger size. Send it to review.","headline":"A genuinely useful sparse-first Python multilayer network library with careful benchmarks, but the abstract overstates numerical validation at the largest scales.","tokens_in":20004,"tokens_out":2060,"would_cite":true,"duration_ms":20568,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"The paper claims that muxvizpy, a sparse Python re-implementation of the muxViz multilayer-network catalogue, extends feasible multiplex analysis from roughly 10^7 edges to 10^8–10^9 edges while preserving machine-precision agreement on…","keywords":["multilayer networks","network analysis","biological networks","complex systems","scientific computing","sparse linear algebra","tensor decomposition","versatility centrality"],"falsifier":"Run the ILU-preconditioned GMRES Katz solver on a Barabási–Albert multiplex with $10^8$ edges and compare its residuals against a restarted high-precision solve of the same resolvent system; if the value error exceeds the reported $10^{-4}$ mean absolute relative error range, the accuracy-at-scale extrapolation fails.","tokens_in":19057,"feed_emoji":"🧬","tokens_out":10385,"duration_ms":82969,"temperature":0.7,"pith_summary":"Multilayer biological networks, where the same genes, cells, or species interact through several qualitatively different channels, need analyses that keep the layers separate; but the earlier R-based multilayer toolkit muxViz, which established the measurement catalogue, uses dense data structures and becomes impractical near $10^{7}$ edges. The paper claims that muxvizpy, a Python library that re-implements that catalogue on sparse tensor algebra, computes the same metrics on networks with roughly $10^{8}$–$10^{9}$ edges while matching muxViz's outputs to machine precision wherever both tools can finish. That matters because omic-scale data, such as virus–host protein-interaction layers or multi-omic gene layers, sits at sizes where the standard multilayer measures either time out or exhaust memory. The paper demonstrates the point on a virus–human protein-interaction multiplex in which PageRank versatility, percolation, and community detection distinguish oncogenic from non-oncogenic viruses and point to candidate host genes.","feed_headline":"Sparse Python library scales multilayer analysis to 10^9 edges","feed_subtitle":"It reproduces the reference toolkit's results to machine precision on networks 100 times larger.","key_machinery":"The carrying mechanism is the sparse adjacency-tensor and supra-adjacency-matrix pair. The tensor $\\mathcal{M}$ keeps the node and layer dimensions explicit, while its mode-1 unfolding into the block matrix $A$ places intra-layer edges on the diagonal blocks and inter-layer couplings on the off-diagonal blocks; for node-aligned multiplexes with categorical couplings, the coupling blocks reduce to scalar-weighted identity matrices that are stored implicitly. All centrality and path metrics are computed on $A$ without ever densifying it, and the CP/PARAFAC decomposition is run on the tensor itself with an alternating-least-squares algorithm whose per-iteration work scales with the number of nonzeros times the rank, through a sparse matricized-tensor-times-Khatri-Rao product, rather than with the tensor volume $N^2L^2$.","core_discovery":"On its own terms, the paper establishes that redesigning multilayer network analysis around sparse representations, rather than dense matrices, is enough to move the practical ceiling of structural multilayer analysis by more than an order of magnitude without drifting from the established toolkit's results. The fundamental object is the adjacency tensor $\\mathcal{M}\\in\\mathbb{R}^{N\\times N\\times L\\times L}$, whose entry $M_{ij\\alpha\\beta}$ is the weight of the edge from node $i$ in layer $\\alpha$ to node $j$ in layer $\\beta$, stored as a COO sparse tensor and unfolded on demand into the CSR supra-adjacency matrix $A\\in\\mathbb{R}^{NL\\times NL}$. On this object the expensive versatility measures reduce to a sparse resolvent solve $(I-\\alpha A^\\top)x=\\mathbf{1}$ for Katz centrality or a dominant-eigenvector problem for PageRank, HITS, and eigenvector centrality, and the library exposes both an exact path (sparse LU, sparse eigensolver) and approximate paths (Neumann fixed-point iteration, ILU-preconditioned GMRES and BiCGSTAB, power iteration) for the same metric. The paper's evidence is that eigenvector, PageRank, hub, and authority centralities complete Erdős–Rényi and Barabási–Albert multiplexes up to roughly $2.5\\times10^8$ edges in seconds, that muxViz hits time or memory ceilings near $10^7$ edges, and that wherever both tools finish, paired values agree with Pearson correlation $r=1.0000$ and median mean absolute relative errors between $1.3\\times10^{-4}$ and $8.0\\times10^{-4}$, with multidegree exact. The Katz case is the telling one: exact LU fails beyond roughly $10^6$ edges on Barabási–Albert networks because of factorisation fill-in, while the ILU-preconditioned Krylov paths keep scaling and reproduce the exact solution; the paper treats muxViz as ground truth and therefore evaluates accuracy only at sizes muxViz can handle.","pith_inferences":["Editorial inference: because numerical agreement is measured only where muxViz still runs, the $r=1.0000$ claim is an extrapolation to the $10^8$–$10^9$ regime; a check against a high-precision reference on an ill-conditioned synthetic instance at that scale would close the gap.","Editorial inference: the paper's function-by-function correspondence table suggests the contribution is a catalogue port plus a solver-selection layer, and that sparse solver-selection layer should transfer directly to temporal networks or hypergraphs that rely on the same resolvent and eigenvector kernels.","Editorial inference: the documented failure of the Neumann-series path on ill-conditioned instances, with value-level MARE up to $0.13$ at a fixed iteration budget, means users must treat the solver choice as part of the analysis; defaulting to ILU-preconditioned Krylov is the robust choice for scale-free multilayer systems.","Editorial inference: the oncogenic versus non-oncogenic separation in the biological use case is presented as illustrative, not statistically tested; a permutation or cross-validation step would turn it into a testable biological claim."],"forward_implications":["Feasible multiplex sizes for the most expensive structural metrics move from muxViz's ceiling near $10^7$ edges to $10^8$–$10^9$ edges, with eigenvector, PageRank, hub, and authority centralities finishing $2.5\\times10^8$-edge multiplexes in seconds.","Katz centrality on scale-free multiplexes no longer forces a memory blow-up: where exact LU exceeds the memory limit beyond about $10^6$ edges, the ILU-preconditioned GMRES and BiCGSTAB paths keep scaling and reproduce the exact solution to about $10^{-4}$ relative error.","Analyses that have no muxViz counterpart, including percolation, largest viable component, community detection, and CP decomposition, become available in the same API, and the virus–human PPI use case separates oncogenic from non-oncogenic viruses.","Sparse CP/PARAFAC fitting costs $O(\\mathrm{nnz}(\\mathcal{M})R)$ per ALS sweep, so tensor decomposition remains practical on sparse biological tensors where dense implementations, which pay the $N^2L^2$ volume cost, cannot run.","The library's integration with the Python scientific stack lets single-cell, graph deep-learning, and multi-omics pipelines call multilayer analyses without leaving their native ecosystems, which the paper argues lowers the barrier to routine multilayer analysis of biological systems."],"supporting_citations":[{"why":"Defines the adjacency-tensor formalism $M_{ij\\alpha\\beta}$ and its marginalisations, the mathematical foundation of the library's central data structure.","marker":"De Domenico et al. (2013)"},{"why":"The R toolkit muxViz whose analytical catalogue muxvizpy reimplements and whose outputs serve as the numerical ground truth.","marker":"De Domenico et al. (2015a)"},{"why":"Establishes versatility centralities and the per-node aggregation of supra-vectors, the core benchmarked metrics.","marker":"De Domenico et al. (2015b)"},{"why":"Supplies the Katz-centrality definition whose resolvent $(I-\\alpha A^\\top)^{-1}\\mathbf{1}$ is the linear system the exact and approximate solver paths target.","marker":"Katz (1953)"},{"why":"Provides the iterative-method background, Krylov subspaces and preconditioning, that justifies the approximate solver paths.","marker":"Saad (2003)"},{"why":"Supplies the CP/PARAFAC decomposition and the alternating-least-squares algorithm that the library implements with sparse operations.","marker":"Kolda and Bader (2009)"},{"why":"The reference Python implementation used to validate the CP factorisations.","marker":"Kossaifi et al. (2019)"},{"why":"The virus–human PPI multilayer study that exercises muxvizpy and supplies the biological use case.","marker":"Zambelli et al. (2025)"}],"fun_headline_variants":["muxvizpy: sparse Python library pushes multilayer analysis past 10^9 edges","Multilayer network analysis scales to 10^9 edges with sparse Python","Python library brings sparse multilayer analysis to huge biological networks","muxvizpy: sparse Python for multilayer networks at scale"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"Numerical accuracy measured on networks of up to about ten million edges, where muxViz can still run, is assumed to extend to the hundred-million-to-billion-edge networks where muxvizpy claims to scale but no reference values exist.","fun_headline_variants_meta":{"raw":{"variants":["muxvizpy: sparse Python library pushes multilayer analysis past 10^9 edges","Multilayer network analysis scales to 10^9 edges with sparse Python","Python library brings sparse multilayer analysis to huge biological networks","muxvizpy: sparse Python for multilayer networks at scale"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.001239,"raw_usage":{"total_tokens":5234,"prompt_tokens":1241,"completion_tokens":3993,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":857,"completion_tokens_details":{"reasoning_tokens":3928}},"tokens_in":857,"tokens_out":3993,"duration_ms":25284,"temperature":1.0,"reasoning_tokens":3928,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-10T05:54:16.774395+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Run the ILU-preconditioned GMRES Katz solver on a Barabási–Albert multiplex with $10^8$ edges and compare its residuals against a restarted high-precision solve of the same resolvent system; if the value error exceeds the reported $10^{-4}$ mean absolute relative error range, the accuracy-at-scale extrapolation fails.","supporting_citations":[],"review_version":1}