JP2005202697A - クラスタリングプログラムおよびクラスタリング装置 - Google Patents

クラスタリングプログラムおよびクラスタリング装置 Download PDF

Info

Publication number
JP2005202697A
JP2005202697A JP2004008510A JP2004008510A JP2005202697A JP 2005202697 A JP2005202697 A JP 2005202697A JP 2004008510 A JP2004008510 A JP 2004008510A JP 2004008510 A JP2004008510 A JP 2004008510A JP 2005202697 A JP2005202697 A JP 2005202697A
Authority
JP
Japan
Prior art keywords
cluster
order data
sequence
identifiers
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004008510A
Other languages
English (en)
Other versions
JP4413017B2 (ja
Inventor
Satoo Nishigaki
聡雄 西垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RIKEN Institute of Physical and Chemical Research
Original Assignee
RIKEN Institute of Physical and Chemical Research
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RIKEN Institute of Physical and Chemical Research filed Critical RIKEN Institute of Physical and Chemical Research
Priority to JP2004008510A priority Critical patent/JP4413017B2/ja
Publication of JP2005202697A publication Critical patent/JP2005202697A/ja
Application granted granted Critical
Publication of JP4413017B2 publication Critical patent/JP4413017B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】クラスタリング処理時間を大幅に削減可能なクラスタリングプログラムを提供すること。
【解決手段】機能が未知のcDNA末端配列と既知配列との相同性を計算する作業と、その計算結果に基づいて分類する作業と、を分離する。また、機能が未知のcDNA末端配列を、既知配列との相同性の程度にしたがって分類する場合に、まず、識別子(配列)毎に個別の配列番号を設定し、さらに、前記cDNA末端配列と、当該cDNA末端配列との相同性が高い既知配列と、をグループ化し、グループ毎に個別のクラスタ番号を設定する。そして、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を同一のクラスタメンバーとする処理を行う。ただし、特定のクラスタ番号に属する識別子が他のどのクラスタ番号にも属していない場合(共有なし)には当該特定のクラスタ番号に属する識別子のみでクラスタメンバーを形成する。
【選択図】 図4

Description

本発明は、複数の配列を相同性の程度にしたがって分類するためのクラスタリングプログラムに関するものであり、詳細には、「single linkage clustering」アルゴリズムの高速化を実現可能なクラスタリングプログラムおよびクラスタリング装置に関するものである。
たとえば、cDNA末端配列を、既知配列との相同性の程度にしたがって分類する処理のことを「EST clustering」と呼ぶが、この「EST clustering」を実現するためのアルゴリズムの一部分として、一般に「single linkage clustering」アルゴリズムがよく用いられる。この「single linkage clustering」アルゴリズムは、たとえば、「SingleLinkageClusterer(ftp://ftp.tigr.org/pub/software/singleLinkageClusterer)」等により実現できる。
また、cDNA末端配列を、既知配列との相同性の程度にしたがって分類する代表的なプログラムとして、「BLASTCLUST(ftp://ftp.ncbi.nih.gov/blast/executables/LATEST-BLAST)」がある(非特許文献1参照)。これは、塩基配列またはアミノ酸配列と既知配列との相同性を計算する作業と、その計算結果に基づいて分類する作業と、を同時に行うプログラムである。具体的にいうと、非特許文献1には、以下の内容が記載されている。この「BLASTCLUST」は、「BLAST」アルゴリズムによる相同性計算結果に基づいてアミノ酸配列のグループ分けを行うために、「single linkage clustering」を用いる。また、このプログラムは、各々がユニークな配列識別子をもつような複数個のタンパク配列からなる「FASTA」フォーマットファイルを入力とする。そして、このプログラムは、クラスタとしてまとめられた配列識別子ファイルを出力する。
また、上記「BLASTCLUST」は、「BLAST」から処理をはじめることもできるし、また一方で、クラッシュ時に備えてヒットリスト(queryID,hitID)が保存されているので、そのヒットリストを入力として与えることにより、「single linkage clustering」から処理をはじめることもできる。
しかしながら、上記「BLASTCLUST」は、機能が未知のcDNA末端配列と既知配列との相同性を計算する作業と、その計算結果に基づいて分類する作業と、を同時に行う点で便利であるが、一方で、融通が利かない、すなわち、「single linkage clustering」の機能だけを利用したい場合であっても、そのような機能は提供されていない、という問題があった。
また、上記「single linkage clustering」アルゴリズムを実現するための1つの手段である「SingleLinkageClusterer」においては、たとえば、ヒットリスト内の配列同士を総当りで確認することにより、クラスタメンバーを作成している。しかしながら、この例では、上記のようにヒットリスト内の配列同士で総当りの確認処理を行う必要があるので、分類処理にかかる時間が増大する、という問題があった。
また、昨今は、PCクラスタを用いて並列処理を行う「BLAST」専用機が一般に入手可能である。また、このような専用機を用いると、ヒットリスト作成までの処理の高速化を実現できる。しかしながら、「BLAST」以降の上記「single linkage clustering」アルゴリズムについては、ヒットリスト内の全配列同士を確認する処理があるため、処理の並列化が不可能であり、このような要因で、「single linkage clustering」アルゴリズムにかかる処理(クラスタリング処理)の高速化が非常に困難である、という問題があった。
本発明は、上記に鑑みてなされたものであって、機能が未知のcDNA末端配列を、既知配列との相同性の程度にしたがって分類する場合において、「BLAST」と「single linkage clustering」とを分離し、さらに「single linkage clustering」にかかる処理時間を大幅に削減可能なクラスタリングプログラムおよびクラスタリング装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるクラスタリングプログラムは、複数の分類対象配列を相同性に基づいて分類するクラスタリングプログラムであって、たとえば、前記分類対象配列に含まれる複数の基準となる配列(基準配列)の識別子と、当該基準配列との相同性が高い配列の識別子と、が対応付けられた状態で記述されたヒットリストを読み出し、当該ヒットリストに基づいて、前記基準配列の識別子と、当該基準配列との相同性が高い配列の識別子と、をグループ化し、グループ毎に個別のクラスタ番号を設定し、さらに、当該クラスタ番号が設定された識別子をソートし、識別子毎に個別の配列番号を設定し、その後、当該配列番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述した配列番号順データを生成する配列番号順データ生成ステップと、前記配列番号順データを第1の領域に記憶する配列番号順データ記憶ステップと、前記配列番号順データを読み出し、当該配列番号順データをクラスタ番号順にソートし、当該クラスタ番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述したクラスタ番号順データを生成するクラスタ番号順データ生成ステップと、前記クラスタ番号順データを第2の領域に記憶するクラスタ番号順データ記憶ステップと、前記配列番号順データと前記クラスタ番号順データとを読み出し、これらのデータに基づいて、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を、同一のクラスタメンバーとする処理を行い、当該クラスタメンバーを構成する識別子を記述したクラスタメンバーリストを生成するクラスタメンバー決定ステップと、前記クラスタメンバーリストを第3の領域に記憶するクラスタメンバーリスト記憶ステップと、をコンピュータに実行させることを特徴とする。
また、本発明にかかるクラスタリングプログラムは、機能が未知の複数のcDNA末端配列を、それぞれ、既知配列との相同性計算の結果に基づいて分類するクラスタリングプログラムであって、前記複数のcDNA末端配列を構成する各cDNA末端配列の識別子と、前記相同性計算結果として得られる既知配列の識別子と、が対応付けられた状態で記述されたヒットリストを読み出し、当該ヒットリストに基づいて、前記cDNA末端配列の識別子と、当該cDNA末端配列との相同性が高い既知配列の識別子と、をグループ化し、グループ毎に個別のクラスタ番号を設定し、さらに、当該クラスタ番号が設定された識別子をソートし、識別子毎に個別の配列番号を設定し、その後、当該配列番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述した配列番号順データを生成する配列番号順データ生成ステップと、前記配列番号順データを第1の領域に記憶する配列番号順データ記憶ステップと、前記配列番号順データを読み出し、当該配列番号順データをクラスタ番号順にソートし、当該クラスタ番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述したクラスタ番号順データを生成するクラスタ番号順データ生成ステップと、前記クラスタ番号順データを第2の領域に記憶するクラスタ番号順データ記憶ステップと、前記配列番号順データと前記クラスタ番号順データとを読み出し、これらのデータに基づいて、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を、同一のクラスタメンバーとする処理を行い、当該クラスタメンバーを構成する識別子を記述したクラスタメンバーリストを生成するクラスタメンバー決定ステップと、前記クラスタメンバーリストを第3の領域に記憶するクラスタメンバーリスト記憶ステップと、をコンピュータに実行させることを特徴とする。
また、本発明にかかるクラスタリングプログラムにおいて、前記クラスタメンバー決定ステップでは、前記クラスタ番号順データに基づいて、特定のクラスタ番号に属するすべての識別子を同一のクラスタメンバーとしてまとめ、さらに、前記配列番号順データを確認した結果、当該クラスタメンバーを構成する識別子が他のクラスタ番号にも属している場合には、前記クラスタ番号順データに基づいて、前記他のクラスタ番号に属するすべての識別子についても同一のクラスタメンバーとして加え、一方で、新たに加えられた識別子が、残りのどのクラスタ番号にも属していない状態になった段階でクラスタメンバーの追加処理を停止し、以降、前記停止まで一連の処理を、全識別子の分類が完了するまで継続することを特徴とする。
また、本発明にかかるクラスタリングプログラムにおいて、前記クラスタメンバー決定ステップでは、特定のクラスタ番号に属する識別子が他のどのクラスタ番号にも属していない場合(共有なし)、当該特定のクラスタ番号に属する識別子のみでクラスタメンバーを形成することを特徴とする。
本発明にかかるクラスタリングプログラムにおいては、機能が未知のcDNA末端配列と既知配列との相同性を計算する作業(「BLAST」)と、その計算結果に基づいて分類する作業(クラスタリング処理)と、を分離した形で実現する構成とした。また、本発明にかかるクラスタリングプログラムは、たとえば、機能が未知のcDNA末端配列を、既知配列との相同性の程度にしたがって分類する場合、まず、識別子毎に個別の配列番号を設定し、さらに、前記cDNA末端配列と、当該cDNA末端配列との相同性が高い既知配列と、をグループ化し、グループ毎に個別のクラスタ番号を設定する。そして、同一の配列番号を共有する複数のクラスタ番号に属するすべての配列で、1つのクラスタメンバーを形成することとした。これらにより、代表的なプログラムである「BLASTCLUST」を使用した場合と比較して、また、配列総当りでクラスタメンバーを生成する従来方式と比較して、大幅に「single linkage clustering」にかかる処理時間を低減でき、ひいては、「EST clustering」にかかる処理時間を大幅に低減できる、という効果を奏する。
以下に、本発明にかかるクラスタリングプログラムおよびクラスタリング装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、機能が未知のcDNA末端配列を、既知配列との相同性の程度にしたがって分類する(「EST clustering」に相当)ためのクラスタリング装置として動作し、本発明のクラスタリング処理を実現可能な一般的な計算機システムの構成を示す図である。なお、本実施例においては、一例として、cDNA末端配列を、既知配列との相同性の程度にしたがって分類する場合について説明するが、分類の対象となる配列はcDNA配列に限らず、たとえば、本実施例の処理をcDNA以外の塩基配列やアミノ酸配列の分類に適用することとしてもよい。また、分類の対象となる配列は、必ずしも機能が未知の配列である必要はない。
この計算機システムは、たとえば、CPUを含む制御ユニット101と、メモリユニット102と、表示ユニット103と、入力ユニット104と、CD−ROMドライブユニット105(DVDドライブユニット,FDドライブユニットであってもよい)と、ディスクユニット106と、外部I/Fユニット107と、を備え、これらの各ユニットは、それぞれシステムバスAを介して接続されている。
図1において、制御ユニット101は、本発明のクラスタリングプログラムを実行する。メモリユニット102は、RAM,ROM等の各種メモリを含み、制御ユニット101が実行すべきプログラム,処理の過程で得られた必要なデータ等を記憶する。表示ユニット103は、CRTやLCD(液晶表示パネル)等で構成され、計算機システムの使用者に対して各種画面を表示する。入力ユニット104は、キーボード,マウス等で構成され、計算機システムの使用者が、各種情報の入力を行うために使用する。また、図示のCD−ROM200には、本発明のクラスタリング処理を記述したプログラム(クラスタリングプログラム)が格納されている。
ここで、上記本発明のクラスタリングプログラムが実行可能な状態になるまでの上記計算機システムの動作例について説明する。まず、上記のように構成される計算機システムには、CD−ROMドライブユニット105にセットされたCD−ROM200から、クラスタリングプログラムがディスクユニット106にインストールされる。そして、計算機システムの起動時(専用機の場合)またはプログラムの実行時に、ディスクユニット106から読み出されたプログラムがメモリユニット102に格納される。この状態で、制御ユニット101(CPU)は、メモリユニット102に格納されたプログラムにしたがって、本発明のクラスタリング処理を実行する。
なお、本発明においては、CD−ROM200にて本発明のクラスタリング処理を記述したプログラムを提供しているが、このプログラムの記録媒体は、これに限定されることなく、システムを構成するコンピュータに応じて、たとえば、フロッピー(登録商標)ディスク等の磁気ディスク,光磁気ディスク,磁気テープ等の他の記録媒体を用いることも可能である。また、電子メール,インターネット等の伝送媒体により提供されたプログラムを用いることとしてもよい。
つぎに、上記「EST clustering」処理の概要、および上記「EST clustering」処理における本発明のクラスタリングプログラムの位置付け、について説明する。図2は、上記「EST clustering」の処理手順を示すフローチャートである。
まず、計算機システムの制御ユニット101は、ユーザの指示により、「FASTA」形式のcDNA末端配列を記載したファイル、すなわち、query.fastaファイルを生成し、そのquery.fastaファイルをメモリユニット102の所定領域に格納する(ステップS1)。
つぎに、制御ユニット101は、ユーザの指示により、NCBI等の公的機関が既に公開している既知配列と、上記query.fastaファイルから読み出したcDNA末端配列と、をまとめたファイル、すなわち、db.fastaファイルを生成し、そのdb.fastaファイルをメモリユニット102の所定領域に格納する(ステップS2)。
つぎに、制御ユニット101は、上記query.fastaをquery側とし、上記db.fastaをデータベース側として、「BLAST」を行う(ステップS3)。そして、上記「BLAST」結果として得られるヒットリスト(ヒットリストは「queryIDとhitIDとの組み合わせがわかるようなリスト,表,データであれば、その形式はどのようなものでもかまわない。)をメモリユニット102の所定領域に格納する(ステップS4)。図3−1,図3−2,図3−3は、「BLAST」結果として得られるアライメントの一例を示す図である。なお、本実施例においては、相同性検索の手段として「BLAST」を採用するが、これに限らず、たとえば、既知の検索法である「dynamic programing法」や「FASTA法」を用いることとしてもよい。
最後に、制御ユニット101は、上記ヒットリストに基づいて、後述する本発明のクラスタリングプログラム(「single linkage clustering」を含む)を実行する(ステップS5)。そして、その結果であるクラスタメンバーリストをメモリユニット102の所定領域に格納する(ステップS6)。以下では、本発明の特徴的な処理であるステップS5およびステップS6の処理について詳細に説明する。
つぎに、本発明のクラスタリングプログラム(上記ステップS5およびステップS6に相当)を図面に基づいて詳細に説明する。図4は、本発明のクラスタリングプログラムによる処理を示すフローチャートである。
なお、ここでは、機能が未知のcDNA末端配列と既知配列の相同性を計算する「BLAST」の結果に基づいて、既にヒットリスト(queryID,hitID)が生成されていることを前提とし、そのヒットリストが既にメモリユニット102の所定領域に格納されていることとする。図5は、上記ヒットリストの一例を示す図である。このヒットリストは、機能が未知のcDNA末端配列の識別子を表すqueryID(図示の000001_queryID_1(配列番号1参照),000002_queryID,…に相当)と、上記相同性計算結果(上記「BLAST」結果に相当)として得られる既知配列の識別子を表すhitID(図示のAB000096(配列番号2参照),AK004551,AK004675等に相当)と、の組み合わせを記述したデータである。ただし、ヒットリストは、queryIDとhitIDとの組み合わせがわかるようなリスト,表,データであれば、その形式はどのようなものでもかまわない。すなわち、「BLAST」結果そのものであっても、その結果をクラスタリング処理用にフォーマット変換したものであってもかまわない。また、ここでは、一例として、NCBIで公開されているデータベースを利用して「BLAST」を実行した場合について記載する。
まず、制御ユニット101では、上記ヒットリストをメモリユニット102から読み出し、そのヒットリストに基づいてqueryIDのみを記載したデータ(図6のlist_qid参照)と、hitIDのみを記載したデータ(図7のlist_hitid参照)を生成し、それらのデータをメモリユニット102の所定領域に個別に格納する(ステップS11)。
つぎに、制御ユニット101では、上記ヒットリストおよびlist_qid,list_hitidをメモリユニット102から読み出し、これらの情報を用いて、識別子(上記queryID,hitIDに相当)と、配列(以下、単に配列と記載する場合は、上記cDNA末端配列および既知配列を表す)を分類するためのクラスタ番号と、を関連付ける。すなわち、最初のqueryIDにクラスタ番号”1”を付与し、以降、queryIDが切り替わる度にクラスタ番号をインクリメントする。そして、上記関連付け後のデータをメモリユニット102の所定領域に格納する(ステップS12)。図8は、識別子とクラスタ番号が関連付けられた状態のデータの一例を示す図である。ここでは、上記「BLAST」結果に基づいて相同性の高い配列同士を同一グループに分ける処理を行い、たとえば、000001_queryID,AB000096,AK004551,AK004675に対応するクラスタ番号を”1”とし、000002_queryID,AB000121,BC030169に対応するクラスタ番号を”2”とし、以降、000003_queryIDと 各hitIDの組,000004_queryIDと各hitIDの組,000005_queryIDと各hitIDの組,…に対応するクラスタ番号を順に”3”,”4”,”5”…とする(インクリメントする)。なお、この段階では、配列番号をすべて”−1”と記載しておく。
つぎに、制御ユニット101では、上記識別子とクラスタ番号が関連付けられた状態のデータをメモリユニット102から読み出し、このデータを識別子でソートする。そして、ソート後のデータをメモリユニット102の所定領域に格納する(ステップS13)。図9は、ソート後のデータの一例を示す図である。
つぎに、制御ユニット101では、上記ソート後のデータをメモリユニット102から読み出し、そのデータの配列番号欄に、識別子毎に個別の配列番号を設定し、識別子と配列番号の対応付けを行う。ここでは、各識別子に対応する配列番号を、上記ソート後の順に”0”,”1”,”2”,…と設定し、配列番号設定後のデータをcluster_1としてメモリユニット102の所定領域に格納する(ステップS14)。このとき、クラスタ番号と配列番号が同一であるレコード(行)がある場合は、そのレコードを削除する。なお、このような同一レコードの重複については、予めヒットリストから削除しておくこととしてもよい。図10は、cluster_1の一例を示す図である。図示の複数個の同一識別子は、その識別子が複数のクラスタ番号に重複して関連付けられていることを表している。
つぎに、制御ユニット101では、上記cluster_1をメモリユニット102から読み出し、そのcluster_1をクラスタ番号でソートし、ソート後のデータをcluster_2としてメモリユニット102の所定領域に格納する(ステップS16)。このとき、クラスタ番号と配列番号が同一であるレコード(行)がある場合は、そのレコードを削除する。図11は、cluster_2の一例を示す図である。
つぎに、制御ユニット101では、上記cluster_1およびcluster_2を用いて、「single linkage clustering」を実行する(ステップS17)。ここで、本実施例の「single linkage clustering」の手順を具体的に説明する。図12は、本実施例の「single linkage clustering」手順の具体例を示す図である。なお、図12は、本実施例の「single linkage clustering」を簡単に説明するための図であり、図示の配列番号とクラスタ番号の対応付けは上記図10および図11とは異なる。また、図示のクラスタ番号1,2,3,…は、cluster_2のクラスタ番号に対応し、図示の配列番号0,1,2,…は、cluster_1の配列番号に対応する。
たとえば、クラスタ番号”1”に属する識別子(配列)に対応する配列番号が”0”,”1”,”2”である場合、これらの識別子にて同一のクラスタメンバーを形成する。そして、たとえば、配列番号”2”に対応する識別子がクラスタ番号”4”にも属している場合には、クラスタ番号”4”に属するすべての識別子(配列番号”2”,”6”)についても上記と同一のクラスタメンバーとして加える。さらに、クラスタ番号”4”に属する識別子、たとえば、配列番号”6”に対応する識別子が他のクラスタ番号に属している場合には、そのクラスタ番号に属する識別子についても同一のクラスタメンバーとして加える。以降、新たに加えられる識別子が他のクラスタ番号に属していない状態になるまでクラスタメンバーの追加処理を継続する。たとえば、cluster_1を参照すると、配列番号”6”に対応する識別子がクラスタ番号”4”以外のクラスタ番号に属しているかどうかを直ちに判断できるので、上記「新たに加えられる識別子が他のクラスタ番号に属していない状態」を判定するのは容易である。
また、クラスタ番号”2”に属する識別子(配列)に対応する配列番号が”3”,”4”,”5”である場合には、これらの識別子にて上記とは異なるクラスタメンバーを形成する。そして、たとえば、配列番号”5”に対応する識別子がクラスタ番号”5”にも属している場合には、クラスタ番号”5”に属するすべての識別子(配列番号”5”,”8”)についても同一のクラスタメンバーとして加える。さらに、クラスタ番号”5”に属する識別子、たとえば、配列番号”8”に対応する識別子が他のクラスタ番号に属している場合には、そのクラスタ番号に属する識別子についても同一のクラスタメンバーとして加える。以降、新たに加えられる識別子が他のクラスタ番号に属していない状態になるまでクラスタメンバーの追加処理を継続する。なお、特定のクラスタ番号に属する識別子が他のどのクラスタ番号にも属していない場合(共有なし)には、当該特定のクラスタ番号の属する識別子のみでクラスタメンバーを形成する。
このようにして、全クラスタ番号について処理を行い、その結果をcluster_3としてメモリユニット102の所定領域に格納する(ステップS17)。これにより、機能が未知のcDNA末端配列を、既知配列を含むクラスタメンバーに帰属させることができる。図13は、cluster_3の内容を説明するための概略図である。実際には、cluster_3は、下記のリスト形式で表現される。
cluster_3[1]={0,119978,126329,126352,3,119978,…}
cluster_3[2]={1,119979,132190,4,119979,…}
最後に、制御ユニット101では、上記cluster_3をメモリユニット102から読み出し、そのcluster_3に基づいてクラスタメンバーリストを生成し、そのリストをメモリユニット102の所定領域に格納する(ステップS18)。図14は、クラスタメンバーリストの一例を示す図である。
このように、本実施例においては、機能が未知のcDNA末端配列と既知配列との相同性を計算する作業(「BLAST」)と、その計算結果に基づいて分類する作業(クラスタリング処理)と、を分離した形で実現する構成とした。
また、本実施例においては、機能が未知のcDNA末端配列を、既知配列との相同性の程度にしたがって分類する場合、まず、識別子(配列)毎に個別の配列番号を設定し、さらに、前記cDNA末端配列と、当該cDNA末端配との相同性が高い既知配列と、をグループ化し、グループ毎に個別のクラスタ番号を設定する。そして、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子で、1つのクラスタメンバーを形成することとした。ただし、特定のクラスタ番号に属する識別子が他のどのクラスタ番号にも属していない場合(共有なし)には当該特定のクラスタ番号に属する識別子のみでクラスタメンバーを形成する。
これらにより、代表的なプログラムである「BLASTCLUST」を使用した場合と比較して、また、配列総当りでクラスタメンバーを生成する従来方式と比較して、大幅に「single linkage clustering」にかかる処理時間を低減でき、ひいては、「EST clustering」にかかる処理時間を大幅に低減できる。
以上のように、本発明にかかるクラスタリングプログラムは、塩基配列,アミノ酸配列を配列の相同性の程度に応じて短時間でグループ化できるため、機能未知遺伝子のアノテーション付与やDNAチップの設計等に好適に利用できる。
本発明のクラスタリング処理を実現可能な一般的な計算機システムの構成を示す図である。 「EST clustering」の処理手順を示すフローチャートである。 「BLAST」結果として得られるアライメントの一例を示す図である。 「BLAST」結果として得られるアライメントの一例を示す図である。 「BLAST」結果として得られるアライメントの一例を示す図である。 本発明のクラスタリングプログラムによる処理を示すフローチャートである。 ヒットリストの一例を示す図である。 list_qidの一例を示す図である。 list_hitidの一例を示す図である。 識別子とクラスタ番号が関連付けられた状態のデータの一例を示す図である。 ソート後のデータの一例を示す図である。 cluster_1の一例を示す図である。 cluster_2の一例を示す図である。 本実施例の「single linkage clustering」手順の具体例を示す図である。 cluster_3の内容を説明するための概略図である。 クラスタメンバーリストの一例を示す図である。
符号の説明
101 制御ユニット
102 メモリユニット
103 表示ユニット
104 入力ユニット
105 CD−ROMドライブユニット
106 ディスクユニット
107 外部I/Fユニット
200 CD−ROM
配列番号1:000001_queryID
配列番号2:AB000096

Claims (8)

  1. 複数の分類対象配列を相同性に基づいて分類するクラスタリングプログラムであって、
    前記分類対象配列に含まれる複数の基準となる配列(基準配列)の識別子と、当該基準配列との相同性が高い配列の識別子と、が対応付けられた状態で記述されたヒットリストを読み出し、当該ヒットリストに基づいて、前記基準配列の識別子と、当該基準配列との相同性が高い配列の識別子と、をグループ化し、グループ毎に個別のクラスタ番号を設定し、さらに、当該クラスタ番号が設定された識別子をソートし、識別子毎に個別の配列番号を設定し、その後、当該配列番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述した配列番号順データを生成する配列番号順データ生成ステップと、
    前記配列番号順データを第1の領域に記憶する配列番号順データ記憶ステップと、
    前記配列番号順データを読み出し、当該配列番号順データをクラスタ番号順にソートし、当該クラスタ番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述したクラスタ番号順データを生成するクラスタ番号順データ生成ステップと、
    前記クラスタ番号順データを第2の領域に記憶するクラスタ番号順データ記憶ステップと、
    前記配列番号順データと前記クラスタ番号順データとを読み出し、これらのデータに基づいて、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を、同一のクラスタメンバーとする処理を行い、当該クラスタメンバーを構成する識別子を記述したクラスタメンバーリストを生成するクラスタメンバー決定ステップと、
    前記クラスタメンバーリストを第3の領域に記憶するクラスタメンバーリスト記憶ステップと、
    をコンピュータに実行させることを特徴とするクラスタリングプログラム。
  2. 機能が未知の複数のcDNA末端配列を、それぞれ、既知配列との相同性計算の結果に基づいて分類するクラスタリングプログラムであって、
    前記複数のcDNA末端配列を構成する各cDNA末端配列の識別子と、前記相同性計算結果として得られる既知配列の識別子と、が対応付けられた状態で記述されたヒットリストを読み出し、当該ヒットリストに基づいて、前記cDNA末端配列の識別子と、当該cDNA末端配列との相同性が高い既知配列の識別子と、をグループ化し、グループ毎に個別のクラスタ番号を設定し、さらに、当該クラスタ番号が設定された識別子をソートし、識別子毎に個別の配列番号を設定し、その後、当該配列番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述した配列番号順データを生成する配列番号順データ生成ステップと、
    前記配列番号順データを第1の領域に記憶する配列番号順データ記憶ステップと、
    前記配列番号順データを読み出し、当該配列番号順データをクラスタ番号順にソートし、当該クラスタ番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述したクラスタ番号順データを生成するクラスタ番号順データ生成ステップと、
    前記クラスタ番号順データを第2の領域に記憶するクラスタ番号順データ記憶ステップと、
    前記配列番号順データと前記クラスタ番号順データとを読み出し、これらのデータに基づいて、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を、同一のクラスタメンバーとする処理を行い、当該クラスタメンバーを構成する識別子を記述したクラスタメンバーリストを生成するクラスタメンバー決定ステップと、
    前記クラスタメンバーリストを第3の領域に記憶するクラスタメンバーリスト記憶ステップと、
    をコンピュータに実行させることを特徴とするクラスタリングプログラム。
  3. 前記クラスタメンバー決定ステップでは、
    前記クラスタ番号順データに基づいて、特定のクラスタ番号に属するすべての識別子を同一のクラスタメンバーとしてまとめ、さらに、前記配列番号順データを確認した結果、当該クラスタメンバーを構成する識別子が他のクラスタ番号にも属している場合には、前記クラスタ番号順データに基づいて、前記他のクラスタ番号に属するすべての識別子についても同一のクラスタメンバーとして加え、一方で、新たに加えられた識別子が、残りのどのクラスタ番号にも属していない状態になった段階でクラスタメンバーの追加処理を停止し、
    以降、前記停止まで一連の処理を、全識別子の分類が完了するまで継続することを特徴とする請求項1または2に記載のクラスタリングプログラム。
  4. 前記クラスタメンバー決定ステップでは、
    特定のクラスタ番号に属する識別子が他のどのクラスタ番号にも属していない場合(共有なし)、当該特定のクラスタ番号に属する識別子のみでクラスタメンバーを形成することを特徴とする請求項1、2または3に記載のクラスタリングプログラム。
  5. 複数の分類対象配列を相同性に基づいて分類するクラスタリング装置において、
    前記分類対象配列に含まれる複数の基準となる配列(基準配列)の識別子と、当該基準配列との相同性が高い配列の識別子と、が対応付けられた状態で記述されたヒットリストを読み出し、当該ヒットリストに基づいて、前記基準配列の識別子と、当該基準配列との相同性が高い配列の識別子と、をグループ化し、グループ毎に個別のクラスタ番号を設定し、さらに、当該クラスタ番号が設定された識別子をソートし、識別子毎に個別の配列番号を設定し、その後、当該配列番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述した配列番号順データを生成する配列番号順データ生成手段と、
    前記配列番号順データを記憶する第1の記憶手段と、
    前記配列番号順データを読み出し、当該配列番号順データをクラスタ番号順にソートし、当該クラスタ番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述したクラスタ番号順データを生成するクラスタ番号順データ生成手段と、
    前記クラスタ番号順データを記憶する第2の記憶手段と、
    前記配列番号順データと前記クラスタ番号順データとを読み出し、これらのデータに基づいて、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を、同一のクラスタメンバーとする処理を行い、当該クラスタメンバーを構成する識別子を記述したクラスタメンバーリストを生成するクラスタメンバー決定手段と、
    前記クラスタメンバーリストを記憶する第3の記憶手段と、
    を備えることを特徴とするクラスタリング装置。
  6. 機能が未知の複数のcDNA末端配列を、それぞれ、既知配列との相同性計算の結果に基づいて分類するクラスタリング装置において、
    前記複数のcDNA末端配列を構成する各cDNA末端配列の識別子と、前記相同性計算結果として得られる既知配列の識別子と、が対応付けられた状態で記述されたヒットリストを読み出し、当該ヒットリストに基づいて、前記cDNA末端配列の識別子と、当該cDNA末端配列との相同性が高い既知配列の識別子と、をグループ化し、グループ毎に個別のクラスタ番号を設定し、さらに、当該クラスタ番号が設定された識別子をソートし、識別子毎に個別の配列番号を設定し、その後、当該配列番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述した配列番号順データを生成する配列番号順データ生成手段と、
    前記配列番号順データを記憶する第1の記憶手段と、
    前記配列番号順データを読み出し、当該配列番号順データをクラスタ番号順にソートし、当該クラスタ番号順に、識別子とクラスタ番号と配列番号とを関連付けて記述したクラスタ番号順データを生成するクラスタ番号順データ生成手段と、
    前記クラスタ番号順データを記憶する第2の記憶手段と、
    前記配列番号順データと前記クラスタ番号順データとを読み出し、これらのデータに基づいて、同一の配列番号を共有する複数のクラスタ番号に属するすべての識別子を、同一のクラスタメンバーとする処理を行い、当該クラスタメンバーを構成する識別子を記述したクラスタメンバーリストを生成するクラスタメンバー決定手段と、
    前記クラスタメンバーリストを記憶する第3の記憶手段と、
    を備えることを特徴とするクラスタリング装置。
  7. 前記クラスタメンバー決定手段は、
    前記クラスタ番号順データに基づいて、特定のクラスタ番号に属するすべての識別子を同一のクラスタメンバーとしてまとめ、さらに、前記配列番号順データを確認した結果、当該クラスタメンバーを構成する識別子が他のクラスタ番号にも属している場合には、前記クラスタ番号順データに基づいて、前記他のクラスタ番号に属するすべての識別子についても同一のクラスタメンバーとして加え、一方で、新たに加えられた識別子が、残りのどのクラスタ番号にも属していない状態になった段階でクラスタメンバーの追加処理を停止し、
    以降、前記停止まで一連の処理を、全識別子の分類が完了するまで継続することを特徴とする請求項5または6に記載のクラスタリング装置。
  8. 前記クラスタメンバー決定手段は、
    特定のクラスタ番号に属する識別子が他のどのクラスタ番号にも属していない場合(共有なし)、当該特定のクラスタ番号に属する識別子のみでクラスタメンバーを形成することを特徴とする請求項5、6または7に記載のクラスタリング装置。
JP2004008510A 2004-01-15 2004-01-15 クラスタリングプログラムおよびクラスタリング装置 Expired - Fee Related JP4413017B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004008510A JP4413017B2 (ja) 2004-01-15 2004-01-15 クラスタリングプログラムおよびクラスタリング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004008510A JP4413017B2 (ja) 2004-01-15 2004-01-15 クラスタリングプログラムおよびクラスタリング装置

Publications (2)

Publication Number Publication Date
JP2005202697A true JP2005202697A (ja) 2005-07-28
JP4413017B2 JP4413017B2 (ja) 2010-02-10

Family

ID=34821819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004008510A Expired - Fee Related JP4413017B2 (ja) 2004-01-15 2004-01-15 クラスタリングプログラムおよびクラスタリング装置

Country Status (1)

Country Link
JP (1) JP4413017B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012096015A1 (ja) * 2011-01-11 2012-07-19 日本ソフトウェアマネジメント株式会社 核酸情報処理装置およびその処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012096015A1 (ja) * 2011-01-11 2012-07-19 日本ソフトウェアマネジメント株式会社 核酸情報処理装置およびその処理方法

Also Published As

Publication number Publication date
JP4413017B2 (ja) 2010-02-10

Similar Documents

Publication Publication Date Title
Minkenberg et al. CRISPR‐PLANT v2: An online resource for highly specific guide RNA spacers based on improved off‐target analysis
Provart et al. A browser-based functional classification SuperViewer for Arabidopsis genomics
Ames et al. Scalable metagenomic taxonomy classification using a reference genome database
Salmon-Divon et al. PeakAnalyzer: genome-wide annotation of chromatin binding and modification loci
Shajii et al. Fast genotyping of known SNPs through approximate k-mer matching
CN103930569A (zh) 碱基序列对准装置及其方法
JP2005500594A (ja) 高速の近似部分文字列検索ための方法および装置
Malhis et al. Slider—maximum use of probability information for alignment of short sequence reads and SNP detection
CN111901538B (zh) 一种字幕生成方法、装置、设备及存储介质
JP3611601B2 (ja) リスト処理システムとその方法
CN114420212A (zh) 一种大肠杆菌菌株鉴定方法和***
Li et al. GAPWM: a genetic algorithm method for optimizing a position weight matrix
Teufel et al. GraphPart: homology partitioning for biological sequence analysis
JP4413017B2 (ja) クラスタリングプログラムおよびクラスタリング装置
US20060020399A1 (en) Method of mapping cDNA sequences
EP1608786A2 (en) Genomic profiling of regulatory factor binding sites
You et al. A new implementation of high-throughput five-dimensional clone pooling strategy for BAC library screening
JP2007086951A (ja) ファイル分割処理方法及びファイル分割プログラム
JP2007241642A (ja) 解析方法、解析装置及びコンピュータプログラム
US6994965B2 (en) Method for displaying results of hybridization experiment
JP6371981B2 (ja) 業務支援システム、業務支援システムを実行するプログラム及びそれを記録した媒体
KR20040036691A (ko) 분산 컴퓨팅 환경에서의 유전자 및 단백질 유사서열 검색시스템 및 그 방법
Hong et al. Flexible k-mers with variable-length indels for identifying binding sequences of protein dimers
JPH0782429B2 (ja) 複数ファイルのマージ方法
US20030208322A1 (en) Apparatus, method, and computer program product for plotting proteomic and genomic data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091117

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees