{"action":"reopened","issue":{"url":"https://api.github.com/repos/GMOD/Apollo/issues/525","labels_url":"https://api.github.com/repos/GMOD/Apollo/issues/525/labels{/name}","comments_url":"https://api.github.com/repos/GMOD/Apollo/issues/525/comments","events_url":"https://api.github.com/repos/GMOD/Apollo/issues/525/events","html_url":"https://github.com/GMOD/Apollo/issues/525","id":99692543,"number":525,"title":"(3w) enable genome folding","user":{"login":"nathandunn","id":751274,"avatar_url":"https://avatars.githubusercontent.com/u/751274?v=3","gravatar_id":"","url":"https://api.github.com/users/nathandunn","html_url":"https://github.com/nathandunn","followers_url":"https://api.github.com/users/nathandunn/followers","following_url":"https://api.github.com/users/nathandunn/following{/other_user}","gists_url":"https://api.github.com/users/nathandunn/gists{/gist_id}","starred_url":"https://api.github.com/users/nathandunn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathandunn/subscriptions","organizations_url":"https://api.github.com/users/nathandunn/orgs","repos_url":"https://api.github.com/users/nathandunn/repos","events_url":"https://api.github.com/users/nathandunn/events{/privacy}","received_events_url":"https://api.github.com/users/nathandunn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GMOD/Apollo/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/GMOD/Apollo/labels/Important","name":"Important","color":"eb6420"},{"url":"https://api.github.com/repos/GMOD/Apollo/labels/Workingon","name":"Workingon","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"nathandunn","id":751274,"avatar_url":"https://avatars.githubusercontent.com/u/751274?v=3","gravatar_id":"","url":"https://api.github.com/users/nathandunn","html_url":"https://github.com/nathandunn","followers_url":"https://api.github.com/users/nathandunn/followers","following_url":"https://api.github.com/users/nathandunn/following{/other_user}","gists_url":"https://api.github.com/users/nathandunn/gists{/gist_id}","starred_url":"https://api.github.com/users/nathandunn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathandunn/subscriptions","organizations_url":"https://api.github.com/users/nathandunn/orgs","repos_url":"https://api.github.com/users/nathandunn/repos","events_url":"https://api.github.com/users/nathandunn/events{/privacy}","received_events_url":"https://api.github.com/users/nathandunn/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/GMOD/Apollo/milestones/12","html_url":"https://github.com/GMOD/Apollo/milestones/2.1","labels_url":"https://api.github.com/repos/GMOD/Apollo/milestones/12/labels","id":1053961,"number":12,"title":"2.1","description":"Includes Folding and the ability to View (and if possible imply order) of multiple scaffolds at the same time. \r\n\r\nOften times referred to as Genometry.","creator":{"login":"nathandunn","id":751274,"avatar_url":"https://avatars.githubusercontent.com/u/751274?v=3","gravatar_id":"","url":"https://api.github.com/users/nathandunn","html_url":"https://github.com/nathandunn","followers_url":"https://api.github.com/users/nathandunn/followers","following_url":"https://api.github.com/users/nathandunn/following{/other_user}","gists_url":"https://api.github.com/users/nathandunn/gists{/gist_id}","starred_url":"https://api.github.com/users/nathandunn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathandunn/subscriptions","organizations_url":"https://api.github.com/users/nathandunn/orgs","repos_url":"https://api.github.com/users/nathandunn/repos","events_url":"https://api.github.com/users/nathandunn/events{/privacy}","received_events_url":"https://api.github.com/users/nathandunn/received_events","type":"User","site_admin":false},"open_issues":31,"closed_issues":9,"state":"open","created_at":"2015-04-06T02:26:13Z","updated_at":"2015-08-30T03:06:53Z","due_on":"2015-11-05T08:00:00Z","closed_at":null},"comments":3,"created_at":"2015-08-07T17:22:39Z","updated_at":"2015-08-30T03:06:53Z","closed_at":null,"body":"- [ ] **handle continuous types: (bam, bw, bai, tbi/ vcf, gff3)** -> http://palpant.us/java-genomics-io/ as well as https://github.com/samtools/htsjdk / [and here ], [SAM doc](https://samtools.github.io/hts-specs/SAMv1.pdf) (https://github.com/samtools/htsjdk/blob/master/src/java/htsjdk/samtools/BAMFileReader.java)(supplies all) / [overview] (http://broadinstitute.github.io/picard/command-line-overview.html)\r\n  - [ ] **over-ride the BAMIndex generation and then read that (if it is somewhat fast) -> over-ride BAMIndexer (in SAM Tools)  . . . I think that it just indexes the alignment versus the reference sequence**\r\n  - [ ] BAI / BAM rewrite (single large file)\r\n  - [ ] BAI / BAM rewrite on the fly (or do exclusively on the client)\r\n- [ ] move to 2.5.1 / 3.0.4\r\n- [ ] rewrite refseq file (rewrite length and end) (jbrowse/data/seq/refSeqs.json) \r\n- [ ] wire AnnotationEditorService/getFeatures , re-write fmin / fmax\r\n  - [ ] **handle read-only**\r\n  - [ ] handle creation of annotations from updated tracks (have to reverse the projection, grab all the evidence)\r\n  - [ ] create diagrams \r\n- [ ] write a projector for exons\r\n- [ ] optimize track storage\r\n  - [ ] serialize projections into JSON\r\n  - [ ] store projections in database: organism, OGS-track (reference), type (other than discontinuous?), metadata (e.g., padding), sequence\r\n- [x] trackData is missing necessary intron / exons on rendering\r\n- [ ] wire filter JBrowseController:\r\n    - [x]  ~~\"/jbrowse/index.html\"(controller: \"jbrowse\", action: \"indexRouter\", params:params)~~ (nothing to do)\r\n    - [x]  ~~\"/jbrowse/data/trackList.json\"(controller:\"jbrowse\", action: \"trackList\")~~ (nothing to do)\r\n    - [ ]  \"/jbrowse/data/${path}\" / ** (controller: \"jbrowse\", action: \"data\")\r\n      - [x] rewrite trackData /jbrowse/data/tracks/<trackName>/<seqName>/trackData.json \r\n             - [x] maxEnd, minStart\r\n             - [x] for each element of ncList, rewrite start, end\r\n      - [ ] handle generic types? \r\n      - [ ] rewrite some JSON data out of lf-<chunk>.json (jbrowse/data/tracks/<track>/<group>/lf-<chunk>.json)\r\n             - [ ] for each element of array, rewrite start (1) and stop (2)\r\n- [ ] UI enhancements\r\n  - [ ] use track UI to choose \"reference\" track\r\n  - [ ] modify projections in UI (turn off, edit, etc.)\r\n- [ ] put non-unique scaffolds next to each other\r\n- [ ] hide X-coordinate labels, zoomed and un-zoomed\r\n- [ ] handle reverse-compliment? \r\n- [ ] put in the client via GWT / https://github.com/manolo/gwt-exporter / http://grooscript.org/ ??\r\n- [x] create engine for discontinuous project\r\n   - [x] create factory for creating discontinuous projection between two tracks\r\n   - [x] test forward projection\r\n   - [x] test reverse projection\r\n   - [x] create track projection \r\n   - [x] project coordinates (~~out of phase~~), (~~in-phase~~), exonA-B, left edge, right edge, overlap left, overlap right\r\n   - [x] handle overlap reference track properly\r\n   - [x] handle out of interval properly\r\n   - [x] handle BETWEEN interval properly\r\n- [x] create projections when loading tracks\r\n  - [x] create Projections based on OGS track . .. if any track from JBrowseController is called \"OGS\" then create a singleton with the projection\r\n   - [x] project trackData (almost done)\r\n  - [x] refactor into a separate removable method\r\n\r\nWe need to allow genome folding, especially in the case of transcripts with large introns (i.e. human).  \r\nThis could be done on either the backend (via dynamic rewrite) or on the front-end (client re-write).  \r\nSome level of updated JBrowse support will be necessary, regardless as a discontinuous view is not supported AFAIK."}}