-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hetio v0.2.3 breaks integration code #10
Comments
Eek. Okay I'll look into this. Sorry! |
The easy way might be to modify hetio so that if the node or edge already exists in the network, then the code just skips adding that node/edge again. This would probably be easier than modifying all of the integrate code to use |
@veleritas as you suspected, d32ba2a adds a check for duplicate edge additions. However, duplicate nodes additions previously threw an error. I was surprised when I looked through the code and saw that duplicate edges were allowed to be added. I definitely think attempting to add a duplicate edge should throw an error... allowing additions of duplicates edges will almost certainly lead to a host of other bugs and confusing behaviors down the road.
I'd rather implement these checks or error handing in
Hopefully, I can identify a solution that:
I'm thinking that in the past when a duplicate edge was added, it would essentially overwrite the existing edge. So I'm crossing my fingers that |
See hetio/hetnetpy#10 Hetnet output different. Not yet tracked, pending investigation.
Here's the situation we're dealing with. The following issues exposed by d32ba2a cause changes to the hetnet:
I believe, these changes will affect the hetnet compared to Hetionet v1.0. This is because previously the self-loops of bidirectional edges would be considered inverted and therefore not get exported. d32ba2a added support for self loops. The following issues exposed by d32ba2a do not cause changes to the hetnet:
These issues became apparent due to the duplicate edge checking added in d32ba2a. I currently believe these fixes will not affect the hetnet compared to Hetionet v1.0. I'm still investigating the issue. |
Effect on Project Rephetiod32ba2a enabled bidirectional self-loops in Therefore I think it's best to filter self-loops in @veleritas I implement a fix in dhimmel/integrate#12. If you adopt the changes where you're tagged, you should be able to use |
I think there's nothing outstanding on this issue, so I'll close. Happy to reopen if it's still active. |
Hi Daniel,
Just wanted to note that the new assertions you added into v0.2.3 about whether a node or edge have already been integrated into the network breaks earlier code in the
integrate
repository.Looking at the blame for
hetnet.py
shows that those assertion lines were added only 21 days ago with commit d32ba2a, and are therefore very recent (I wasn't having these problems before).For now I've just commented out the cells which add edges which already exist in the network, but I just wanted you to know that
dhimmel/integrate/integrate.ipynb
won't run directly anymore with the latesthetio
release.The text was updated successfully, but these errors were encountered: