Moving our package under EcoJulia organisation #1
Replies: 7 comments 15 replies
-
Hi @ismael-lajaaiti thanks for this! This looks very interesting. Sorry for responding late - we're a bit snowed under right at the moment (unfortunately every member of this organisation is currently a university prof, with corresponding workload). The only real procedure or terms is that we try to make the packages within ecojulia interoperable, if possible. I haven't looked carefully enough, but the procedure would be to see if this could use abstractions from EcoBase (or add further useful abstractions to that), so that we don't have too many reimplementations of the same underlying object (e.g. a species) in the same org. Thoughts? |
Beta Was this translation helpful? Give feedback.
-
Hi @mkborregaard, thank you for your answer. We have looked at the packages within EcoJulia. We found that our package could interoperate well with How does this sound to you? |
Beta Was this translation helpful? Give feedback.
-
Hi @ismael-lajaaiti - just to let you know that I have read this conversation. Unfortunately I have a grant ending on Monday and then its final report due on 15th October, and so I've not had time to look at your package yet, but it sounds cool. I will have time free from 16th though, so apologies for the hopeless speed of comms till then! However, as the maintainer of Diversity.jl, I'm glad to hear that you think your package would be able to interoperate with it. The simplest way of doing that would be to use EcoBase.jl - inherit from Anyway, creating the interface isn't that complicated, and I'd be happy to have a chat about it - this is basically the whole thing for Diversity.jl. |
Beta Was this translation helpful? Give feedback.
-
Hello @richardreeve! First, I apologise for the delay in responding—these past few weeks have been a bit intense on my end as well. I took a look at the AbstractAssemblage from EcoBase.jl, and it seems to be more oriented toward spatially explicit communities. However, in our package, we model spatially implicit communities. Specifically, we represent communities as networks (or graphs), where nodes represent species and edges represent interactions between species (such as predation, competition, or facilitation). As a result, I’m not sure how such a representation would translate to an AbstractAssemblage. Do you have any suggestions? To clarify, what I initially had in mind was a more superficial—but still useful—interaction between our packages. Something along the lines of the following # Simulate a community until equilibrium with our package.
using EcologicalNetworksDynamics
foodweb = Foodweb(:niche; S = 10, C = 0.2)
model = default_model(foodweb)
sol = simulate(model, rand(10), 1_000)
# Analyse the final community state with Diversity.jl.
using Diversity
hillnumber(sol[end])
simpson(sol[end])
# ... Let me know what you think. |
Beta Was this translation helpful? Give feedback.
-
@ismael-lajaaiti I noticed that the package depends on @tpoisot 's mangal package but not on https://github.com/PoisotLab/SpeciesInteractionNetworks.jl . Can you say something about the relationship between the packages? In my view any thoughts given to interoperability is good. We don't need to shoehorn everything into the EcoBase framework if it does not fit, and EcoBase could also be expanded if needed. EcoBase is not spatially explicit as such though. Do you mean that your networks can be both actual communities and meta-networks where species do not necessarily cooccur? In that case I would think that a real community would be a single location in an AbstractAssemblage, and a meta-network would correspond to an AbstractAssemblage with multiple sites? |
Beta Was this translation helpful? Give feedback.
-
Regarding Mangal, that's an oversight. We do have Mangal in our dependencies, but we do not yet provide any convert function to transform Mangal networks into EcologicalNetworksDynamics networks. Additionally, we should implement the same functionality for SpeciesInteractionNetworks. From what I understand, this package is still under active development, but in the long term, we should be able to convert network objects between the two packages. This would allow, for example, direct analysis of the structure of a food web assembled through EcologicalNetworksDynamics - which I think would be of great use. @tpoisot, I would be happy to discuss the best way to proceed. |
Beta Was this translation helpful? Give feedback.
-
Hi @ismael-lajaaiti - I agree with @mkborregaard that AbstractAssemblage does not require locations. An assemblage contains one or more places - AbstractPlaces - which can be points or grids if you have location data, but don't have to be - you just have a subtype of |
Beta Was this translation helpful? Give feedback.
-
Hello,
I am one of the core developers of EcologicalNetworksDynamics.jl. For administrative reasons, we have to change the organisation of our package. Therefore, we were considering whether it would be possible to move our package under the EcoJulia organisation as it seems to be a natural fit for our package. Would it be possible? And if so, what would the procedure be?
Let me know if you need more information.
Thank you for your help.
Beta Was this translation helpful? Give feedback.
All reactions