遺伝暗号は「frozen accident」(参考)であると提唱されてきたが、過去40年間の代替遺伝暗号の発見により、ある程度進化しうることが明らかになった。ほとんどの例は
anecdotallyに発見されたものであるため、コドン置換の進化の軌跡や、なぜあるコドンがより頻繁に影響を受けるのかについて一般的な結論を導き出すことは難しい。遺伝暗号の多様性を埋めるために、本著者らは塩基配列データから各コドンのアミノ酸解読を予測する計算手法Codettaを開発した。GenBankに登録されている25万以上の細菌および古細菌ゲノム配列の遺伝暗号の使用状況を調査したところ、アルギニンコドンの再割り当てを5つ(AGG、CGA、CGG)発見し、細菌で初めてのセンスコドンの変更を示した。未開拓のバクテリアの一群では、アルギニンtRNAのアミノ酸チャージが変化することにより、AGGがメチオニンコドンの主流となる進化を遂げたと考えられる。CGAやCGGの再割り当てはGC含量の低いゲノムで見られ、進化の過程でこれらのコドンの頻度が低くなり、再割り当てが可能になったと思われる。
インストール
依存
- Codetta was developed for Python versions 3.5+ on Linux and MacOS.
- Required Python packages are numpy and scipy.
#condaでpython3.9の環境を作りscipy(v >0.19)を導入
mamba create -n codetta python=3.9 -y
conda activate codetta
pip install scipy
#本体
git clone https://github.com/kshulgina/codetta.git
cd codetta/
./setup.sh
データベースの準備
Codettaは入力配列をタンパク質プロファイルHMMのデータベースとアライメントする。デフォルトでは、CodettaはPfamデータベースを使用する。Codetta用に特別にビルドされたPfam 35.0のバージョンがダウンロードできる。
cd resources/
wget http://eddylab.org/publications/Shulgina21/Pfam-A_enone.tar.gz
tar xf Pfam-A_enone.tar.gz
rm Pfam-A_enone.tar.gz
cd ..
> ./codetta.py -h
$ ./codetta.py -h
usage: codetta.py [-h] [-p PROFILES] [-s RESULTS_SUMMARY] [-e EVALUE]
[-r PROBABILITY_THRESHOLD] [-f MAX_FRACTION] [-m] [-t] [-v] [-u] [-y]
[--align_output ALIGN_OUTPUT] [--inference_output INFERENCE_OUTPUT]
[--resource_directory RESOURCE_DIRECTORY]
sequence_file
infer genetic code used by an organism from nucleotide sequence
positional arguments:
sequence_file specify the input nucleotide sequence file in
FASTA format.
optional arguments:
-h, --help show this help message and exit
-p PROFILES, --profiles PROFILES
profile HMM database file, must be in located
in resource directory (default: Pfam-A_enone.hmm)
-s RESULTS_SUMMARY, --results_summary RESULTS_SUMMARY
file path to append one-line result summary
-e EVALUE, --evalue EVALUE
profile HMM hit e-value threshold (default: 1e-10)
-r PROBABILITY_THRESHOLD, --probability_threshold PROBABILITY_THRESHOLD
threshold for decoding probabilities (default: 0.9999)
-f MAX_FRACTION, --max_fraction MAX_FRACTION
maximum fraction of observations for a codon
coming from a single Pfam position (default: 0.01)
-m, --mito_pfams flag to include Pfam domains commonly found in
mitochondria
-t, --transposon_pfams
flag to include Pfam domains associated with
transposons and other mobile genetic elements
-v, --viral_pfams flag to include Pfam domains associated with viruses
-u, --selenocysteine_pfams
flag to include Pfam domains known to contain
selenocysteine
-y, --pyrrolysine_pfams
flag to include Pfam domains known to contain
pyrrolysine
--align_output ALIGN_OUTPUT
prefix for files created by codetta_align and
codetta_summary. This can include a path. (default: [SEQUENCE_FILE])
--inference_output INFERENCE_OUTPUT
output file for codetta_infer step. Default is
[ALIGN_OUTPUT].[PROFILES FILE].[inference parameters].genetic_code.out
--resource_directory RESOURCE_DIRECTORY
directory where resource files can be found
(default: [script dir]/resources)
テストラン
ゲノム、トランスクリプトーム、遺伝子のコレクションなどの塩基配列のFASTA形式ファイルを指定する。ここではNasuia deltocephalinicolaという細菌のゲノムを指定し、この細菌の遺伝暗号を予測する。
cd codetta/
./codetta.py examples/GCA_014211875.1.fna
Codettaの3つのステップが実行され、入力配列ファイルを含むディレクトリに5つのファイルが作成される。最後に、推定された遺伝コードが端末に出力される。
マニュアルより
- ?はアミノ酸の意味が推測できないコドン。これは、確信を持って推測するためには、そのコドンに関する情報が不十分であるか、あいまいであったことを意味する。
- 停止コドンについても予想される推論である(Codettaは停止コドンを明示的に予測しないため)。
- 大規模なゲノムや多数の配列を解析する場合は、計算機クラスタ上でcodetta_alignステップを並列化することが推奨される(レポジトリにSLURMのジョブスケジューラーを使用しているクラスタでの並列処理の説明あり)。
- 特定のクレードに着目している場合、カスタマイズされたプロファイルHMMデータベースを使用することで、アライメントされる配列の割合を増やすことができる。レポジトリでは、 metazoan mitochondria向けにカスタマイズされたプロファイルHMMデータベースを構築する例がある。
- -e でプロファイル HMM のヒット e 値の閾値を変更できる(デフォルトは 1e-10)。
- -rで、コドンに対するアミノ酸の意味を判定する確率の閾値を変更できる(デフォルトは0.9999)。
- -fを使用すると、1つのプロファイルHMMの位置から得られるコドンの観測値の最大割合を変更できる(デフォルトは0.01)。
引用
A computational screen for alternative genetic codes in over 250,000 genomes Yekaterina Shulgina, Sean R Eddy
eLife. 2021 Nov 9;10:e71402
参考