{"action":"created","issue":{"url":"https://api.github.com/repos/rust-bio/rust-bio/issues/3","repository_url":"https://api.github.com/repos/rust-bio/rust-bio","labels_url":"https://api.github.com/repos/rust-bio/rust-bio/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/rust-bio/rust-bio/issues/3/comments","events_url":"https://api.github.com/repos/rust-bio/rust-bio/issues/3/events","html_url":"https://github.com/rust-bio/rust-bio/issues/3","id":58510147,"number":3,"title":"Roadmap / Todos","user":{"login":"johanneskoester","id":1858646,"avatar_url":"https://avatars.githubusercontent.com/u/1858646?v=3","gravatar_id":"","url":"https://api.github.com/users/johanneskoester","html_url":"https://github.com/johanneskoester","followers_url":"https://api.github.com/users/johanneskoester/followers","following_url":"https://api.github.com/users/johanneskoester/following{/other_user}","gists_url":"https://api.github.com/users/johanneskoester/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneskoester/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneskoester/subscriptions","organizations_url":"https://api.github.com/users/johanneskoester/orgs","repos_url":"https://api.github.com/users/johanneskoester/repos","events_url":"https://api.github.com/users/johanneskoester/events{/privacy}","received_events_url":"https://api.github.com/users/johanneskoester/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":29,"created_at":"2015-02-22T17:20:57Z","updated_at":"2016-02-26T06:01:04Z","closed_at":null,"body":"This is a continuously updated list of Todos. If you have a suggestion, comment to the issue. I will update the list if the suggestion fits in.\r\nPlease note that none of the items will be guaranteed to be implemented. If you want to make sure something is done, consider to contribute the code to Rust-Bio, any help is welcome! Of course you will be listed as one of the authors.\r\n\r\n**If you want to implement an item, please post it in this thread and I will mark it in the list so that we don't duplicate work.**\r\n\r\n# Changes to current code\r\n* [x] make SAIS implementation generic over the used alphabet data type and dynamically choose the right type depending on the number of characters. This will further reduce memory usage.\r\n* [ ] investigate no_mangle flag to allow easy integration of Rust-Bio into e.g. Python via ctypes.\r\n\r\n# New code\r\n* [x] add indexed FASTA reader based on the seek method of current fasta reader and https://github.com/BurntSushi/rust-csv\r\n* [x] allow to call current pairwise alignment implementation without traceback for distance computation (hamming, edit, affine)\r\n*[x] add common score matrices (e.g. PAM250, BLOSUM62 for amino acids) **[@rilut]**\r\n* [x] add (gapped) q-gram/kmer implementation for counting and index building\r\n* [x] add bed reader\r\n* [ ] add gtf, gff reader based on https://github.com/BurntSushi/rust-csv **[@anderspitman]**\r\n* [ ] refer to Rust bindings of GHMM (http://ghmm.org). Bindings are still missing.\r\n* [x] add Myers Algorithm for approximate pattern matching\r\n* [ ] basic NGS statistics (qual distribution, nucleotide distribution)?\r\n* [x] add amino acid alphabet to `bio::alphabets`\r\n* [ ] add multiple alignment computation (state of the art algorithm)\r\n* [ ] provide an interval tree, segment tree or clustertree implementation\r\n* [ ] add parallelization examples\r\n* [ ] Add speed benchmarks for all algorithms (right now we have them for pattern matching and SAIS).\r\n* [ ] Add mate-pair FASTQ reader (using the zip method).\r\n* [ ] SDP algorithms for sparse alignment\r\n* [ ] Add tabix interface to Rust-Htslib"},"comment":{"url":"https://api.github.com/repos/rust-bio/rust-bio/issues/comments/189125916","html_url":"https://github.com/rust-bio/rust-bio/issues/3#issuecomment-189125916","issue_url":"https://api.github.com/repos/rust-bio/rust-bio/issues/3","id":189125916,"user":{"login":"anderspitman","id":7820200,"avatar_url":"https://avatars.githubusercontent.com/u/7820200?v=3","gravatar_id":"","url":"https://api.github.com/users/anderspitman","html_url":"https://github.com/anderspitman","followers_url":"https://api.github.com/users/anderspitman/followers","following_url":"https://api.github.com/users/anderspitman/following{/other_user}","gists_url":"https://api.github.com/users/anderspitman/gists{/gist_id}","starred_url":"https://api.github.com/users/anderspitman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anderspitman/subscriptions","organizations_url":"https://api.github.com/users/anderspitman/orgs","repos_url":"https://api.github.com/users/anderspitman/repos","events_url":"https://api.github.com/users/anderspitman/events{/privacy}","received_events_url":"https://api.github.com/users/anderspitman/received_events","type":"User","site_admin":false},"created_at":"2016-02-26T06:01:04Z","updated_at":"2016-02-26T06:01:04Z","body":"Great! Did you have any specific preferences for the implementation? I was just planning on starting with making it as similar as possible to what you have for FASTA. I'm still relatively new to Rust so It'll probably be fairly iterative if you don't mind giving input while I learn best practices."}}