macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

複数の遺伝子アノテーション手法からの構造情報を統合し、対象の種のコンセンサスアノテーションを生成する OMAnnotator

 

 シーケンス技術の進歩により、研究者は全ゲノムのシーケンスを迅速かつ安価に行えるようになった。しかし、ゲノムアセンブリの改善にもかかわらず、ゲノムアノテーション(タンパク質をコードする遺伝子の同定)は、特に真核生物ゲノムでは依然として困難である。この作業には、いくつかのアプローチ(典型的には、ab initio、トランスクリプトミクス、相同性検索)を組み合わせる必要があり、それぞれに長所と短所がある。また、どの遺伝子モデルをコンセンサスに残すかを決定するのは簡単なことではなく、自動化されたアプローチは、精度の面で手間のかかる手作業によるキュレーションに遅れがちである。本発表では、コンセンサスアノテーションを構築するための新しいアプローチであるOMAnnotatorを紹介する。OMAnnotatorは、もともと生物種を超えた遺伝子間の進化的関係を解明するために設計されたOMAアルゴリズムを再利用し、進化的情報をタイブレーカーとして使用して、異なるアノテーションソースからの予測を統合する。Drosophila melanogasterのリファレンスゲノムを再アノテーションし、エキスパートがキュレーションしたリファレンス、自動化パイプラインBRAKER2およびEvidenceModellerの結果と比較することで、OMAnnotatorを検証した。OMAnnotatorは、各インプットを凌駕し、既存のパイプラインを凌駕するコンセンサスアノテーションを作成した。最後に、最近発表された3つのゲノムにOMAnnotatorを適用したところ、2つのケースでは大幅な改善が見られたが、3つ目のケースでは、すでに専門家による大規模なキュレーションの恩恵を受けていたため、結果はまちまちであった。

 

インストール

Github

git clone https://github.com/DessimozLab/OMAnnotator.git
cd OMAnnotator/
mamba env create -f OMAnnotator_conda.yaml
conda activate OMAnnotator_env

> python OMAnnotator/OMAnnotator.py -h

usage: OMAnnotator.py [-h] {prepare_data,extract_consensus} ...

 

Extract consensus sequence from a set of GFF file containing different annotation sets for a single genome and an OMA run with these annotations.

 

optional arguments:

  -h, --help            show this help message and exit

 

Commands:

  {prepare_data,extract_consensus}

    prepare_data        Handles GFF file and set up the OMA database.

    extract_consensus   Uses the OMA Standalone parser to create a consensus annotation.

 

 

 

> python OMAnnotator/OMAnnotator.py prepare_data -h

 

usage: OMAnnotator.py prepare_data [-h] -a GFF_ANNOT_FOLDER -f FASTA_FOLDER -d OMA_FOLDER -s SPLICE_FOLDER -g GENOME_FILE [-t FEATURE_TYPE]

 

Uses GFF file to produce FASTA files (and splice files as needed), then copies them into the corresponding OMA Folder.

 

optional arguments:

  -h, --help            show this help message and exit

  -a GFF_ANNOT_FOLDER, --gff_annot_folder GFF_ANNOT_FOLDER

                        Path to the folder containing the source GFF annotations.

  -f FASTA_FOLDER, --fasta_folder FASTA_FOLDER

                        Path to the output folder that will contain FASTA sequences corresponding to each annotation.

  -d OMA_FOLDER, --OMA_folder OMA_FOLDER

                        Path to the OMA Standalone Folder downloaded through OMA Browser Export AllvsAll.

  -s SPLICE_FOLDER, --splice_folder SPLICE_FOLDER

                        Path to the output folder that will contain splice files corresponding to each annotation in which splice variants are explicitely included.

  -g GENOME_FILE, --genome_file GENOME_FILE

                        Path to the genome file to be annotated, in the FASTA format.

  -t FEATURE_TYPE, --feature_type FEATURE_TYPE

                        Path to a tsv file indicating which feature should be used in GFF file to define gene, transcript or CDS. 4 columns by line in order: filename, gene, transcript, CDS.

 

 

> python OMAnnotator/OMAnnotator.py extract_consensus -h

 

usage: OMAnnotator.py extract_consensus [-h] -a GFF_ANNOT_FOLDER -f FASTA_FOLDER -x ORTHOXML -st SPECIES_TREE -o OUTPUT_PREFIX [-t FEATURE_TYPE] [-p PRIORITIES]

 

Takes as input the orthoXML and species tree from OMA and creates a consensus GFF and FASTA file.

 

optional arguments:

  -h, --help            show this help message and exit

  -a GFF_ANNOT_FOLDER, --gff_annot_folder GFF_ANNOT_FOLDER

                        Path to the folder containing the source GFF annotations.

  -f FASTA_FOLDER, --fasta_folder FASTA_FOLDER

                        Path to the output folder that will contain FASTA sequences corresponding to each annotation.

  -x ORTHOXML, --orthoxml ORTHOXML

                        Path to the orthoXML file from the OMA Standalone run.

  -st SPECIES_TREE, --species_tree SPECIES_TREE

                        Path to the species tree used in the OMA Standalone run, in newick format. A copy can be found in the output folder of OMA as ManualSpeciesTree.nwk

  -o OUTPUT_PREFIX, --output_prefix OUTPUT_PREFIX

                        Output file path and prefix. Two output files will be created: a GFF annotation file and a FASTA file.

  -t FEATURE_TYPE, --feature_type FEATURE_TYPE

                        "Path to a tsv file indicating which feature should be used in GFF file to define gene, transcript or CDS. 4 columns by line in order: filename, gene, transcript, CDS.

  -p PRIORITIES, --priorities PRIORITIES

                        Comma-separated string indicating, in order of priorities, which source to use to make the reference sequence for each consensus gene. Should contain all file prefixes. Ex: rna,abinitio,homology

 

MOA standalone(step2で使う)

 

実行方法

1、近縁種の確認と配列情報の取得

OMAデータベースから事前に計算されたタンパク質のAll-against-Allオルソロジーデータをダウンロードする。

https://omabrowser.org/oma/export/ 

 

初期は生命の3つのドメインのクラドグラムがcollapseされた状態で表示されている。潰れてノードになっている部分をクリックしたらメニューが表示されるので、そのままExpandをクリックして展開する。

興味ある分類群をExpand allした。種をクリックしてselect speciesを選ぶと右側のリストに追加されていく。

写真では見えてないが、選択されている種は一番下のunselectでボタンから解除出来る。

 

見えにくければマウスホイールで拡大できる。クリックでスクロールもできる。

rerootなどの機能も備わっている。

 

A. thalianaに使うことを考え、比較的近縁な種を選択してみた(A. thaliana自身は敢えて除いているが通常は加える)。外群も1つか2つ選んでおく。ここではARAAL

SUBMITをクリックする。

 

一番下に、あなたのデータセットは準備できていない、と出るので、Hereから選択した種の生データをダウンロードし、ローカルの計算機でall versus allのオルソロジーを推論する。

 

 

2,OMAの実行

Hereからダウンロードして解凍したのが下の写真。OMA standaloneを使ってローカルの計算機でオロソロジー関係を推論する。OMA standaloneを実行するには、カレントにDB/とdata/、そしてparameters_drwファイルが必要。

ここではOMA Standaloneのdocker imageを使う。解凍したディレクトリに入り、まずtoyデータを実行する。ToyExample/にはDB/とdata/、そしてparameters_drwファイルが配置されており、OMA Standaloneをすぐにテストできる。

ToyExampleディレクトリを指定して実行。10並列ジョブ指定。

docker run --rm --name oma -v "$(pwd)/ToyExample:/oma" dessimozlab/oma_standalone:latest oma -n 10

#singularity(未テスト)
singularity build --fakeroot omastandalone.sif docker://dessimozlab/oma_standalone
singularity run --bind /tmp/OMA/ToyExample:/oma omastandalone.sif oma

出力例

ToyExample/Output/

問題なければ自分のデータに対して実行する。ダウンロードして解凍したディレクトリには関心のある生物種についてのDB/とdata/、そしてparameters_drwが最初から配置されているので、ダウンロードしたディレクトリ直下で以下のコマンドを実行すればよい。ただし、外群を1つ指定しておく必要がある。parameters_drwの165行目にARAALを指定

(マニュアルでは外群指定なしでもできるような書かれ方をしているが、実際は外群指定なしだとエラーが起きるので注意)

 

デモデータでトラブルがないことが確認できたら、自分のデータに対して実行する。ダウンロードしたディレクトリの直下に移動して、以下のコマンドを実行。

docker run --rm --name oma -v "$(pwd)/:/oma" dessimozlab/oma_standalone:latest oma -n 12

使用している計算機はワークステーションだが計算リソースは潤沢なので、-n 12で12並列の計算を指定した(総当たりのペア数以上にしてもおそらく無意味)。計算機クラスタ向きのオプションについてはoma -h参照。

出力例(シロイヌナズナ

 


3,OMA Standalone ソフトウェアの実行
OMAnnotator ツールキットを用いて、extract_consensus モジュールを用いて OMA Standalone の結果からコンセンサスアノテーションを抽出する(使用法の詳細は python OMAnnotator/OMAnnotator.py extract_consensus --help を参照)。

python OMAnnotator/OMAnnotator.py extract_consensus -g Droso.fasta -a GFF -f FASTA -st OMA.2.6.0/ManualSpeciesTree.nwk -x OMA.2.6.0/Orthoxml.oxml  -o ConsensusAnnotation

ConsensusAnnotation.gffとConsensusAnnotation.faが出力される。

 

実行中

 

引用

OMAnnotator: a novel approach to building an annotated consensus genome sequence
Sadé Bates,  Christophe Dessimoz,  Yannis Nevers

bioRxiv, Posted December 13, 2024.

 

関連

 

備考

Export Maker genesからは、選択した種間で共有されている遺伝子セットをダウンロードできる(その場でオルソロジー関係が推論されるので時間がかかる点に注意)。

計算機に負担がかかるのでSUBMIT前にしっかり考えてから進める事。