2016年前半戦終了

Written by bonohu in misc on 木 30 6月 2016.

今年も早いもので前半戦終了。出張はかなり多かったようで、外泊数がなんと合計43泊。一月に約7泊ということで、勤務日の約1/3は外勤だったという計算。どこに居ても仕事できる環境を作ってきたが、そこでしかできないことしかやっていないのではないか?ありがたいことに遺伝研に来て三年目、最近になってローカルでの連携ネタが続々出てきている。そういった芽を絶やさぬよう、大きな共同研究へと育てていきたい。そして、明日からついにDBCLS10年目になる。中長期的な戦略を考え直す時期にきていると思う。日々の業務もこなしつつ、今後の戦略を熟考したい。

Continue reading »


群馬大学大学院医学研究科非常勤講師

Written by bonohu in misc on 木 23 6月 2016.

「オミックス医学とバイオインフォマティクス」というお題で。やはり90分では短く、珍しく時間オーバー気味。じっくり教えるには、単発の講義ではとても収まらないレベルの内容になってきた感。時代の流れとともに必要とされているのです、是非きちんとそれをやれる教員を雇ってそういった講義を半期なり通年なりで開講していただきたい。

ところで、直前に「医療に役立つ遺伝子関連Web情報検索」が献本で送られてきたのでご紹介した。医療系の初学者向けに今どきのインターネット上にある情報検索を教えてくれる本なのだが、なぜか統合TVが全く言及されていない。 [amazon template=thumbnail&asin=4895928616] 話の内容的には以下の「ゲノム医学」の方が近く大変参考になった。とくにExome解析でわかってきた単一遺伝子疾患の原因遺伝子の表(p272)。それ以外にも知識の整理や新たな発見もありそうなので、夏休みの課題図書にしたいところ。 [amazon template=thumbnail&asin=4895928446]

Continue reading »


2016 BioHackathon 5日目

Written by bonohu in misc on 土 18 6月 2016.

最終日。ひきつづき。そして最後にwrapアップ。今回、AOE2のデータ作成パイプラインの構築に取り組み、機械的に単純にindexとなるデータを作るところまではできた。それらの成果(スクリプト群)はgithubのAOEプロジェクトのレポジトリに。今後は重複しているエントリをどうにかしてまとめる工程に取り組んでいく。

Continue reading »


2016 BioHackathon 4日目

Written by bonohu in misc on 木 16 6月 2016.

一昨日に仕込んだArrayExpress(AE)のファイルリストの取得が終わったので、AOE1の更新を続き。もうちょっとファイルリストが高速に得られればもっと更新が早くできるんだが…。AEをローカルにミラーするようになったらそれらを自動化するようにしてweeklyやdailyというのも夢ではないかも。

Continue reading »


2016 BioHackathon 3日目

Written by bonohu in misc on 木 16 6月 2016.

中間発表を1時間で。午後はExcursionということで、目の前の温海岳(標高736m)にbug取りがてら山登り。意外に険しい山道だったが、珍しい蝶が採れたらしい。

Continue reading »


2016 BioHackathon 2日目

Written by bonohu in misc on 火 14 6月 2016.

温泉インフォマティクス研究会足湯支部に入部するも、蚊と雨の襲撃により敢え無く延期。今月のAOE1の更新も進めつつ、昨日入電した裏プロジェクトの解析も並行して。

Continue reading »


2016 BioHackathon 1日目

Written by bonohu in misc on 月 13 6月 2016.

本日6/13から6/17までBioHackathon。今回も引き続きAOE2.0に向けてhackします。メタボにならないように、今回はランチはホテルでとらない作戦で。夜にガッツリ方針を議論。自分のやるべき方向がさらに明瞭に。

Continue reading »



2016 SPARC Japan ワーキンググループキックオフミーティング

Written by bonohu in misc on 木 09 6月 2016.

今年度(2016年度)から国際学術情報流通基盤整備事業(SPARC Japan)セミナー企画ワーキンググループのメンバーとして関わることになり、そのキックオフミーティングで一ツ橋の国立情報学研究所へ。担当として2つのセミナーの企画運営に加わることに。 実は、3年前に第3回 SPARC Japan セミナー2013「オープンアクセス時代の研究成果のインパクトを再定義する:再利用とAltmetricsの現在」で話をしているこのセミナーだったのだが、流れが大分DBCLSで目指してきた文献やデータの流通を「交通整理」し、「知のめぐり」を良くする方向に生命科学分野だけでなく、全体的にそうなってきたから今回セミナー企画ワーキンググループメンバーとして呼ばれたのかなと。これまで蓄えてきた経験を活かして貢献していきたい。

Continue reading »


Homebrewと暮らす

Written by bonohu in misc on 月 06 6月 2016.

Homebrew便利だが、しばらく経つとソフトウェアがアップデートされていってローカルに持っているインデックス情報が古くなり、いろいろと不都合が起きるようになる。そこで、以下のコマンドを日課(or週課?)のように打って欲しい。 [shell] brew update -v brew upgrade -v [/shell] これをすることでインデックスが更新され、古くなったソフトウェアは自動的にアップデートされる。 そして、たまには [shell] brew cleanup -v [/shell] するとよい。古くなったバージョンのソフトウェアを消去してくれる。今、したら This operation has freed approximately 17.2G of disk space. と出て、17.2Gbyteディスクスペースが空いたらしい。

Continue reading »


localBLASTのblastdbcmdを使って配列エントリの特定の領域を取得する

Written by bonohu in misc on 木 02 6月 2016.

新規なモデル生物では、ゲノム配列が公開されていても多くの場合染色体ごとに配列が一本につながっていない。どうなっているかというと、scaffoldという単位でゲノム断片配列が記述されている。 そういった場合でも、コマンドラインで使用する際のNCBI BLASTに含まれるmakeblastdbというプログラムを使ってインデックスを作成、blastdbcmdを使ってエントリ名(-entry)と領域(-range)を指定することで、その領域の塩基配列を取得することが可能である。 [shell] makeblastdb -in hoge.fa -dbtype nucl -hash_index -parse_seqids blastdbcmd -db hoge.fa -entry scaffold001 -range 2000-2500 [/shell] このコマンドでは、一行目でhoge.faファイル(FASTA形式)に対してインデックスを作成、二行目でscaffold001の2000塩基から2500塩基までの配列を抽出する例を示している。通常のmakeblastdbのオプションに加えて、-parse_seqidsが加わっている点に注意。

Continue reading »


'Mishima.syk #8'

Written by bonohu in misc on 日 29 5月 2016.

今回が8回目のMishima.syk(三島創(製?)薬勉強会)。三島で開催されたSPARQLthon44の次の日に開催をはたらきかけて、異分野交流を目論んでみた。みなさん、いろいろと忙しい中、複数人の人がその流れで参加してくれて、私のねらいは当たったかなと。ただ、誤算はハンズオンの講師の方が緊急入院…。一日も早いご回復を祈るばかりです。

自分は、本業の仕事をもっと知ってもらいたいと思って、直前のEBI出張と絡めて発表してみた。DRY解析教本の人、というイメージ以外にも公共データベースのなかのひとと思っていただけるようなイメージも強くできたかな!?自分の発表スライドは、今回新たに用意されたMishima.sykのgithubのサイトにアップしてみた。

今回の勉強会は、沼津駅北口のプレザヴェルデでの開催で、ちょうどその日がぬまづみなとの街バルの日ということもあって、懇親会は盛り上がりました。一次会として、みんなで適当なグループに(自然発生的に)分かれて、まずバルに参加。バルチケット3枚で、2時間半という設定が絶妙でしたね。そして、その後、バスク料理のお店、うさぎの木に集合して、2次会。素晴らしい采配だったかと。とても楽しかったですね。またみんなで …

Continue reading »


Trinityで転写産物を定量する

Written by bonohu in misc on 金 27 5月 2016.

Trinityの出力結果は、転写単位ごとの塩基配列のFASTA形式ファイルだが、付属のプログラム(align_and_estimate_abundance.pl)を使うと、転写量を見積もって定量、そして出力してくれる。TrinityのウェブサイトのTrinity Transcript Quantificationに詳細が書かれている。

homebrewでこれまで色々入れたMacOSX10.11.5の環境では、RSEM(RNA-Seq by Expectation-Maximization)を別途インストール(本家ウェブサイトからダウンロードの上、makeしてmake install)さえすれば以下のような感じのオプションで動いた。上記ウェブサイトに書かれている例ほとんどそのままだが、変更点は--aln_method bowtie2を指定してbowtie2を使うようにしたのと、--thread_countで使っていいthread数を環境に合わせて変えたぐらい。

[shell] /usr/local/Cellar/trinity/2.2.0/util/align_and_estimate_abundance.pl --thread_count 12 --transcripts trinity_out_dir/Trinity.fasta --seqType fq --left hoge_1.fq …

Continue reading »


Trinity on MacOSX

Written by bonohu in misc on 月 09 5月 2016.

de novo transcriptome assemblyをするソフトウェアの定番のTrinityがhomebrewで入って動くようになりました(v2.2.0)。これまでhomebrewには入っていたものの、私の環境ではきちんのインストールできないでいました。必要なときはその都度DDBJのスパコンにお世話になっておりました。 それが手元のMacで動くようになったのは素晴らしいことです。

brew install -v trinity

でインストールして、

Trinity --seqType fq --left hoge_1.fq.gz --right hoge_2.fq.gz --max_memory 16G --CPU 4

というコマンドで実行するだけです(ペアエンドの場合)。入力としてはペアエンドのファイル2つ、hoge_1.fq.gzとhoge_2.fq.gzで、見ての通りfastqファイルはgzip圧縮を解かなくても実行可能です。

また、シングルエンドの場合は、

Trinity --seqType fq --single fuga.fq.bz2 --max_memory …

Continue reading »


データベースとは1

Written by bonohu in misc on 水 04 5月 2016.

昨今、インターネット上には利用可能なデータリソースが溢れている。 データベース(DB)とは、生命の持つ情報を再利用可能な形で電子化したデータとして集めたものである。インターネットの普及とともにウェブインターフェースでDB本体へアクセスできるようになってきたことから、ウェブサイトのことがDBだと勘違いしている人も居るぐらいである。 SwissProt有償にします事件以後、いつかのサイトはさまざまな事情からユーザー登録を必要とするものが出てきて、さらにはそれを有償で提供するものも出てきた。しかしながら、生命科学のDBは現在でもその多くが誰でも無償でアクセスできるようになっている。それは、DBはつかってもらってなんぼ、だからである。論文のオープンアクセスと同じである。

「データベース生物学」カテゴリーとして、DBを使った研究に関して多くの人に伝えたい事を、今後不定期に私見を主体に書き記していこうと思う。

Continue reading »


圧縮したファイルで処理する

Written by bonohu in misc on 日 17 4月 2016.

NGSデータ解析の出発点は、シーケンサーやSRA (Sequence Read Archive)から取得したFASTQ形式のファイルなのは同じだろうが、これを圧縮しない(ファイル拡張子が.fqや.fastqのことが多いが、ようするにテキスト形式のファイル)まま、入力として使っているだろうか?配列解析プログラムの多くは、gzip圧縮やbzip2圧縮したファイル(ファイル拡張子は、それぞれ.gzと.bz2)を直接読み込めるようになっていることもあるので、まずファイル解凍するのではなく、圧縮形式から実行可能かどうか、確かめたほうがよい。解凍するプロセスがなくなり、作業効率が格段に向上するからだ。

  • v2.2.0のTrinity、入力のFASTQファイルがgzippedでも対応しているのを確認(20160506)

また、データ解析する際に中間ファイルが多数出てくる。そして、そのファイル群は多くの場合、テキスト形式のファイルで、ファイル圧縮もかかっておらず、サイズがでかい。それらをそのまま置いておくとHDやSSDの肥やしになるし、その都度ファイルを解凍してから処理するのも面倒だし。かといって消してしまうと後で困ることも。というわけで、どうせ圧縮するのなら前にも触れた並列版bzip2のpbzip2を使って圧縮し、ディスクスペースをどんどん空けていこう。

それらの中間ファイルをテキスト処理するには、例えばPerlだと以下の様な感じでちょっとコードを変えるだけで済む。参考まで。

[perl] my …

Continue reading »


行番号を付ける

Written by bonohu in misc on 月 11 4月 2016.

バイオの業界ではとくに、IDが重複していることがある。Rでの処理の場合、それでは入力が受け付けてもらえず実行できないことがよくある。そんな時には行番号を付け、それをuniqueなIDにしてしまうという解決策がある。その処理をRの内部ですることもあるが、今回はUNIXコマンドで行番号を付けてくれるnlコマンドを使う方法でやってみたので、書いておく。

[shell] nl -n ln -v 0 file.txt [/shell]

細かいオプションはここを参考にした。-n lnで左詰めに、-v 0で0からスタート(file.txtにヘッダ行が1行あったので)。

コマンド処理万歳。

Continue reading »


joinコマンドの出力をタブ区切りに

Written by bonohu in misc on 水 06 4月 2016.

joinというUNIXコマンドは、2つのファイルの同じ値のある行をjoinして、一行にまとめてくれるコマンド。

join -j 1 file1 file2

でタブ区切りテキストのfile1とfile2の一番左側のカラムの値が同じ行が結合されて出力される。

このコマンドのやってくれる事自体は大変便利なのであるが、デフォルトではその後の出力はスペース区切りとなり、ちょっと不便だった。これをタブ区切りに変えるやり方を知ったので、こちらにも転記しておく。

join -j 1 -t "$(printf '\011')" file1 file2

結合する前のファイルはsortされていないといけない。そうなっていないと join: file1:7: is not sorted というエラーが出る。

sort -u file1 > file1s
sort -u file2 > file2s

のようにsortしたファイルで処理するようにする。-uオプションを付けることでsortしたうえに重複した行も除くように。

あとjoinするのに用いるword(キー)もユニークでなくてはならない。すなわち、二回以上出てきてはダメ。実は今日やっていたのはこちらの制約に引っかかり …

Continue reading »


scikit-learnのインストール

Written by bonohu in misc on 水 30 3月 2016.

pythonの機械学習ライブラリ。ふとしたキッカケで入れてみようと、思い立ったが吉日。

pythonのバージョン3が入っていなければ、まずそれを。

[shell] brew install -v python3 [/shell]

これでインストールされるpip3を使って必要なライブラリを。

[shell] pip3 install scikit-learn [/shell]

の他に、scipy, numpyあたりが必要なようです。

このサイトにあるサンプルコードを動かして自分のやりたいデータ解析への応用を探っているところ…。

Continue reading »


RNA-Seq実験ハンドブック

Written by bonohu in misc on 土 19 3月 2016.

RNA-Seq実験ハンドブックという本が出版されます。出版社のページによれば2016年03月23日発行予定とのこと(2016年3月発行予定に変わっていました)。「RNA-Seqはこうして誕生したーそしてデータ再利用へ」と題したコラムを書かせてもらいました。短いですが、遺伝子発現解析の歴史的なことを簡単に書かせていただき、本業で推進しているデータ再利用の重要性を説いております。そしてRefExの宣伝も。 [amazon template=thumbnail&asin=4758101949] Amazonのページには2016年3月26日発売となっているようですが。手元に届くのが楽しみです。

Continue reading »


第60回 人工知能学会 分子生物情報研究会(SIG-MBI)

Written by bonohu in misc on 金 18 3月 2016.

続けて同じ場所で開催されたSIG-MBIにかなり久しぶりに参加。SIG-MBIの開催が第60回にもなっていたとは。続けて開催されているのは大変素晴らしい。敬意を表します。なお、自最後に参加した2005年の第1回オープンバイオ研究会との共催の時には、「第3回人工知能学会生命知識研究会(SIG-BMK)」だった模様。時が経つのは早い。

研究会ですが、発表者がその第1回オープンバイオ研究会の発表者とメンツがあまり変わりなく。まあ、他にも発表する機会が今回の研究会クラスタであったからと思いたいが、参加するのなら発表するようにしたほうがいいんじゃないかなと老婆心ながら。

自分は、「公共遺伝子発現データの再利用に向けた取り組み」と題して、NBDCの共同研究としてDBCLSでやってきた遺伝子発現データを使いやすくするプロジェクトに関して20分ちょい話をさせていただいた。DBCLSやNBDCについてもよく聞く略語であっても知る機会が少ないと思い簡単に紹介させていただいたが、プチやはりだった年表形式のほうがよかったかなと反省。若手の方から質問がなかったのは興味がなかったのか、私の話し方が悪くてわからなかったのか…。わかりやすく伝わるよう、中身もプレゼンも、さらなる精進が必要。

Continue reading »


BH15.15成果報告会と第20回オープンバイオ研究会

Written by bonohu in misc on 木 17 3月 2016.

朝からみんなでバスでJAISTに移動して成果報告会。遺伝子発現目次の進捗状況に関して報告。いつもどおり、みんなで議論して情報を共有したことが大きな成果。githubにアップしたmetadataからの抜き出しスクリプト群の作成が目に見える成果ですが、それ以外には、solrからのデータ抽出のバグというか、データが大きくてもうまくいくやり方を経験的に知り得たことが大きかったかと。

その後の第20回オープンバイオ研究会では、公共データベースの利用を促進する取り組みを、非モデル生物種に関して注力しています、という話を四コマプレゼンでしてみた。統合DBプロジェクトに関わっていても私自身が普段やっていることに関してDBCLS以外の方は知ることがない内容の話だろうとふとと思って、納品されたばかりのテンプレートを使ってプレゼンを急造して即席で。その後の第3回オープンサイエンスアワードでは関わっているプロジェクトが何個か表彰していただいた。たいへん励みになります。ありがとうございました。

Continue reading »


BH15.15 3日目

Written by bonohu in misc on 水 16 3月 2016.

ArrayExpressのメタデータにBioProjectがなかったので、GEO由来のエントリだけでもBioProjectIDが付けられないか模索中…。すべてのデータをスクレイピングする以外に解決法はないのか?いろいろ調べた結果、結局bioprojectのXML(bioproject.xml)から生成するスクリプトを書いて、SRA由来でない発現データにもBioProjectIDを付与するための元データが得られた。GEO由来のエントリだけだが。ArrayExpressにしかないものはまた別にrescue方法を考える。

やり残していたExperiment(xRX)とRun(xRR)の対応表を1つの実験毎に重複なく作成するスクリプト作成。これで発現定量した結果とそれに相当するExperiment,さらにはStudy(xRS)を結び付けられるように。データ統合化まであと一歩!

それらをまとめて、Perlスクリプトだけだがgithubに新規のrepository(AOE)を作成してpush。これだけ1日に何回もgit push -u origin masterしたのは久しぶりだったり。

Transcriptome analysis (RNA-seq)だけでなく、すべてのstudyデータに対してもjoinしたデータを作成して、今後のデータ更新の元となるナニカが出来た感。

Continue reading »


BH15.15 2日目

Written by bonohu in misc on 火 15 3月 2016.

2日目は抽出したメタデータの抜けをチェックして出来る限り取りこぼさないようparserを改良。1つのメタデータに複数のデータ単位が含まれていることをランチ前に発見して、ランチタイム遅延。対処する目処をつけてからカレー、その後本格実装。タグの多様性がみとめられたので、IDの正規表現で最悪補完できるようにした。その結果、ファイルに抜けが減り、TIBCO Spotfireでのjoinが急激に遅くなったため、join用にスクリプト作成。AOEに実装するのに必要なデータが大分揃ってきた。あとは、Series-Runの対応表と更新日時のデータ。そして、AOEにすでにあるArrayExpress(GEO)由来のデータとの統合。

Continue reading »


BH15.15 1日目

Written by bonohu in misc on 月 14 3月 2016.

今日2016年3月14日から、国内版Biohackathon(BH15.15)。2015年15月ということで、2016年3月の開催となったが、このパターンでの開催もついに今回で最後(というかルール破綻)になるとのこと。「SRA/BioProject/BioSample etc の統合的な検索」の中の「遺伝子発現データ検索への応用」というサブテーマで取り組みます。

先月のSPARQLthonでSRAのメタデータからの抜き出しに問題があったのが、原因を究明。どうも、csv形式での抜き出しに問題があるようで、json形式に変更してきっちりとすべて抜き出してこれるように。これで必要なメタデータのうち、Submission date以外は取れたはず。1日目の進捗はとりあえずそれということで。

Continue reading »


あれから5年

Written by bonohu in misc on 金 11 3月 2016.

これからどうなるのか。そう思ったあの日から5年経ち、活動本拠地は静岡県三島市の国立遺伝学研究所に移動したものの、相変わらず生命科学データベースの普及活動を中心とした研究生活を続けられている。「幅優先」だった活動は、「深さ優先」にシフトし、その頃からも実はやっていた個別の共同研究の割合が増えてきているが。

その前の年に始めた共同研究は、皮肉にも5年前の今日に取ったデータが決め手となり、紆余曲折あったものの約3年前に論文に。その共同研究は継続しており、今年のこの日にも打ち合わせが。研究を続けられていることは素晴らしい。関係者の皆さんに感謝の念がやまない。これまでに持ちかけられた多くの共同研究は途中で頓挫してしまっており、論文化していないものが多数であるからだ。

この先5年、どうなるかなんて全くわからない。現に5年前の今日は、今日の日のことを全く予測できなかった。ただ、やるべきと思うことを続けてやっていくことだけだ、と心に再確認した5年目の3.11だった。ありがとう。そして、これからもよろしく。

Continue reading »


標準出力と標準エラー出力をまとめる

Written by bonohu in misc on 金 04 3月 2016.

UNIXのコマンドラインには標準出力と標準エラー出力があります。プログラムの出力結果は通常標準出力で、

[shell] sh run.sh > log.txt [/shell]

とすることでlog.txtにその出力結果が記録されます。このようにしてもまだ画面に何か表示されることがあります。それが標準エラー出力の結果です。

[shell] sh run.sh > log.txt 2> logerr.txt [/shell]

とすることで、標準出力はlog.txtに、標準エラー出力はlogerr.txtに記録されます。2つのファイルに分かれさせたくない場合は以下のように。そうするとlog.txtの1つのファイルに出力が記録されます。 [shell] sh run.sh > log.txt 2>&1 [/shell]

ちなみにこれは使っているシェルがbashやzshなどで、cshやtcshだとコマンドが異なりますのでご注意を。

Continue reading »


タブをgrep

Written by bonohu in misc on 木 03 3月 2016.

grep便利ですね。タブ区切りのテキストで必要な情報を持つ行だけ取ってくるとか、多用されます。ですが、 [shell] grep chr1 hoge.gff [/shell] では1番染色体(chr1)のデータだけ抽出したいのにchr11やchr12のデータなども引っかかってきます。そこでワードがタブで区切られていることを利用して、chr1(tab)で検索すると1番染色体のデータだけが取ってこれそうですよね。

それを実現するには以下のようにすればそれが実現できます。 [shell] grep chr1$'t' hoge.gff [/shell]

Continue reading »


samtools view も並列化

Written by bonohu in misc on 水 02 3月 2016.

ときすでにsamtoolsのバージョンは1.3。single threadで遅く、時にはそれが律速になっていたsambam変換も並列化されている。 samtools sortの時と同様に、-@フラグで使用するCPU数を指定。例えば、

[shell] samtools view -@ 8 -bS file.sam > file.bam [/shell]

で。

indexのほうは並列化オプションは現状ないらしい。*.bamとかやっても複数のファイルのindexは作れず、既存のbamファイルを壊してしまうので注意。

[shell] foreach f (*.bam) samtools index $f end [/shell]

とするしかないのかな。

Continue reading »


'ファイルの移動方法: tar編'

Written by bonohu in misc on 火 01 3月 2016.

大量のファイルの移動が必要な季節になってきましたが、我々DB屋は年がら年中です。複数のディレクトリ階層構造を持ったファイルの同期にはrsyncが一番ですが、単にそういったデータを転送するのであれば大学院生の頃(約20年前)から使っているtarを使った方法があります。

[shell] cd /Volumes/old_HDD tar cf - |(cd /Volumes/new_HDD; tar xvf -) [/shell]

移したいディレクトリのあるところにcdして、その次の行のコマンドを実行します。/Volumes/new_HDDは移したい先のディレクトリ名です。サイズや複数のファイルを持つディレクトリを移すのに今でもよく使っています。

Continue reading »