Package evaluation to test COCOA on Julia 1.14.0-DEV.2114 (cccbcd9611*) started at 2026-05-05T15:29:15.332 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 14.35s ################################################################################ # 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.0 [187b0558] + ConstructionBase v1.6.0 [a8cc5b0e] + Crayons v4.1.1 [9a962f9c] + DataAPI v1.16.0 [a93c6f00] + DataFrames v1.8.2 ⌅ [864edb3b] + DataStructures v0.18.22 [e2d170a0] + DataValueInterfaces v1.0.0 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.15.1 [ffbed154] + DocStringExtensions v0.9.5 [5789e2e9] + FileIO v1.19.0 [f6369f11] + ForwardDiff v1.3.3 ⌃ [86223c79] + Graphs v1.13.1 [076d061b] + HashArrayMappedTries v0.2.0 [87dc4568] + HiGHS v1.23.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.7.1 [682c06a0] + JSON v1.5.2 [4076af6c] + JuMP v1.30.1 [b964fa9f] + LaTeXStrings v1.4.0 [2ab3a3ac] + LogExpFunctions v0.3.29 [1914dd2f] + MacroTools v0.5.16 [8c4f8055] + MathOptIIS v0.2.0 [b8f27783] + MathOptInterface v1.51.0 [e1d29d7a] + Missings v1.2.0 [d8a4904e] + MutableArithmetics v1.7.1 [77ba4419] + NaNMath v1.1.3 [925886fa] + OnlineStatsBase v1.7.1 [bac558e1] + OrderedCollections v1.8.1 [69de0a69] + Parsers v2.8.4 [2dfb63ee] + PooledArrays v1.4.3 [aea7be01] + PrecompileTools v1.3.3 [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.9 [699a6c99] + SimpleTraits v0.9.5 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.7.2 [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.10 [892a3eda] + StringManipulation v0.4.4 [ec057cc2] + StructUtils v2.8.1 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.12.1 [3bb67fe8] + TranscodingStreams v0.11.3 [1986cc42] + Unitful v1.28.0 [6e34b625] + Bzip2_jll v1.0.9+0 [8fd58aa0] + HiGHS_jll v1.14.0+0 [94ce4f54] + Libiconv_jll v1.18.0+0 [656ef2d0] + OpenBLAS32_jll v0.3.33+0 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [bb12108a] + SBML_jll v5.21.0+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [0dad84c5] + ArgTools v1.1.2 [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.13.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.0.0 [9e88b42a] + Serialization v1.11.0 [1a1011a3] + SharedArrays 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.1+0 [deac9b47] + LibCURL_jll v8.19.0+0 [e37daf67] + LibGit2_jll v1.9.2+0 [29816b5a] + LibSSH2_jll v1.11.3+1 [14a3606d] + MozillaCACerts_jll v2026.3.19 [4536629a] + OpenBLAS_jll v0.3.33+0 [05823500] + OpenLibm_jll v0.8.7+0 [458c3c95] + OpenSSL_jll v3.5.6+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 ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m` Installation completed after 5.77s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... ┌ Warning: Could not use exact versions of packages in manifest, re-resolving └ @ TestEnv ~/.julia/packages/TestEnv/RUPmD/src/julia-1.13/activate_set.jl:78 Precompiling package dependencies... Precompiling project... 33.0 s ✓ COCOA 1 dependency successfully precompiled in 35 seconds. 133 already precompiled. Precompilation completed after 63.45s ################################################################################ # Testing # Testing COCOA Test Could not use exact versions of packages in manifest, re-resolving. Note: if you do not check your manifest file into source control, then you can probably ignore this message. However, if you do check your manifest file into source control, then you probably want to pass the `allow_reresolve = false` kwarg when calling the `Pkg.test` function. Updating `/tmp/jl_vw1C8Q/Project.toml` [60bf3e95] + GLPK v1.2.1 [475c1105] + JSONFBCModels v1.0.1 Updating `/tmp/jl_vw1C8Q/Manifest.toml` [60bf3e95] + GLPK v1.2.1 ⌅ [682c06a0] ↓ JSON v1.5.2 ⇒ v0.21.4 [475c1105] + JSONFBCModels v1.0.1 [3bbf5609] + PikaParser v0.6.1 [ec057cc2] - StructUtils v2.8.1 [e8aa6df9] + GLPK_jll v5.0.1+1 [781609d7] + GMP_jll v6.3.0+2 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Test Successfully re-resolved Status `/tmp/jl_vw1C8Q/Project.toml` [5a4f3dfa] AbstractFBCModels v1.3.0 [babc4406] COBREXA v2.9.1 [9ecc82ce] COCOA v1.0.0 [5515826b] ConstraintTrees v1.11.0 [a93c6f00] DataFrames v1.8.2 [60bf3e95] GLPK v1.2.1 [87dc4568] HiGHS v1.23.0 [475c1105] JSONFBCModels v1.0.1 [3e8f9d1a] SBMLFBCModels v1.1.1 [8ba89e20] Distributed v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_vw1C8Q/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.0 [187b0558] ConstructionBase v1.6.0 [a8cc5b0e] Crayons v4.1.1 [9a962f9c] DataAPI v1.16.0 [a93c6f00] DataFrames v1.8.2 ⌅ [864edb3b] DataStructures v0.18.22 [e2d170a0] DataValueInterfaces v1.0.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [ffbed154] DocStringExtensions v0.9.5 [5789e2e9] FileIO v1.19.0 [f6369f11] ForwardDiff v1.3.3 [60bf3e95] GLPK v1.2.1 ⌃ [86223c79] Graphs v1.13.1 [076d061b] HashArrayMappedTries v0.2.0 [87dc4568] HiGHS v1.23.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.7.1 ⌅ [682c06a0] JSON v0.21.4 [475c1105] JSONFBCModels v1.0.1 [4076af6c] JuMP v1.30.1 [b964fa9f] LaTeXStrings v1.4.0 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [8c4f8055] MathOptIIS v0.2.0 [b8f27783] MathOptInterface v1.51.0 [e1d29d7a] Missings v1.2.0 [d8a4904e] MutableArithmetics v1.7.1 [77ba4419] NaNMath v1.1.3 [925886fa] OnlineStatsBase v1.7.1 [bac558e1] OrderedCollections v1.8.1 [69de0a69] Parsers v2.8.4 [3bbf5609] PikaParser v0.6.1 [2dfb63ee] PooledArrays v1.4.3 [aea7be01] PrecompileTools v1.3.3 [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.9 [699a6c99] SimpleTraits v0.9.5 [a2af1166] SortingAlgorithms v1.2.2 [276daf66] SpecialFunctions v2.7.2 [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.10 [892a3eda] StringManipulation v0.4.4 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [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.14.0+0 [94ce4f54] Libiconv_jll v1.18.0+0 [656ef2d0] OpenBLAS32_jll v0.3.33+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [bb12108a] SBML_jll v5.21.0+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [0dad84c5] ArgTools v1.1.2 [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.13.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.0.0 [9e88b42a] Serialization v1.11.0 [1a1011a3] SharedArrays 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.1+0 [781609d7] GMP_jll v6.3.0+2 [deac9b47] LibCURL_jll v8.19.0+0 [e37daf67] LibGit2_jll v1.9.2+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2026.3.19 [4536629a] OpenBLAS_jll v0.3.33+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.6+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 ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints 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.133] ┌ 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.021] (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:04.722] [ Info: Building concordance modules [00:00:05.66] [ 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.323 ✓ Kinetic analysis successful ✓ End-to-end pipeline successful ✓ Architecture integration validated! Test Summary: | Pass Total Time COCOA.jl - EnvZ-OmpR Paper Validation | 48 48 2m59.2s ┌ 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.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.528] [ Info: Building concordance modules [00:00:01.44] [ 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.852 ┌ 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.276] ┌ 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.0] (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.526] [ Info: Building concordance modules [00:00:01.354] [ 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.746 ┌ 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 13.2s ┌ 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.3s [ 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.277] ┌ 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.506] [ Info: Building concordance modules [00:00:01.394] [ 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.788 ┌ 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.277] ┌ 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.534] [ Info: Building concordance modules [00:00:01.384] [ 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.779 [ 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 4.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.0s [ 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.2s [ 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.5s [ 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.0s ┌ 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.289] ┌ 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.446] [ Info: Building concordance modules [00:00:01.45] [ 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.889 ┌ 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.271] ┌ 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.523] [ Info: Building concordance modules [00:00:01.358] [ 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.747 Test Summary: | Pass Total Time Preprocessing Pipeline Equivalence | 12 12 21.4s Testing COCOA tests passed Testing completed after 277.69s PkgEval succeeded after 397.44s