{"action":"created","issue":{"url":"https://api.github.com/repos/vgteam/vg/issues/1470","repository_url":"https://api.github.com/repos/vgteam/vg","labels_url":"https://api.github.com/repos/vgteam/vg/issues/1470/labels{/name}","comments_url":"https://api.github.com/repos/vgteam/vg/issues/1470/comments","events_url":"https://api.github.com/repos/vgteam/vg/issues/1470/events","html_url":"https://github.com/vgteam/vg/issues/1470","id":299880698,"number":1470,"title":"Possible route forward with surject","user":{"login":"jeizenga","id":7377501,"avatar_url":"https://avatars0.githubusercontent.com/u/7377501?v=4","gravatar_id":"","url":"https://api.github.com/users/jeizenga","html_url":"https://github.com/jeizenga","followers_url":"https://api.github.com/users/jeizenga/followers","following_url":"https://api.github.com/users/jeizenga/following{/other_user}","gists_url":"https://api.github.com/users/jeizenga/gists{/gist_id}","starred_url":"https://api.github.com/users/jeizenga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeizenga/subscriptions","organizations_url":"https://api.github.com/users/jeizenga/orgs","repos_url":"https://api.github.com/users/jeizenga/repos","events_url":"https://api.github.com/users/jeizenga/events{/privacy}","received_events_url":"https://api.github.com/users/jeizenga/received_events","type":"User","site_admin":false},"labels":[{"id":280142072,"url":"https://api.github.com/repos/vgteam/vg/labels/in%20progress","name":"in progress","color":"ededed","default":false}],"state":"open","locked":false,"assignee":{"login":"jeizenga","id":7377501,"avatar_url":"https://avatars0.githubusercontent.com/u/7377501?v=4","gravatar_id":"","url":"https://api.github.com/users/jeizenga","html_url":"https://github.com/jeizenga","followers_url":"https://api.github.com/users/jeizenga/followers","following_url":"https://api.github.com/users/jeizenga/following{/other_user}","gists_url":"https://api.github.com/users/jeizenga/gists{/gist_id}","starred_url":"https://api.github.com/users/jeizenga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeizenga/subscriptions","organizations_url":"https://api.github.com/users/jeizenga/orgs","repos_url":"https://api.github.com/users/jeizenga/repos","events_url":"https://api.github.com/users/jeizenga/events{/privacy}","received_events_url":"https://api.github.com/users/jeizenga/received_events","type":"User","site_admin":false},"assignees":[{"login":"ekg","id":145425,"avatar_url":"https://avatars1.githubusercontent.com/u/145425?v=4","gravatar_id":"","url":"https://api.github.com/users/ekg","html_url":"https://github.com/ekg","followers_url":"https://api.github.com/users/ekg/followers","following_url":"https://api.github.com/users/ekg/following{/other_user}","gists_url":"https://api.github.com/users/ekg/gists{/gist_id}","starred_url":"https://api.github.com/users/ekg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekg/subscriptions","organizations_url":"https://api.github.com/users/ekg/orgs","repos_url":"https://api.github.com/users/ekg/repos","events_url":"https://api.github.com/users/ekg/events{/privacy}","received_events_url":"https://api.github.com/users/ekg/received_events","type":"User","site_admin":false},{"login":"jeizenga","id":7377501,"avatar_url":"https://avatars0.githubusercontent.com/u/7377501?v=4","gravatar_id":"","url":"https://api.github.com/users/jeizenga","html_url":"https://github.com/jeizenga","followers_url":"https://api.github.com/users/jeizenga/followers","following_url":"https://api.github.com/users/jeizenga/following{/other_user}","gists_url":"https://api.github.com/users/jeizenga/gists{/gist_id}","starred_url":"https://api.github.com/users/jeizenga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeizenga/subscriptions","organizations_url":"https://api.github.com/users/jeizenga/orgs","repos_url":"https://api.github.com/users/jeizenga/repos","events_url":"https://api.github.com/users/jeizenga/events{/privacy}","received_events_url":"https://api.github.com/users/jeizenga/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/vgteam/vg/milestones/35","html_url":"https://github.com/vgteam/vg/milestone/35","labels_url":"https://api.github.com/repos/vgteam/vg/milestones/35/labels","id":3200076,"number":35,"title":"Sprint 2018-03-26","description":"","creator":{"login":"adamnovak","id":5062495,"avatar_url":"https://avatars1.githubusercontent.com/u/5062495?v=4","gravatar_id":"","url":"https://api.github.com/users/adamnovak","html_url":"https://github.com/adamnovak","followers_url":"https://api.github.com/users/adamnovak/followers","following_url":"https://api.github.com/users/adamnovak/following{/other_user}","gists_url":"https://api.github.com/users/adamnovak/gists{/gist_id}","starred_url":"https://api.github.com/users/adamnovak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamnovak/subscriptions","organizations_url":"https://api.github.com/users/adamnovak/orgs","repos_url":"https://api.github.com/users/adamnovak/repos","events_url":"https://api.github.com/users/adamnovak/events{/privacy}","received_events_url":"https://api.github.com/users/adamnovak/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":7,"state":"open","created_at":"2018-03-19T17:55:14Z","updated_at":"2018-03-23T19:12:29Z","due_on":"2018-03-26T07:00:00Z","closed_at":null},"comments":8,"created_at":"2018-02-23T23:19:12Z","updated_at":"2018-03-27T13:49:00Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"@ekg @adamnovak \r\nI ran into a lot of the same problems that I think we're running into with the surject algorithm when I was working out how to construct MultipathAlignments. I think the code I wrote could probably be repurposed to make a pretty good surjection algorithm.\r\n\r\nThe MultipathAlignment workflow is kind of like this:\r\n1. Extract a subgraph around some MEMs (https://github.com/vgteam/vg/blob/master/src/multipath_mapper.cpp#L1929)\r\n2. Walk out MEMs into Paths (https://github.com/vgteam/vg/blob/master/src/multipath_mapper.cpp#L3641)\r\n3. Compute the connectivity between the Paths (https://github.com/vgteam/vg/blob/master/src/multipath_mapper.cpp#L3666)\r\n4. Do alignments between Paths that could be connected into longer alignments (https://github.com/vgteam/vg/blob/master/src/multipath_mapper.cpp#L2276)\r\n\r\nI can imagine a similar workflow for surjection:\r\n1. Extract the reference path graph around an Alignment\r\n2. Get the sub-Paths from the Alignment that are on the reference path\r\n3. Compute the connectivity between the sub-Paths\r\n4. Do alignments between the sub-Paths\r\n\r\nIt would take a little refactoring, but the algorithms are all already there and I'm quite confident in them."},"comment":{"url":"https://api.github.com/repos/vgteam/vg/issues/comments/376531737","html_url":"https://github.com/vgteam/vg/issues/1470#issuecomment-376531737","issue_url":"https://api.github.com/repos/vgteam/vg/issues/1470","id":376531737,"user":{"login":"ekg","id":145425,"avatar_url":"https://avatars1.githubusercontent.com/u/145425?v=4","gravatar_id":"","url":"https://api.github.com/users/ekg","html_url":"https://github.com/ekg","followers_url":"https://api.github.com/users/ekg/followers","following_url":"https://api.github.com/users/ekg/following{/other_user}","gists_url":"https://api.github.com/users/ekg/gists{/gist_id}","starred_url":"https://api.github.com/users/ekg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ekg/subscriptions","organizations_url":"https://api.github.com/users/ekg/orgs","repos_url":"https://api.github.com/users/ekg/repos","events_url":"https://api.github.com/users/ekg/events{/privacy}","received_events_url":"https://api.github.com/users/ekg/received_events","type":"User","site_admin":false},"created_at":"2018-03-27T13:49:00Z","updated_at":"2018-03-27T13:49:00Z","author_association":"COLLABORATOR","body":"@jeizenga I guess there wasn't really any reason. It's encouraging that the path anchored algorithm is looking slightly better! It's about where I was when I used the global alignment algorithm rather than the local alignment with a big full length bonus. I'll check out your PR."}}
{"actor":{"display_login":"ekg"}}