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

Flip Hybrid Edge Move #139

Merged
merged 49 commits into from
Oct 23, 2020
Merged

Flip Hybrid Edge Move #139

merged 49 commits into from
Oct 23, 2020

Conversation

coraallensavietta
Copy link
Collaborator

@coraallensavietta coraallensavietta commented Sep 8, 2020

  • add new structure optimization move to flip a hybrid edge's direction with careful attention to new root selection if hybrid edge to flip is below the root

drafting user tutorial

increase add hybrid moves, decrease delete hybrid moves

more info on site variability
…bing nnistotruenet to catch places where the true net has a lower loglik.
@coraallensavietta coraallensavietta marked this pull request as ready for review October 13, 2020 19:21
@cecileane
Copy link
Member

cecileane commented Oct 13, 2020

Did you mean to commit the files examples/h1*? examples/h1_net.fasta is quite large (for an example file --not for a true data file). If this is for the manual, are you sure it's not too large to run fast?

@coraallensavietta
Copy link
Collaborator Author

Did you mean to commit the files examples/h1*? examples/h1_net.fasta is quite large (for an example file --not for a true data file). If this is for the manual, are you sure it's not too large to run fast?

That's a great point! They are for the manual, so I'll remove them from this branch, then make a note to myself to confirm that they're not too long for the manual before I add them into that PR.

in generic flip hybrid (still true by default in PhyLiNC)
bug fix: flip may be admissible even downstream of hybrids
bottom rung of ladder: more efficient check
@cecileane
Copy link
Member

cecileane commented Oct 15, 2020

I'm happy with the code, at this point. I think that:

  • we should go through the debug statements to see which ones are "low-level", that were used during debugging for specific things, and that should be commented out. They should be kept if they are useful at a higher level, to follow the general flow of phylinc.

  • we could increase test coverage for the phylinc function. The one test case starts with a standard network. Could you possibly use a different starting network, like the "w-structure" network in the other test file, with 2 reticulations and the w-structure on which none of the "minor" flips are admissible (under the nohybridladder contraints)? That could help cover more of the code. Also,

    • if the starting network could have "good" branch lengths (optimized ahead of time outside of the test on that fixed topology) and
    • if the lcache and the phylinc tolerance parameters could be very sloppy (bump them up from 1e-6 to 1e-2 or higher)

    so that the move doesn't increase the likelihood, that would be good: to cover the code to undo the flip.

@cecileane
Copy link
Member

Hi Cora, did you notice that the tests failed, despite the "all good" green light on GitHub? see here.

@coraallensavietta
Copy link
Collaborator Author

Interesting! I can replicate these errors with Julia 1.5, but not 1.4. I'll look into it.

@cecileane
Copy link
Member

Everything looks good to me. If same for you, you can squash & merge @coraallensavietta . Thank you!!

@coraallensavietta coraallensavietta merged commit 6b0e0e0 into master Oct 23, 2020
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

Successfully merging this pull request may close these issues.

3 participants