Package evaluation to test COCOA on Julia 1.14.0-DEV.2590 (cfde0ec785*) started at 2026-07-04T14:40:10.547 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 14.37s ################################################################################ # Installation # Installing COCOA... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [9ecc82ce] + COCOA v1.0.0 Updating `~/.julia/environments/v1.14/Manifest.toml` [5a4f3dfa] + AbstractFBCModels v1.3.0 [1520ce14] + AbstractTrees v0.4.5 [66dad0bd] + AliasTables v1.1.3 [ec485272] + ArnoldiMethod v0.4.0 [babc4406] + COBREXA v2.9.1 [9ecc82ce] + COCOA v1.0.0 [523fee87] + CodecBzip2 v0.8.5 [944b1d66] + CodecZlib v0.7.8 [861a8166] + Combinatorics v1.1.0 [bbf7d656] + CommonSubexpressions v0.3.1 [34da2185] + Compat v4.18.1 [5515826b] + ConstraintTrees v1.11.1 [187b0558] + ConstructionBase v1.6.0 [a8cc5b0e] + Crayons v4.1.1 [9a962f9c] + DataAPI v1.16.0 [a93c6f00] + DataFrames v1.8.2 [864edb3b] + DataStructures v0.19.5 [e2d170a0] + DataValueInterfaces v1.0.0 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.16.0 [ffbed154] + DocStringExtensions v0.9.5 [5789e2e9] + FileIO v1.19.0 [f6369f11] + ForwardDiff v1.4.1 [86223c79] + Graphs v1.14.0 [076d061b] + HashArrayMappedTries v0.2.0 [87dc4568] + HiGHS v1.24.0 [615f187c] + IfElse v0.1.1 [d25df0c9] + Inflate v0.1.5 [842dd82b] + InlineStrings v1.4.5 [41ab1584] + InvertedIndices v1.3.1 [92d709cd] + IrrationalConstants v0.2.6 [82899510] + IteratorInterfaceExtensions v1.0.0 ⌅ [033835bb] + JLD2 v0.5.15 [692b3bcd] + JLLWrappers v1.8.0 [682c06a0] + JSON v1.6.1 [4076af6c] + JuMP v1.30.1 [b964fa9f] + LaTeXStrings v1.4.0 [2ab3a3ac] + LogExpFunctions v1.0.1 [1914dd2f] + MacroTools v0.5.16 [8c4f8055] + MathOptIIS v0.2.0 [b8f27783] + MathOptInterface v1.51.1 [e1d29d7a] + Missings v1.2.0 [d8a4904e] + MutableArithmetics v1.8.0 [77ba4419] + NaNMath v1.1.4 [925886fa] + OnlineStatsBase v1.7.3 ⌅ [bac558e1] + OrderedCollections v1.8.2 [69de0a69] + Parsers v2.8.6 [2dfb63ee] + PooledArrays v1.4.3 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [08abe8d2] + PrettyTables v3.3.2 [43287f4e] + PtrArrays v1.4.0 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [e5567a89] + SBML v1.6.0 [3e8f9d1a] + SBMLFBCModels v1.1.1 [7e506255] + ScopedValues v1.6.2 [91c51154] + SentinelArrays v1.4.10 [699a6c99] + SimpleTraits v0.9.6 [a2af1166] + SortingAlgorithms v1.2.3 [276daf66] + SpecialFunctions v2.8.0 [860ef19b] + StableRNGs v1.0.4 [90137ffa] + StaticArrays v1.9.18 [1e83bf80] + StaticArraysCore v1.4.4 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.8.0 [2913bbd2] + StatsBase v0.34.12 [892a3eda] + StringManipulation v0.4.4 [ec057cc2] + StructUtils v2.8.2 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.13.0 [3bb67fe8] + TranscodingStreams v0.11.3 [1986cc42] + Unitful v1.28.0 [6e34b625] + Bzip2_jll v1.0.9+0 [8fd58aa0] + HiGHS_jll v1.15.0+0 [94ce4f54] + Libiconv_jll v1.18.0+0 [656ef2d0] + OpenBLAS32_jll v0.3.33+1 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [bb12108a] + SBML_jll v5.21.0+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [0dad84c5] + ArgTools v1.2.0 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [9fa8497b] + Future v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [b27032c2] + LibCURL v1.0.0 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.14.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [a63ad114] + Mmap v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.14.0 [de0858da] + Printf v1.11.0 [3fa0cd96] + REPL v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.0 [8dfed614] + Test v1.11.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.5.5+2 [deac9b47] + LibCURL_jll v8.21.0+0 [e37daf67] + LibGit2_jll v1.9.4+0 [29816b5a] + LibSSH2_jll v1.11.101+0 [14a3606d] + MozillaCACerts_jll v2026.5.14 [4536629a] + OpenBLAS_jll v0.3.33+0 [05823500] + OpenLibm_jll v0.8.7+0 [458c3c95] + OpenSSL_jll v3.5.7+0 [efcefdf7] + PCRE2_jll v10.47.0+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [83775a58] + Zlib_jll v1.3.2+0 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.69.0+0 [3f19e933] + p7zip_jll v17.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 5.59s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling project... 48.2 s ✓ JLD2 33.1 s ✓ COCOA 2 dependencies successfully precompiled in 83 seconds. 134 already precompiled. Precompilation completed after 109.61s ################################################################################ # Testing # Testing COCOA Status `/tmp/jl_qjmB5T/Project.toml` [5a4f3dfa] AbstractFBCModels v1.3.0 [babc4406] COBREXA v2.9.1 [9ecc82ce] COCOA v1.0.0 [5515826b] ConstraintTrees v1.11.1 [a93c6f00] DataFrames v1.8.2 [60bf3e95] GLPK v1.2.1 [87dc4568] HiGHS v1.24.0 [475c1105] JSONFBCModels v1.1.0 [3e8f9d1a] SBMLFBCModels v1.1.1 [8ba89e20] Distributed v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_qjmB5T/Manifest.toml` [5a4f3dfa] AbstractFBCModels v1.3.0 [1520ce14] AbstractTrees v0.4.5 [66dad0bd] AliasTables v1.1.3 [ec485272] ArnoldiMethod v0.4.0 [babc4406] COBREXA v2.9.1 [9ecc82ce] COCOA v1.0.0 [523fee87] CodecBzip2 v0.8.5 [944b1d66] CodecZlib v0.7.8 [861a8166] Combinatorics v1.1.0 [bbf7d656] CommonSubexpressions v0.3.1 [34da2185] Compat v4.18.1 [5515826b] ConstraintTrees v1.11.1 [187b0558] ConstructionBase v1.6.0 [a8cc5b0e] Crayons v4.1.1 [9a962f9c] DataAPI v1.16.0 [a93c6f00] DataFrames v1.8.2 [864edb3b] DataStructures v0.19.5 [e2d170a0] DataValueInterfaces v1.0.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.16.0 [ffbed154] DocStringExtensions v0.9.5 [5789e2e9] FileIO v1.19.0 [f6369f11] ForwardDiff v1.4.1 [60bf3e95] GLPK v1.2.1 [86223c79] Graphs v1.14.0 [076d061b] HashArrayMappedTries v0.2.0 [87dc4568] HiGHS v1.24.0 [615f187c] IfElse v0.1.1 [d25df0c9] Inflate v0.1.5 [842dd82b] InlineStrings v1.4.5 [41ab1584] InvertedIndices v1.3.1 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 ⌅ [033835bb] JLD2 v0.5.15 [692b3bcd] JLLWrappers v1.8.0 [682c06a0] JSON v1.6.1 [475c1105] JSONFBCModels v1.1.0 [4076af6c] JuMP v1.30.1 [b964fa9f] LaTeXStrings v1.4.0 [2ab3a3ac] LogExpFunctions v1.0.1 [1914dd2f] MacroTools v0.5.16 [8c4f8055] MathOptIIS v0.2.0 [b8f27783] MathOptInterface v1.51.1 [e1d29d7a] Missings v1.2.0 [d8a4904e] MutableArithmetics v1.8.0 [77ba4419] NaNMath v1.1.4 [925886fa] OnlineStatsBase v1.7.3 ⌅ [bac558e1] OrderedCollections v1.8.2 [69de0a69] Parsers v2.8.6 [3bbf5609] PikaParser v0.6.1 [2dfb63ee] PooledArrays v1.4.3 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [08abe8d2] PrettyTables v3.3.2 [43287f4e] PtrArrays v1.4.0 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [e5567a89] SBML v1.6.0 [3e8f9d1a] SBMLFBCModels v1.1.1 [7e506255] ScopedValues v1.6.2 [91c51154] SentinelArrays v1.4.10 [699a6c99] SimpleTraits v0.9.6 [a2af1166] SortingAlgorithms v1.2.3 [276daf66] SpecialFunctions v2.8.0 [860ef19b] StableRNGs v1.0.4 [90137ffa] StaticArrays v1.9.18 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.8.0 [2913bbd2] StatsBase v0.34.12 [892a3eda] StringManipulation v0.4.4 [ec057cc2] StructUtils v2.8.2 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.13.0 [3bb67fe8] TranscodingStreams v0.11.3 [1986cc42] Unitful v1.28.0 [6e34b625] Bzip2_jll v1.0.9+0 ⌅ [e8aa6df9] GLPK_jll v5.0.1+1 [8fd58aa0] HiGHS_jll v1.15.0+0 [94ce4f54] Libiconv_jll v1.18.0+0 [656ef2d0] OpenBLAS32_jll v0.3.33+1 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [bb12108a] SBML_jll v5.21.0+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [0dad84c5] ArgTools v1.2.0 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [3fa0cd96] REPL v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.5.5+2 [781609d7] GMP_jll v6.3.0+2 [deac9b47] LibCURL_jll v8.21.0+0 [e37daf67] LibGit2_jll v1.9.4+0 [29816b5a] LibSSH2_jll v1.11.101+0 [14a3606d] MozillaCACerts_jll v2026.5.14 [4536629a] OpenBLAS_jll v0.3.33+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.7+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.69.0+0 [3f19e933] p7zip_jll v17.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Testing EnvZ-OmpR model loading... ✓ Created EnvZ-OmpR model (paper-style) Model has 9 metabolites and 14 reactions ✓ Model is feasible ✓ EnvZ-OmpR model validated Testing kinetic analysis results against paper expectations... Building concordance constraints... ✓ Built canonical concordance constraints Extracting complexes from constraints... ✓ Found 13 complexes ✓ Complex count matches paper expectation: 13 ✓ Incidence matrix dimensions match paper model Testing matrix extraction... ✓ Y matrix: (9, 13), 19 non-zeros ✓ A matrix: (13, 14), 28 non-zeros ✓ Matrix properties match paper: Y(Float64), A(Int64) ✓ Matrix dimensions match expected structure Testing kinetic module structure... ✓ All complexes participate in reactions Comparing constraint-aware vs original extraction... Original extraction: 13 complexes Constraint extraction: 13 complexes ✓ Constraint and model extraction agree on complex count ✓ All kinetic analysis results validated Validating full compliance with kinetic modules paper... EnvZ-OmpR Paper Compliance Checklist: ✓ Model has exactly 9 species (paper) ✓ Model has exactly 14 reactions (paper) ✓ Complex count matches paper (13) ✓ Reaction count in incidence matches paper (14) ✓ Y matrix represents stoichiometric coefficients (Float64) ✓ A matrix represents incidence structure (Integer) ✓ Y matrix has positive values only ✓ A matrix has only ±1 values ✓ Complex activities available ✓ Complexes use real metabolite combinations (not artificial substrate/product) ✓ Constraint-aware extraction agrees with model complex count ✓ Matrix dimensions are consistent Key Results Summary: Species: 9 Reactions: 14 Complexes: 13 Y matrix: (9, 13) A matrix: (13, 14) Reactions in A matrix: 14 ✓ Full paper compliance validated! Testing robust metabolite pairs with structural validation fix... Testing with synthetic Y matrix... Found 1 robust pairs: [("A", "B")] Manual validation: Complex 1 vs 2: qq1=true, qq2=true, qq3=true Vec1: [1.0, 0.0, 1.0, 0.0], Vec2: [0.0, 1.0, 1.0, 0.0] Differences: [1, 2] Additional in Vec1: [3] Additional in Vec2: [3] ✓ Valid robust pair: ("A", "B") Complex 3 vs 4: qq1=true, qq2=false, qq3=false Vec1: [0.0, 1.0, 0.0, 0.0], Vec2: [0.0, 0.0, 0.0, 1.0] Differences: [2, 4] Additional in Vec1: Int64[] Additional in Vec2: Int64[] ✗ Invalid (fails qq conditions) ✓ Correct result: Only (A,B) is robust as expected Testing edge cases... ✓ Edge cases handled correctly ✓ Edge cases handled correctly ✓ Robust metabolite pairs validation complete! Testing end-to-end architecture integration... ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-7 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 8 └ balanced_threshold = 1.0e-7 [ Info: AVA processing complete [00:00:10.377] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.027] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:05.152] [ Info: Building concordance modules [00:00:05.633] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:30.831 ✓ Kinetic analysis successful ✓ End-to-end pipeline successful ✓ Architecture integration validated! Test Summary: | Pass Total Time COCOA.jl - EnvZ-OmpR Paper Validation | 48 48 3m07.1s ┌ Info: Model created successfully │ n_reactions = 14 └ n_metabolites = 9 ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-8 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 9 └ balanced_threshold = 1.0e-8 [ Info: AVA processing complete [00:00:00.273] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.001] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:00.437] [ Info: Building concordance modules [00:00:00.904] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:01.295 ┌ Info: Concordance modules verified │ n_modules = 4 └ balanced_size = 5 ┌ Info: Kinetic modules verified │ n_modules = 5 └ giant_size = 9 ┌ Info: ACR/ACRR identification verified │ n_acr = 1 └ n_acrr = 15 ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-7 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 8 └ balanced_threshold = 1.0e-7 [ Info: AVA processing complete [00:00:00.275] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.001] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:00.42] [ Info: Building concordance modules [00:00:00.836] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:01.236 ┌ Info: Complete pipeline validated │ concordance_modules = 4 └ kinetic_modules = 5 ┌ Info: Mathematical properties verified └ n_metabolites_in_giant = 9 [ Info: Advanced Merging Verified: C2+C3 merged [ Info: Paper Section S.5.2 detailed validation complete ✓ ┌ Info: Structural deficiency verified └ δ = 2 ┌ Info: Initial mass action deficiency bounds └ bounds_initial = (lower = 1, upper = 2, is_exact = false, weakly_reversible = false) ┌ Info: Mass action deficiency after merging └ bounds_after_1_merge = (lower = 1, upper = 1, is_exact = true, weakly_reversible = false) Test Summary: | Pass Total Time EnvZ-OmpR Complete Pipeline | 101 101 12.3s ┌ Info: Deficiency Two Network validation complete │ found_M1 = true │ found_M2 = true └ n_terminals = 5 ┌ Info: Efficient ACR/ACRR verified on Deficiency Two Network └ count_found = 9 Test Summary: | Pass Total Time Deficiency Two Network (Fig S-6) | 7 7 0.4s [ Info: Return type structure verified Test Summary: | Pass Total Time Return Type Structure | 8 8 0.1s ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-7 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 8 └ balanced_threshold = 1.0e-7 [ Info: AVA processing complete [00:00:00.272] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.001] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:00.419] [ Info: Building concordance modules [00:00:00.885] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:01.276 ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-7 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 8 └ balanced_threshold = 1.0e-7 [ Info: AVA processing complete [00:00:00.272] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.001] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:00.468] [ Info: Building concordance modules [00:00:00.857] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:01.247 [ Info: NamedTuple return type tests passed (Layer 1 and Layer 2) Test Summary: | Pass Total Time NamedTuple Return Type (Layer 1 and Layer 2) | 35 35 3.3s ┌ Info: Efficient vs Non-Efficient comparison │ efficient_modules = 7 │ full_modules = 5 └ full_acr = 1 Test Summary: | Pass Total Time Efficient vs Non-Efficient Path Equivalence | 5 5 0.1s [ Info: Backward compatibility verified Test Summary: | Pass Total Time identify_acr_acrr Backward Compatibility | 5 5 0.2s [ Info: Upstream algorithm unit tests passed Test Summary: | Pass Total Time Upstream Algorithm Unit Tests | 5 5 0.1s ┌ Info: Y∆ matrix construction verified └ size = (9, 2) Test Summary: | Pass Total Time Y∆ Matrix Construction | 5 5 0.8s [ Info: Cached column span tests passed Test Summary: | Pass Total Time Cached Column Span | 11 11 0.3s [ Info: In-place BLAS tests passed Test Summary: | Pass Total Time In-Place BLAS is_in_span! | 4 4 0.1s [ Info: Threading safety verified (5 runs identical) Test Summary: | Pass Total Time Threading Safety | 12 12 0.0s [ Info: Edge cases verified Test Summary: | Pass Total Time Edge Cases | 8 8 0.0s [ Info: ACR/ACRR detection logic verified Test Summary: | Pass Total Time ACR/ACRR Detection Correctness | 8 8 0.4s [ Info: Numerical stability verified Test Summary: | Pass Total Time Numerical Stability | 11 11 0.4s ┌ Info: Cached adjacency structure verified └ n_complexes = 13 Test Summary: | Pass Total Time Cached Adjacency Structure | 4 4 0.1s [ Info: Deficiency Two Network detailed tests passed Test Summary: | Pass Total Time Deficiency Two Network Detailed | 6 6 0.0s ┌ Info: Stress test completed │ elapsed_seconds = 0.001 └ n_modules = 7 Test Summary: | Pass Total Time Large Module Stress Test | 2 2 0.1s ┌ Info: Module sorting invariant verified │ sizes = │ 7-element Vector{Int64}: │ 5 │ 2 │ 2 │ 1 │ 1 │ 1 └ 1 Test Summary: | Pass Total Time Module Sorting Invariant | 2 2 0.5s Processing: 9 metabolites, 0 enzymes, 9 reactions Global bounds: [-1000.0, 1000.0] ┌ Info: Mechanism assignment │ total_expandable = 0 │ explicit_random = 0 │ fraction_random = 0 │ total_random = 0 └ ordered = 0 Created 9 elementary reactions, 0 intermediates ┌ Info: Splitting reactions │ reversible = 5 │ pure_backward = 0 └ flip = true ┌ Info: Irreversible conversion complete │ original = 9 │ final = 14 └ added = 5 ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-7 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 8 └ balanced_threshold = 1.0e-7 [ Info: AVA processing complete [00:00:00.279] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.001] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:00.4] [ Info: Building concordance modules [00:00:00.887] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:01.307 ┌ Info: Starting concordance analysis │ n_workers = 1 │ concordance_tolerance = 0.01 │ balanced_threshold = 1.0e-7 │ cv_threshold = 0.01 │ sample_size = 1000 │ use_unidirectional_constraints = false └ batch_size = 50000 [ Info: Building Y matrix for trivial relationship detection ┌ Info: Model statistics │ n_complexes = 13 │ n_reactions = 14 └ n_metabolites = 9 [ Info: Finding trivially balanced complexes ┌ Info: Found trivially balanced complexes └ n_trivivally_balanced = 3 [ Info: Finding trivially concordant pairs ┌ Info: Found trivially concordant pairs └ n_trivially_concordant = 2 ┌ Info: Running Activity Variability Analysis (AVA) │ ava_digits = 8 └ balanced_threshold = 1.0e-7 [ Info: AVA processing complete [00:00:00.279] ┌ Info: Complex classification │ balanced = 5 │ trivially_balanced = 3 │ positive = 4 │ negative = 4 └ unrestricted = 0 [ Info: Generating candidate pairs via coefficient of variance... ┌ Info: Sampling schedule │ cv_threshold = 0.01 └ decimals = 3 ┌ Info: Sampling configuration │ n_chains = 1 │ n_starting_points = 1000 │ n_iterations_to_collect = 1 │ n_burnin = 50 │ spacing = 1 │ target = 1000 │ expected = 1000 └ warmup_size = 26 ┌ Info: Starting point composition │ center_points = 1 │ random_combinations = 999 └ total = 1000 [ Info: Sampling... ┌ Info: Sampling complete. └ n_samples_collected = 1000 [ Info: Creating chunked streaming filter for memory-efficient processing... ┌ Info: Using fixed batch size │ batch_size = 50000 └ n_complexes = 13 [ Info: Direct streaming filter created [ Info: Processing concordance tests with direct streaming (deterministic batch processing) ┌ Info: Progress tracking initialized │ n_complexes = 13 │ n_balanced = 5 │ n_unbalanced = 8 │ n_trivial = 2 │ total_possible_pairs = 78 └ expected_candidates = 26 [ Info: Using fixed batch size: 50000 candidates per batch [ Info: Collecting candidates from streaming filter... ┌ Info: Batch 1: 6 candidates collected [00:00:00.001] (78/78 = 100.0% examined) └ [Candidates: 6, Filtered - CV: 20, Known: concordant: 0 non-concordant: 0, Trivial: 2, Balanced: 50] [ Info: Batch 1: 6 optimized → 6 concordant, 0 non-concordant [00:00:00.449] [ Info: Building concordance modules [00:00:00.809] [ Info: Building complete concordance matrix with all relationships ┌ Info: Concordant pairs added from modules │ concordant_pairs_added = 6 └ total_trivial_skipped = 2 ┌ Info: Matrix construction debug │ total_entries = 13 └ unique_positions = 13 ┌ Info: Sparse matrix created │ nnz = 13 │ count_1s = 6 │ count_2s = 2 │ count_3s = 2 └ count_4s = 3 [ Info: Concordance analysis complete [ Info: Total concordant pairs: 8 [ Info: Breakdown: 6 from optimization, 2 inferred, 2 trivial [ Info: Processing: 6 candidates, 0 filtered by transitivity [ Info: Elapsed time: 00:00:01.209 Test Summary: | Pass Total Time Preprocessing Pipeline Equivalence | 12 12 19.9s Testing COCOA tests passed Testing completed after 278.39s PkgEval succeeded after 443.43s