Skip to content

Commit

Permalink
Update dependencies, prepare tag
Browse files Browse the repository at this point in the history
  • Loading branch information
jtackm committed May 20, 2022
1 parent 67f44c4 commit cbee0e0
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 20 deletions.
6 changes: 3 additions & 3 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

- no changes thus far

# v0.18.2 (latest)
# v0.19.0 (latest)

### general

- add support for shared-memory OTU tables (sparse and dense), invoked via the `share_data` flag in `learn_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

### bug fixes

- fix numerical edge case for recursive partial correlations, improve speed and edge case behaviour for non-recursive partial correlations
- fix numerical edge case for recursive partial correlations
- fix handling of variables with no absences when `heterogeneous=true`


# v0.18.1

### bug fixes
Expand Down
10 changes: 5 additions & 5 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ keywords = ["metagenomics", "microbiome", "probabilistic-graphical-models", "hig
license = "GPL-3.0"
desc = "Inference of microbial interaction networks from large-scale heterogeneous abundance data"
authors = ["Janko Tackmann <[email protected]>"]
version = "0.18.1"
version = "0.19.0"

[deps]
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
Expand All @@ -17,7 +17,7 @@ FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d"
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SharedArrays = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
Expand All @@ -31,13 +31,13 @@ Combinatorics = "0.7, 1"
DataStructures = "0.17, 0.18"
Distributions = "0.21, 0.22, 0.23, 0.24, 0.25"
FileIO = "1, 1.1, 1.2, 1.3, 1.4, 1.11"
HDF5 = "0.12, 0.13, 0.15"
HDF5 = "0.12, 0.13, 0.15, 0.16"
JLD2 = "0.2, 0.3, 0.4"
JSON = "0.21"
LightGraphs = "1, 1.1, 1.2, 1.3"
Graphs = "1, 1.6"
SimpleWeightedGraphs = "1, 1.1, 1.2"
StatsBase = "0.32, 0.33"
julia = "1.2"
julia = "1.6"
StableRNGs = "1"

[extras]
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ To install Julia, please follow instructions on https://github.com/JuliaLang/jul
In an interactive Julia session, you can then install FlashWeave after typing `]` via

```julia
(v1.2) pkg> add FlashWeave
# to run tests: (v1.2) pkg> test FlashWeave
(@v1.6) pkg> add FlashWeave
# to run tests: (@v1.6) pkg> test FlashWeave
```

**Important note: from version 0.17, FlashWeave dropped support for Julia versions < 1.2. If you want to use FlashWeave with older Julia installations, make sure to install FlashWeave 0.16.0 (or lower) via `]` + `add FlashWeave@0.16.0`.**
**Important note: from version 0.19, FlashWeave dropped support for Julia versions < 1.6 (the new LTS version). If you want to use FlashWeave with older Julia installations, make sure to install FlashWeave 0.18.1 (or lower) via `]` + `add FlashWeave@0.18`.**

## Latest changes ##

Expand Down
2 changes: 1 addition & 1 deletion src/FlashWeave.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ using SharedArrays, LinearAlgebra, Dates

# data structures
using DataStructures
using LightGraphs, SimpleWeightedGraphs
using Graphs, SimpleWeightedGraphs
import SimpleWeightedGraphs: nv, edges, ne, vertices

# statistics
Expand Down
6 changes: 3 additions & 3 deletions src/interleaved.jl
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ function interleaved_backend(target_vars::AbstractVector{Int}, data::AbstractMat
println("\nTime passed: ", Int(round(curr_time - start_time)), ". Finished nodes: ", length(target_vars) - remaining_jobs, ". Remaining nodes: ", remaining_jobs)

if check_convergence
println("Convergence times: $last_conv_time $(curr_time - last_conv_time - start_time) $((curr_time - last_conv_time - start_time) / last_conv_time) $(LightGraphs.ne(graph) - last_conv_num_edges)")
println("Convergence times: $last_conv_time $(curr_time - last_conv_time - start_time) $((curr_time - last_conv_time - start_time) / last_conv_time) $(Graphs.ne(graph) - last_conv_num_edges)")
end

print_network_stats(graph)
Expand All @@ -204,15 +204,15 @@ function interleaved_backend(target_vars::AbstractVector{Int}, data::AbstractMat
if !check_convergence && remaining_jobs / jobs_total <= conv_check_start
check_convergence = true
global last_conv_time = curr_time - start_time
global last_conv_num_edges = LightGraphs.ne(graph)
global last_conv_num_edges = Graphs.ne(graph)

verbose && println("Starting convergence checks at $last_conv_num_edges edges.")

elseif check_convergence
delta_time = (curr_time - start_time - last_conv_time) / last_conv_time

if delta_time > conv_time_step
new_num_edges = LightGraphs.ne(graph)
new_num_edges = Graphs.ne(graph)
delta_num_edges = (new_num_edges - last_conv_num_edges) / last_conv_num_edges
conv_level = delta_num_edges / delta_time

Expand Down
8 changes: 4 additions & 4 deletions src/misc.jl
Original file line number Diff line number Diff line change
Expand Up @@ -185,12 +185,12 @@ function level_map!(Zs::NTuple{N,T} where {N,T<:Integer}, data::AbstractMatrix{E
end


function print_network_stats(graph::LightGraphs.Graph)
n_nodes = LightGraphs.nv(graph)
n_edges = LightGraphs.ne(graph)
function print_network_stats(graph::Graphs.Graph)
n_nodes = Graphs.nv(graph)
n_edges = Graphs.ne(graph)
println("Current nodes/edges: $n_nodes / $n_edges")
println("Degree stats:")
deg = LightGraphs.degree(graph)
deg = Graphs.degree(graph)
println(summarystats(deg))
deg_median = median(deg)
if deg_median > n_nodes/4
Expand Down
2 changes: 1 addition & 1 deletion test/learning.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using FlashWeave
using Test, Random, StableRNGs
using SimpleWeightedGraphs
using LightGraphs
using Graphs
using SparseArrays, DelimitedFiles, Statistics, Distributed, Logging
import SimpleWeightedGraphs: nv, edges, ne, vertices, neighbors

Expand Down

2 comments on commit cbee0e0

@jtackm
Copy link
Member Author

@jtackm jtackm commented on cbee0e0 May 20, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/60623

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.19.0 -m "<description of version>" cbee0e07293b4908a03a0a532978924feb339839
git push origin v0.19.0

Please sign in to comment.