- strongly speed-up contingency table computation for heterogeneous=true and max_k=0/1
- use the more compiler-friendly
stack
(introduced in Julia v1.9) instead ofhcat
for large numbers of columns (if available), introduce fast method for sparse columns - improve univariate pvalue filtering
- remove performance bottleneck in three-way
adjust_df
- catch incorrect usage of 'meta_data_path' as keyword argument
- force
si_HITON_PC
to remove non-significant univariate candidates earlier - fix edge case where direct usage of the unexposed sparse processing engine could lead to infinite loops
- fix SparseArrays incompatibility (surfaced by julia v1.9)
- expose experimental keyword arguments within
learn_network
for easier testing (subject to change, syntax/functionality should not be relied upon)
- fix dependency issue with [email protected]
- add support for shared-memory OTU tables (sparse and dense), invoked via the
share_data
flag inlearn_network
- improve speed and edge case behaviour for non-recursive partial correlations
- improve freeing of memory (in particular on parallel workers) between major network inference steps
- improve error reporting on parallel workers
- fix numerical edge case for recursive partial correlations
- fix handling of variables with no absences when
heterogeneous=true
- add hotfix for irregular breaking changes in SimpleWeightedGraphs.jl
- fix bug that prevented adaptive_clr from correctly propagating samples that were dropped due to numerical edge cases (thanks @jonasjonker for reporting)
fast_elim
flag now also exposed vialearn_network
- fixed documentation for
save_network
/load_network
to drop outdated .tsv/.csv mention (thanks @ARW-UBT for reporting) - update dependency versions
- fix bug that prevented combining sparse .biom data with non-numeric meta data (issue #20, thanks @ARW-UBT for reporting)
- Julia versions < 1.2 are no longer supported; this change was necessary for the interleaved parallelism overhaul in this version
- the interleaved parallelism backend got fixed to properly support changes introduced in Julia 1.2; it now runs more stably and features better error reporting
- fixed occasional hangs when computing networks in parallel via the interleaved mode (issue #9)
- add explicit parallelism flag (
parallel_mode
) tolearn_network
to avoid having to remove workers when switching from multi-core to single-core computations - improve error messages in several places
- fix edge case in bin filtering: variables w/o zero entries are now retained and properly discretized
- ensure that
meta_mask
is a properBitVector
inlearn_network
andnormalize_data
- improve sign determination for conditional mutual information tests
- remove jld2 support due to stability issues
- categorical meta data elements must now include non-numeric characters to ensure dintinguishability from continuous columns
- fix bug in
read_edgelist
where files with unconnected nodes at high header positions could not be read - fix bug where continuous variables were sometimes one-hot encoded (thanks @pbelmann for reporting)
- fix bug where zero weights were assigned to highly associated variable pairs in rare cases (thanks @Mortomoto for reporting)
- fix bug that could lead to the first data column being parsed as row identifiers if it had no duplicate entries
- fix
save_network
withdetailed=true
not producing output in the latest version (thanks @pbelmann for reporting)
- allow string factors in meta data
- make one-hot encoding the default for meta data variables with more than two categories, this avoids unreliable tests and improves interpretability (can be switched off with "make_onehot = false")
- improve support for continuous meta data variables when using "fast=true"
- support numeric OTU identifiers
- fix Travis CI osx handling
- fix stdlib dependency issue
- make Travis CI handle osx (fix HDF5 compilation)
- remove several unmaintained backend options (temporary output, AND rule, pvalue weights)
- make adaptive CLR normalized matrices always dense to avoid inefficiencies
- drop samples with adaptive pseudo-counts below machine precision for now
- fix meta_mask bug in data normalization
- fix performance regression in CLR transform of sparse matrices