2021-01-16 kojiox2
Github - https://github.com/kojix2/ruby-htslib
Slack - https://sciruby.slack.com
次世代のシーケンサーに関連する生命情報分野のファイルフォーマット SAM, BAM, VCF, BCF 等を Ruby から利用できるようにするために、これらのファイルを読み書きするC言語で書かれたライブラリ htslib の Ruby バインディングを作成する。
-
低レベルの API
- HTS::FFI モジュールに約 320 個のhtslibのメソッドを追加した。
- 主に正規表現による置換や、手作業により追加されている。
- ビットフィールドに未対応である。
- 関数形式マクロや、#defineによるエイリアスは一部のみ実装済。
- 低レベルのAPIを用いてBamファイルを読み込むexampleを作成した。
-
高レベルのAPI
- hts-python に準拠したAPIの実装を目指す。
- あまり進んでいない。Bamクラスの一部を実装し、実際に機能することを確かめた。
-
低レベルのAPI
- 信頼性の確保
- テストを少しずつ追加する。
- ビットフィールド・関数形式マクロ・定数等への対応
- 自動生成
- c2ffiによるバインディング生成の一部自動化が検討されている。
- 信頼性の確保
-
高レベルのAPI
- 現在作業中である。
-
Exampleとなりうるある程度高度な解析ワークフローの追加
- 処理速度の改善
- ruby-htslibの内側でBioRubyのAPIとの統合
- Ruby-FFIからFiddleへの移行