-
Couldn't load subscription status.
- Fork 79
Artifact lineage #1577
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
Artifact lineage #1577
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the if statement below, edge_list here should be optional and set to None by default in the function definition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, the if statement is specifically for the case in which the list is empty, but it is not an optional parameter.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, can you add a note to that effect? That was not clear from the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
|
Couple comments |
|
One more observation: has this been tested for raw data or others that can possibly be shared with multiple prep templates? What happens if I have a raw data containing artifact that is shared with 3 prep templates, and then call |
|
Artifacts can't be shared between studies. |
|
Ah, the ability to use the same Raw Data between multiple studies is gone? Cool. |
|
Yeah, after seeing how the people work with the system, we realize that sharing "raw data" is not useful, as usually you have to modify it by either adding more lanes or removing some existing lanes. In the new interface, however, we should allow users to import the files from the other raw data objects, but not the raw data object itself. Does it make sense? I was planning on doing that on my last PR, but the amount of interface changes needed were not worth given the refactor that you're currently doing. BTW, comments addressed. |
qiita_db/artifact.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is for the case when the list is empty, this should probably be set to check that. Right now anything can be passed as the edge_list and it will just return the single node graph.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you elaborate? this is the pythonic way of testing if a list is empty or not.
|
👍 assuming tests pass. |
|
@mortonjt @ElDeveloper @antgonza available for a review in here? |
|
👍 waiting for tests ... |
|
tests are good, merging. |
This PR adds methods to retrieve all the ancestors and descendants of a given artifact represented in a networkx directed graph in which the nodes are the artifacts themselves.
This is needed for the interface changes that @squirrelo is working on as well as for being able to propagate the status of the artifacts.