Publications referring to NGS data に新データの追加

http://sra.dbcls.jp/cgi-bin/publication.cgiに新しくPubMedと次世代シークエンサ(NGS)のデータIDの対応を追加しました.

今回追加新たに追加したものは,PubMedのMeSHで"High-Throughput Nucleotide Sequencing"が付いているものです.6月22日に25件ほど追加しています.

追加の流れ

以下の手順で追加しました.id:meguu08 と共に作業しています.

1. eutils経由で High-Throughput Nucleotide Sequencing のMeSHが付いた論文のPubMed ID(PMID)を取得
2. PMIDから次世代シークエンサデータのIDを抽出
3. 2.で抽出した次世代シークエンサのIDはSubmission,Study,Experiment,Sample,Run,Analysisと混ざっているので,Submission(SRAかDRAから始まる)IDに統一する
4. 登録されていない論文と次世代シークエンサのIDを新たにデータベースに追加



2. では,eutilsからxmlファイルを取得できない論文があるので,それらは直接ジャーナルサイトから取得しています.現在対応しているのは,以下のジャーナルです.
・Genome Research
・Proc. Natl. Acad. Sci. U.S.A.
・Nature
・Science (New York, N.Y.)
・Genes & Development
・Nature methods
・Nature genetics
・Nature biotechnology
Bioinformatics
・The Plant Cell
・Briefings in Functional Genomics and Proteomics


今後,PubMedのMeSH以外にデータを追加しようと思っているので,後日HPに更新情報の追記をしたいと思います.

Journal サイトから論文を取得

PubMed Central(PMC)では論文がfreeで公開されていますが,Entrez Utilities 経由ではxml形式で論文が利用できない論文があります.(Webブラウザであれば,freeで論文を見る事はできます.)
このxml形式で利用できない論文数がかなりあるため,これらの論文をJournalサイトから取得するようにしました.この方法で取得できるファイルはhtml形式です.

論文の取得方法

これまでは,次の3ステップで論文のxmlファイルを取得していました.
  1. PubMedのIDから,PubMedxmlファイルを取得する.
  2.(公開されていれば)取得したxmlファイルから,PMCのIDを抽出する
  3. PMCのIDから,xmlファイルを取得する.
PubMedとPMCのファイル取得は,Entrez Utilities経由で行っています.これに次のステップ追加し,論文のhtmlファイルを取得します.
  4. PMCのxmlファイルに論文本文が載っていなければ,Journalサイトにアクセス,htmlファイルを保存する.


xml形式で利用できない論文の場合,2.で取得したPMCのxmlファイルに次の一文が記載されています.
"The publisher of this article does not allow downloading of the full text in XML form."
(参考:放牧27日目:this article does not allow downloading... - meguu08の日記になれない覚え書き
Entrez Utilities で取得したxmlファイルに上記の文が含まれていたら,4. Journalサイトにアクセスし,htmlファイルを保存します.
現時点で取得できる様にしたJournalは,次の二つです.
  ・ Proceedings of the National Academy of Sciences
  ・ Genome Research
この二つは,どちらもJournalサイトの論文のアドレスが
"Journal固定の文字列1"/volume/issue/fpage/"Journalの文字列2"
の形式になっており,volume,issue,fpage(論文が始まるページ)が分かればhtmlファイルを取得できます.この3つの情報は,2. で取得したxmlファイルから抽出できます.(PMCから取得したxmlファイルには,論文の本文はありませんが,掲載されている雑誌の情報は載っています.)
上記の方法で作成したアドレスにアクセスして,html形式でファイルを取得し,このhtmlファイルを解析しています.


この方法では,Journalサイトから取得できるのはhtml形式です.xml形式のファイルを解析したい場合には,今回の方法は適応できません.また,Jounalサイトに頻繁にアクセスしなければならないので,別の方法が思いついたら改善しようと思います.

XMLで取得できない論文

現在,PubMed Central(PMC)から論文を取得して解析しています.PMCに登録されている論文は全文利用できるのですが,登録されている論文の中にはXML形式でファイルを取得できない論文があります.(参考:放牧27日目:this article does not allow downloading... - meguu08の日記になれない覚え書き
これまで,XMLファイルを取得して解析してきましたが,上記の事が原因で,実は解析できていなかった論文がある事が判明しました.

今回の目的

PMCに登録されている論文で,XMLで取得できない論文がどの程度あるのか調べました.今回は,http://www.illuminakk.co.jp/support/literature_GA1.shtml にある論文でPMCに登録されているものについて調査しています.

結果

次に示している数字は,おおまかな論文数です.
・illuminaの論文リストでPMCに登録されているもの:130
  ・XMLで取得できる論文:50/130
  ・XMLで取得できない論文:80/130
今回調べた論文に関しては,PMCに登録されている論文の半分以上(80/130)がXMLで取得できませんでした.今回は130の論文しか調べていませんが,XMLで解析できない論文がかなり多そうなので,今後はXML形式のファイル解析以外の方法が必要になると思います.(これらの論文をどうやったら解析できるのかは,今現在id:meguu08が奮闘しています.)

敵を知る(10月第1週の勤務)

論文に書かれている塩基配列を抽出し,論文をゲノム配列にマッピングする事で,ゲノム配列の特定箇所について書かれた論文リストを作成する事を行っています.
これには先行研究http://text2genome.smith.man.ac.uk/about.cgiがあります.今週はこのText2Genomeについて調べました.(先週の時点では,Text2Genomeのサイトを発見していませんでした.@yag_aysさん,ありがとうございます.)

Text2Genome

この研究では,以下の手順で論文をゲノム配列にマッピングしています.(この研究の論文が見つからなかったため,推測も含まれています.)
1. PubMed Central で利用できる論文から,塩基配列を抽出.(配列を抽出できた論文数:約35,000)
2. 論文から抽出した配列を,GenBankに登録されているゲノム配列にマッピング(Blastを使用?,マッピングできた論文数:約28,000)
3. GenBankマッピングできた配列の中でも,マッピングのクオリティが高いものに選定(選定結果の論文数:約10,000)
論文数は,http://text2genome.smith.man.ac.uk/download.cgiで公開されているデータをもとに推定しました.

今後の方向性

思っていたよりもText2Genomeで解析されている論文数が多かった,というのが正直な感想です.今後,改良できそうな事を以下に挙げます.


1. 高いクオリティでマップできた論文が減少
配列を取得できた論文数が約35,000に対して,ゲノム配列に高いクオリティでマップできた論文数が約10,000であり,マップしている論文が減少しています.
(1) 原因で考えられる事と解決策 その1
[原因] 配列情報のみを使ってゲノム配列にマッピング
[解決策] MeshTermの生物種などを用いて,Blastにかける時に配列情報以外も利用する

(2) 原因で考えられる事と解決策 その2
[原因] マッピングする対象がGenBankのみ
[解決策] マッピングする対象に,他のデータベースも加える.(PubMedの外部データベースリンクを利用できるかも.)


2. PubMed Centralにある論文のみ扱っている
PubMed Central 以外にも配列が抽出できそうな論文があれば,解析してリストに追加する.


上記の方法だと行き着くゴールがText2Genomeと全く同じ,という点が気になります.何かプラスアルファで追加できる事を考えながら進める必要がありそうです.

今後の目標

9月末頃から活動内容が変わっているので,今後行っていきたい事をまとめました.

目標

論文中に現れる核酸塩基配列(ATGCUなどの文字列)をゲノム配列にマッピングし,「ゲノム配列のこの部分配列に関する論文リスト」を作成する事を目標としています.最終的には,GBrowseなどでゲノム配列と論文リストのマッピングを可視化したいと考えています.

手順

現時点では,以下の2つの手順を考えています.
1. 論文から核酸塩基配列を抽出する.
2. GenBankなどのデータベースの情報と比較し,論文から抽出した配列をゲノム配列にマッピングする.

現状

「1. 論文から塩基配列を抽出する」で試行錯誤中です.これまでに見つけた論文中に現れる塩基配列の書き方は以下の二通りです.

  1. TTAGGCC
  2. TTA GGC C

1. は,核酸塩基を表す文字列とその略号(参考:核酸 - Wikipedia)が並んでいるもの,2. は3文字区切りでスペースが入っているものです.
現在は正規表現で該当する文字列を取得する方法で,論文から塩基配列だけを抽出できるのか調査中です.

おまけ:今週の活動

今週はPubMed Centralから取得した論文を使って,PubMed Centralの論文IDと抽出される配列のテストセットを作りました.
作成方法は,核酸塩基を表す文字列が3文字以上連続する箇所を論文から抽出し,目で確認.これの繰り返しです.
3文字だと配列ではない文字列(DNAやUSA,DISCUSSIONからSCUSSなど)を多く抽出してしまうので,「何文字以上の文字列」というような制約が必要かと思います.

Finkのインストール(MacOS 10.6)

Snow LeopardFinkをインストールしました.詳しい手順はFink - Source Release Downloadを参照してください.

1. ダウンロード

fink-0.29.10.tar.gzをダウンロード.保存場所は適当な場所でOKです.


$ tar -xvzf fink-0.29.10.tar.gz
$ cd fink-0.29.10

2. インストール

32bitと64bitがありますが32bit版を選択,インストール先は'/sw'としました.


$ ./bootstrap
(略)
pod2man --section=1 /sw/src/fink.build/dpkg-bootstrap-1.10.21-1218/dpkg-1.10.21/scripts/dpkg-architecture.pl > dpkg-architecture.1
/bin/sh: /usr/bin/pod2man: Permission denied
make[2]: *** [dpkg-architecture.1] Error 126
make[1]: *** [all-scripts] Error 2
make: *** [all-recursive] Error 2
### execution of make failed, exit code 2
phase compiling: dpkg-bootstrap-1.10.21-1218 failed
(略)
エラーがです./usr/bin/pod2manに実行権限が無い事が原因のようなので,権限を変更しました.

$ ls -l /usr/bin/pod2man
-rw-rw-rw- 34 root wheel 807 6 24 2009 /usr/bin/pod2man
$ sudo chmod 755 /usr/bin/pod2man
$ ls -l /usr/bin/pod2man
-rwxr-xr-x 34 root wheel 807 6 24 2009 /usr/bin/pod2man
再実行.

$ ./bootstrap
Fink must be installed and run with superuser (root) privileges. Fink can automatically try to become root when it's run from a user account.
Since you're currently running this script as a normal user, the method you choose will also be used immediately for this script. Avaliable
methods:

(1) Use sudo
(2) Use su
(3) None, fink must be run as root

Choose a method: [1]

Your hardware is a 64bit-compatible intel processor, so you have the option of running Fink in 64bit-only mode. This is not recommended for
most users, since many more packages are available for the default mode (which is mostly 32bit but includes some 64bit packages). Which mode
would you like to use?

(1) Default (mostly 32bit)
(2) 64bit-only

Choose a mode: [1]
(略)
Run '. /sw/bin/init.sh' to set up this terminal session environment to use Fink. To make the software installed by Fink available in all of
your future terminal shells, add '. /sw/bin/init.sh' to the init script '.profile' or '.bash_profile' in your home directory. The program
/sw/bin/pathsetup.sh can help with this. Enjoy.

今度はうまく行きました.

3. セットアップ

一度ターミナルを終了してから,以下のコマンドを実行します.


$ /sw/bin/pathsetup.sh

無事インストールできました.

これまでの活動のまとめ(9月第1週の勤務)

これまで行ってきた事が乱雑になっていたので,結果をまとめてみる.

目的

次世代シークエンサ(データベースSRA)の論文とそのSRAの実験IDを対応づける事.ただ,SRAが出来る以前は次世代シークエンサの実験結果がGEOに登録されていたので,SRAとGEOの両方を抽出する.

今回行った事

これまで解析をした結果の中で,以下の3つの結果をまとめる.
1. illuminaとRoche (454)のpublication listにある論文リストに対して解析した結果
2. PMCに登録されている論文に対して,クエリを投げて取得した論文を解析した結果
3. PubMedのMeSHに検索を掛けた結果

1. illuminaとRoche (454)のpublication listからPubMedの論文リストを作成したもの

ファイル名:illumina -> pmid2sra.illumina.100810.tab, Roche(454) -> pmid2sra.roche.100810.tab.
ファイルの中は全部で6列.
1列目:PubMedのID
2列目:PMCのID
3列目:4列目のIDのデータベース名
4列目:PubMedのタグを見て取得した外部データベースのID
5列目:PMCの本文から抽出したSRAかGEOのID
6列目:GEOのIDをSRAに変換したID
結果を全部は載せられないので,一部抜粋.- は該当するものが無い事を示している.


18388141 - - - - -
18392026 - GEO GSE10825 - SRA001000
18392026 - GEO GSE10829 - SRA001000
18403677 - GEO GSE11019 - SRA001013

2. PMCに登録されている論文に対して,クエリを投げて取得した論文を解析した結果

ファイル名:pmc2sra.term.xxxxx.tab (xxxxx -> 投げたクエリ)
ファイルの中は全部で5列.
1列目:PMCのID
2列目:PubMedのID
3列目:PMCの本文から抽出したSRAかGEOのID
4列目:5列目のIDのデータベース名
5列目:PubMedのタグを見て取得した外部データベースのID
結果を一部抜粋.


2866332 20479877 SRA001156 - -
2613891 19055742 - GENBANK EU190438
2613891 19055742 - GENBANK EU190439
2613891 19055742 - GENBANK EU190440
2613891 19055742 - GENBANK EU721743

3. PubMedのMeSH Termに検索を掛けた結果

ファイル名:pmid2sra.mesh.xxxxx.tab (xxxxx -> クエリとして投げたMeSH Term)
1列目:PubMedのID
2列目:PMCのID
3列目:4列目のIDのデータベース名
4列目:PubMedのタグを見て取得した外部データベースのID
5列目:PMCの本文から抽出したSRAかGEOのID
6列目:GEOのIDをSRAに変換したID
結果を一部抜粋.


20507608 2889950 - - - -
20507562 2887456 - - - -
20506209 - - - - -
20505728 - GEO GSE20585 - -
20505179 - - - - -
20504933 Available_on_2/01/11 - - - -


結果を見ると,MeSHよりもPMCに対して単語を投げた方がSRAのIDが多く取れそう.ただし,投げたMeSH Termが良くなかったとか,複数のMeSH Termを同時に投げてみるなどの工夫をすると違うのかも.

次回

今回まとめられなかった,以下の二つをまとめる.

  • ABI (SOLiD)のpublication list
  • GEOやSRAに実験が登録された時の論文リストの結果