-
Notifications
You must be signed in to change notification settings - Fork 1
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
Stop using odgi's Python bindings in calyx_depth.py
#116
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.
Awesome; this is great!! Assuming it works, this will be a very useful simplification, for the reasons discussed in #107.
pollen_py/pollen/depth/parse_data.py
Outdated
@@ -274,19 +285,19 @@ def config_parser(parser): | |||
|
|||
def run(args): | |||
if args.from_verilog or args.from_interp: | |||
with open(filename, "r") as fp: |
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.
@susan-garry I'm confused as to how this filename
thing ever worked. Does args.filename
do the trick, or is there a deeper issue?
@susan-garry I need to get on a synchronous call with you to figure out the symlink situation here. I've been trying for a little bit to pass If you'd like to tinker on your own, check out this branch and run |
Hmm; I get a somewhat different set of errors when trying this out. To narrow in on a specific test, I ran:
That is, the odgi environment works fine, and we crash with a somewhat mysterious error. That problem comes from here:
Because |
Ah I had that right in one spot but wrong in another. Thanks! Fixed! Now we have a different set of issues, having to do with all the other uses of odgi-ey stuff that are in the file but are not used by
I would love a confirmation on this, but as I understand it, these are used to create a .data representation of the given graph, but are not used by I'm unsure about how to proceed. Truly removing odgi from
The result is that
|
This looks approximately correct to me, in the sense that the bulk of this happens in In my ideal imagination of how this works, there are two parts of this Calyx-accelerator implementation:
Maybe @susan-garry could confirm whether this is the goal, or if something major prevents this idea from being possible?
For the scope of this PR, let's just do this! That is, let's make the Calyx-generation thing odgi-free. The data-converter thing will remain odgi-dependent. Then we can tackle that in a future PR. Does this make sense, @anshumanmohan? One silly question I have about this, however: I had it in my head that your new |
Great, all makes sense! Yes,
|
Cool. IMO let's not worry too much about speed—both tools are in the "slow" category because they are primarily in Python (while |
I have reverted all my changes to This PR is now, in theory, dead simple. What remains is a spot of
I have chatted with @susan-garry and we have a plan: she will take on the |
parse_data.py
calyx_depth.py
@susan-garry while this PR no longer closes #107 (it goes most of the way, but we also need #147 and #148), it does fully close #137, no? If so, please feel free to link it using the Development panel on the right and then merge! |
Instead of taking the input graph and parsing as an odgi graph, I instead parse it as a GFA. Then, instead of using odgi to grab simple statistics such as the number of nodes, paths, and the most steps in a given path, I use a method in
preprocess
.See this PR's sibling issues:
These changes are with an eye to #107.