Skip to content
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

slow-odgi: points of divergence and confusion #32

Closed
8 tasks done
anshumanmohan opened this issue Apr 5, 2023 · 6 comments
Closed
8 tasks done

slow-odgi: points of divergence and confusion #32

anshumanmohan opened this issue Apr 5, 2023 · 6 comments
Milestone

Comments

@anshumanmohan
Copy link
Contributor

anshumanmohan commented Apr 5, 2023

  • Match odgi flip behavior.
    This could come from changes on our end, or by triggering further changes in odgi's code or spec.
    Basically I think there is still a bug in odgi flip. Andrea made a fix for me, and this helped in one spot, but introduced an issue elsewhere. See here if curious.

  • Figure out odgi inject.

    • Understand it.
      I can't recreate the stated behavior of odgi inject even for trivial requests. I have asked on Matrix; see here.
    • Support it in slow-odgi.
  • Check with Andrea et al if odgi overlap is coded up correctly.
    I can recreate the behavior of odgi overlap, but I think they mean to calculate something more subtle and in fact have a bug. I have asked on Matrix; see here.

  • Figure out what's going on in odgi groom. See this comment if you're curious.

    • Make a minimal example.
    • Ask about it on Matrix.
@anshumanmohan
Copy link
Contributor Author

anshumanmohan commented Apr 5, 2023

Updates:

  • Got some clarity re: odgi inject. Will just get it done quickly.
  • Also got some clarity re: odgi overlap, but this has led to a new question: how to issue nontrivial flavors of this command?

@sampsyo
Copy link
Collaborator

sampsyo commented Apr 5, 2023

Wow! Thank you for centralizing this "tracking" issue for understanding the bits of odgi we are currently confused about! This will be really useful to have.

This is very superficial and process-related, but one useful thing to do in this kind of GitHub issue is to edit the issue description to have checkboxes, like this:

  • match odgi flip behavior
  • figure out what's going on with odgi groom

This way, it's easy to see that, when all the checkboxes are checked, the issue is done. It's like a little mini progress meter within the scope of a tracking issue.

@anshumanmohan
Copy link
Contributor Author

I finally understand how to invoke odgi overlap in interesting ways! A basic invocation is correctly replicated already and that's been merged in, but at some point I'll flesh it out some more.

Here's the deal.

Say I have a graph:

S 1 ATGC...(* a seq of length 90 *)
S 2 ATGC...(* a seq of length 10 *)
S 3 ATGC...(* a seq of length 90 *)
P x 1+,2+
P y 2+,3+
L ... (* nothing special *)

If I query overlap with just the names of the paths, i.e. with flag -R and the file

x
y

I'll get that x overlaps with y and y with x. Fine.

The more interesting query is to specify ranges within the query path. So, for example:

  • "path x, start 0, end 50" will not return y;
  • "path x, start 0, end 100" will;
  • "path x, start 92, end 95" will as well.

The way to specify these ranges is via a special kind of BED file, a little different from the kind we have generated previously using flatten. So I'd run overlap with the -b flag and the following file.

x    0    30

@anshumanmohan
Copy link
Contributor Author

I have pushed a minimal example of groom in action here: 6c361b2

@anshumanmohan
Copy link
Contributor Author

Asked about groom on Matrix. See here if curious!

@anshumanmohan
Copy link
Contributor Author

I'm assuming that slow-odgi flip will not converge with odgi flip in the next few days, so I've checked it off here and moved it to #46, the parking lot for the next version. See there for more details!

This was referenced Apr 14, 2023
@anshumanmohan anshumanmohan added this to the slow-odgi 0.1 milestone Apr 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants