京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

最も重要な ribosomal RNA(rRNA)の1つである『16S rRNA』の生命科学的な話

リボソームは、細胞内のタンパク質の合成装置である

まず、リボソーム(ribosome)について概説します。

リボソームでは、mRNAの情報を読み取り、tRNAに結びついたアミノ酸から所定のタンパク質を合成する。(出典元

細胞の核内で、DNAの二重螺旋構造が部分的にほどけて、一本鎖のDNAが剥き出しになると、 そこに、RNAポリメラーゼが結合して、そのDNA鎖に相補的なRNA鎖が合成される。 このRNA鎖が、遺伝情報の運び屋であるmRNA(メッセンジャーRNA、伝令RNA)として働き、 細胞外に移行して、細胞質にあるリボソームへと送られる。

リボソームでは、mRNAの塩基配列が解読されて、 tRNA(トランスファーRNA、転移RNA)によって運ばれてくる、 アミノ酸(タンパク質の材料となる)を塩基配列に対応する順番にペプチド結合させ、 タンパク質(ポリペプチド)を合成していく。

これらの過程において、 DNAの一部の遺伝情報を使ってRNAを合成することを「転写」といい、 RNAの配列を基にタンパク質を生合成することを「翻訳」と呼ぶ。

リボソーマルRNA(rRNA)

rRNAとは、タンパク合成の場である、リボソームを構成するRNAである。 rRNAは、RNAのうちで、生体内でもっとも多く存在する(約 70-80 %)。

原核生物では、リボソームの大サブユニット(50Sサブユニット )に23Sと5SのrRNAが含まれ、 また小サブユニット(30Sサブユニット)に16S rRNAが含まれる。 それぞれのSは、沈降係数(Sedimentation coefficient)に由来し、つまりは高分子の下降速度を反映した指標(タンパク質の大きさと相関がある)である。 これらrRNAをコードするのが、rRNA遺伝子 (rDNA) である。

rDNA遺伝子群の模式図(出典元

16S rRNA とは??

16S rRNAは、原核生物のリボソーム小サブユニット(30Sサブユニット)を構成するrRNAであり、 すべての原核生物のタンパク質の合成に必要である。 16S rRNA遺伝子は、rRNAをコードする遺伝子(rDNA)であり、すべての細菌のゲノム中に存在する。 16S rRNAは高度に保存された特異的な配列であり、その配列の長さは約 1500 塩基である。

一般的に、16S rRNA遺伝子領域の進化速度が遅いことから、系統樹の復元に利用される。 つまりは、16S rRNA遺伝子配列の差異情報を利用して、細菌などの生物種の同定が行われる

Thermus thermophilus由来30S Subunitの分子構造。タンパク質は青色、一本鎖RNAはオレンジ色で示す。(出典元

様々な種のrRNA(出典元

16S rRNAの特徴

原核生物(細菌を含む)の16S rRNAには、以下のような特徴がある。

  • ゲノム中に複数のコピーが存在: 1つの細菌に、5〜10コピーの16S rRNA遺伝子が存在する。

  • 可変領域と保存領域: 16S rRNA遺伝子の塩基配列は、可変領域(Variable regions)と保存領域(Constant region)から構成される。保存領域は全ての細菌に共通で、可変領域は細菌の属や種で特異性で、細菌それぞれを分類する程度の差がある。また、可変領域と保存領域は交錯して存在する。したがって、保存領域を利用してユニバーサルプライマーを設計できる。また、可変領域を利用することで、特定の細菌・微生物の特異的プライマーを設計することができる。

最もよく配列決定されている可変領域の1つである、V3-V4領域(約 469 塩基)を利用したプライマー設計の模式図(出典元

  • 中程度の配列長: 16S rRNA遺伝子の長さは約1500塩基で、約50の機能ドメインが含まれる。

  • 16S rRNAの機能: (1)リボソームタンパク質を固定化し、足場として機能する。(2)3'末端にはreverse SD配列があり、mRNAのAUG開始コドンに結合するために使われる。16S rRNA の 3'末端と S1、S21 の組み合わせは、タンパク質合成の開始に関係する。(3)23S rRNAと相互作用して、リボソームサブユニット間の統合を助ける。

16S rRNA 遺伝子検出と次世代シーケンスの利用

16S rRNA 遺伝子の配列には、 高度に保存された塩基配列(保存領域、プライマー結合部位)に加えて、 細菌の同定に有用な種特異的配列(可変領域)が含まれている。

当初、16S rRNAの配列情報は、細菌の同定に主に使用されていたが、 その後、細菌をまったく新しい種、あるいは属に再分類できることも分かった。 また現在では、これまで培養に成功していない新種の発見や論拠にも利用される。

16S rRNA遺伝子の検出技術は、病原体の検出と同定のための強力なツールとなっている。 遺伝子検出技術に加えて、データベースとの照合により、病原体の分類、同定、検出を迅速、正確、かつ確実に行うことができる。

遺伝子検出の主なステップとしては、(1)細菌・微生物からのゲノムDNAの取得、(2)16S rRNA遺伝子の可変領域断片の取得、(3)取得された遺伝子断片の塩基配列解析が行われる。

さらに次世代シーケンスの登場によって、より安価かつ簡便に多くの配列決定が可能となり、 何千もの16S rRNAシーケンスを同時に特定できるため、 例えば、腸内フローラなどのメタゲノム研究にも応用可能となっている。

まとめ

リボソームを構成するrRNAは、すべての生物の生存に不可欠なものである。

16S rRNAは、細菌や他の微生物の進化の過程で高度に保存され、「分子の化石」とも呼ばれる。 それと同時に、その保存性は相対的なものであり、保存領域間に存在する領域には、9〜10個の変異領域(V1〜V10)が存在する。これらの遺伝子情報は、細菌の科、属、種を同定・分類するのに十分な程度の違いが認められる。

16S rRNAは細菌・微生物の分類のためのマーカーであると同時に、病原体の検出・同定のための標的分子としても利用できる。

参考資料

www.cd-genomics.com

en.wikipedia.org

Mac版のSRA Toolkitを設定して、fastq-dumpを使ってみた件

はじめに - SRA Toolkitについて -

SRA Toolkitは、NCBIのデータベースである、Sequence Read Archivesのデータを扱うためのツール群である。 もっと簡単に言うと、コマンドラインでシークエンス・データを取得・処理するための、入れておくと便利なツール群である。

現状、WEBブラウザ(GUI)では、 NCBIのWebアーカイブからFASTQファイルをダウンロードできない仕様のようで、 その代わり、CUIのSRA Toolkitが用意されているようだ。

github.com

SRA Toolkitは、コマンド操作に慣れていれば、 ソースファイルをダウンロードして、比較的簡単に設定ができる。

wgetコマンドを使って、SRA Toolkitを取得する

まずはターミナルを起動して、wgetで、Mac用のSRA Toolkitファイルをダウンロードして、 圧縮ファイルをtarコマンドで解凍する。

あるいは、wgetを使わなくても、openでもダウンロード可能である。

#ダウンロード
wget http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-mac64.tar.gz

#あるいは
open http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-mac64.tar.gz
#でも可

#tar.gzを解凍する
tar -zxvf sratoolkit.current-mac64.tar.gz

#使わない、圧縮ファイルを削除する
rm -rf sratoolkit.current-mac64.tar.gz

次に、sratoolkit.current-mac64のソースファイルを任意のフォルダに移動させる。 今回は、アプリケーション・フォルダ(/Applications)に移動させ、続きの設定を行う。

#アプリケーション・フォルダに移動させる
mv -f sratoolkit.2.11.2-mac64 /Applications

sratoolkit.2.11.2-mac64のパス設定

fastq-dumpのパス設定を見てみると、 当然ながら、まだ設定されていない。

# fastq-dumpのパス確認
which fastq-dump
#fastq-dump not found

最近のMacでは、zshがデフォルトシェルになっているので、 ホームディレクトリにある.zshrcにパス設定を追記する。

.zshrcがない場合でも、同じ実行コマンドで、.zshrcが作成されて書き込みされる(はず)。

#パス設定の追記
echo "export PATH=$PATH:/Applications/sratoolkit.2.11.2-mac64/bin" >> ~/.zshrc

#追記されたか確認
cat ~/.zshrc
#export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/sratoolkit.2.11.2-mac64/bin
#な感じ行が書き込まれてたら、OK

#即時適用する
source ~/.zshrc

#パス出力
echo $PATH

# fastq-dumpのパス確認
which fastq-dump
#/Applications/sratoolkit.2.11.2-mac64/bin/fastq-dump

「which fastq-dump」が無事に通れば、パスの設定はOKである。

SRA Toolkitでよく使うツール

このセクションでは、SRA Toolkitでよく使われると思われるコマンドを概説した。

今回は、vdb-configfastq-dumpのコマンドを試す。

  • vdb-config : VDBの設定情報の表示と変更

  • fastq-dump : SRAデータをFASTQ形式に変換する

  • prefetch : SRA、dbGaP、ADSPデータのコマンドラインダウンロードを行う

  • sam-dump : SRAデータをsam形式に変換する

  • sra-pileup : アラインメントされたSRAデータのパイルアップ統計を生成する

  • vdb-decrypt : non-SRA dbGaP data ("phenotype data")の復号化

fastq-dumpを使って、NCBIからシークエンスデータをダウンロードする

fastq-dumpコマンドは、NCBIのデータリポジトリからSRA データをダウンロードして、 その後、得られたSRA形式(.sra)を自動的にFASTQファイル(.fastq)に変換してくれる非常に役に立つコマンドである。

シングルリード・シークエンスデータ取得の実施例として、 The microbial communityが公開しているSRR17327096をダウンロードして、FASTQファイルへの変換を試みる。

fastq-dumpの最もシンプルな文法は、 Run ID (e.g. SRR17327096)との組み合わせである。

fastq-dump SRR17327096

しかしながら、、初めに、fastq-dumpコマンドを実行すると、以下のようなエラーメッセージが表示されるだろう。

This sra toolkit installation has not been configured.
Before continuing, please run: vdb-config --interactive
For more information, see https://www.ncbi.nlm.nih.gov/sra/docs/sra-cloud/

このメッセージがでたら、SRA configurationを行うために、 そのまま続けて、以下のコマンドを実行する。

vdb-config --interactive

これを実行すると、ターミナル上に、下記の青い画面が表示される。

やや奇怪な表示であるが、何てことはない。 ここで、「x」を押すと、「Enable Remote Access」の設定が完了する。

これで、NCBIからSRAがダウンロードできる環境設定になっている。

SRAを取得して、FASTQファイルに変換するコマンド(シングルリードの設定)

上記と同じであるが、fastq-dumpの文法は、Run ID(アクセッション番号)を指定して実行するだけである。

#ダウンロード
fastq-dump SRR17327096

#head表示(一部)
head -n 4 SRR17327096.fastq
#@SRR17327096.1 1 length=488
#CCTACGGGAGGCAGCAGTGAGGAATATTGGTCAATGGGCGAG
#+SRR17327096.1 1 length=488
#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

実行の結果、「SRR17327096.fastq」がローカルディレクトリに作成される。

約116MBのFASTQファイルが生成され、実行時間としては10-15秒くらいかかる。

gz圧縮形式で、FASTQファイルを取得するコマンド(シングルリードの設定)

--gzipをつけることで、gz圧縮形式で取得することもできる。

#ダウンロード + gz圧縮
fastq-dump --gzip SRR17327096

FASTA形式でダウンロードする

デフォルト設定で取得される、FASTQファイルだと結果が冗長となる。 そこで、クオリティデータがない、FASTA形式でダウンロードするには、 --fastaオプションをつける。

--fastaオプションで、1行あたりの塩基数を設定する。

例えば、--fasta 60で、1行あたり60塩基のFASTAファイルに変換できる。

#1行60ベースのFASTA取得
fastq-dump --fasta 60 SRR17327096

#head表示
head SRR17327096.fasta 
#>SRR17327096.1 1 length=488
#CCTACGGGAGGCAGCAGTGAGGAATATTGGTCAATGGGCGAGAGCCTGAACCAGCCAAGT
#AGCGTGAAGGATGACTGCCCTATGGGTTGTAAACTTCTTTTATAAAGGAATAAAGTCGGG
#TATGCATACCCGTTTGCATGTACTTTATGAATAAGGATCGGCTAACTCCGTGCCAGCAGC
#CGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGA
#TGGAGGACTACTCGGGTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCA
#GTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTCTTCGTGATATCTAAGCATTTCAC
#CGCTACACCACGAATTCCGCCTGCCTCAACTGCACTCAAGATATCCAGTATCAACTGCAA
#TTTTACGGTTGAGCCGCAAACTTTCACAACTGACTTAAACATCCATCTACGCTCCCTTTA
#AACCCAAT

FASTQは@を、FASTAは>をデータの先頭としてそれぞれ始まる。

また、FASTA形式の場合も、--gzipをつけることで、gz圧縮が可能である。

#1行60ベースのFASTA取得 + gz圧縮
fastq-dump --gzip --fasta 60 SRR17327096

初めの5リードをFASTQにして標準出力するコマンド(シングルリードの設定)

SRAの一部のリードだけを読み込み、ターミナル上に表示だけしたい場合には、-Xや-Zのオプションを使用する。

fastq-dump -X 5 -Z SRR17327096 

この設定の場合、標準出力だけで、ローカルにファイルは保存されない。

fastq-dumpの基本形

Usage:
fastq-dump [options] <path/file> [<path/file> ...]
fastq-dump [options] <accession>

fastq-dumpの代表的なオプション

オプション 概要
-h ヘルプ表示
-V プログラムのバージョンを表示
--split-files ペアードエンド・リード用のオプション。各リードを別々のファイルにダンプする。ファイルにはリード番号に対応するサフィックスが付く。
--fasta <塩基数> FASTQ変換。1行あたりの塩基数を指定。
-F Deflineにオリジナルの配列名のみを表示する。
-N ダンプされる最小スポットID。範囲を指定してダンプする場合は、"X "と一緒に使用する。
-X ダンプされる最大スポットID。範囲を指定してダンプする場合は、"N "と一緒に使用する。
-Z 標準出力に出力する。分割されたデータはすべて1つのストリームに結合されます。
-O 出力ディレクトリ。デフォルトは現在の作業ディレクトリ ('.')。
--gzip ファイルをgz圧縮形式で出力
--bzip2 ファイルをbzip2圧縮形式で出力

まとめ

シークエンスデータのRun IDが分かれば、 簡単にFASTQファイル・FASTAファイルが取得できるのは結構便利である。

一方で、1回のコマンド実行で、 複数のFASTQファイルをダウンロード・処理できないようなので、 別途、複数ダウンロード用のスクリプトを組み必要がありそうだ。

ゲノム解析の関連記事

skume.net

skume.net

skume.net

skume.net

skume.net

参考資料

github.com

kimbio.info

trace.ncbi.nlm.nih.gov

Macで、DS_Storeとか、Rの隠しファイルをバッチファイル(.command)で削除するTips

はじめに

Macで、フォルダごとファイルをアップロードしたときに、 一緒についてくる隠しファイルが邪魔と感じたことがあるのではないだろうか。

この記事では、シェル(sh)スクリプトのバッチ処理で、 DS_Storeとか、R関連の隠しファイルを削除するやり方を紹介する。

.commandのバッチファイルを作成する

まずは、任意のテキストエディタを使用して、 .commandの拡張子を持つターミナル実行のバッチファイルを作成する。

例えば、DS.commandとか、任意の名前をつける。

shスクリプトをコピペする

以下の#!/bin/bashから始まる、スクリプトをcommandファイル内にコピペする。

このスクリプトで、.commandファイルがあるディレクトリ下位の.DS_Store、.RData、.Rhistory、および.Rproj.userの隠しファイルが削除できる。

#!/bin/bash

MY_DIRNAME=$(dirname $0)
cd $MY_DIRNAME

du -a | grep .DS_Store | xargs rm -rf
du -a | grep .RData | xargs rm -rf
du -a | grep .Rhistory | xargs rm -rf
du -a | grep .Rproj.user | xargs rm -rf

exit

#!/bin/bashは、このスクリプトをbashで実行することを意味する。 MY_DIRNAME=$(dirname $0)の行で、ファイルがあるディレクトリパスをMY_DIRNAME変数に代入する。 cd $MY_DIRNAMEで、設定されたディレクトリに移動する。

du -a | grep .DS_Store | xargs rm -rf行の実行で、関連ファイルを削除する。 xargsは、その前の出力結果を受け取って、その次のrmコマンドの引数として受け渡すコマンドである。

また、grepのあとの引数を削除したい任意のファイル名の文字列に変えることで、 任意のファイルを削除できる。

.commandファイルに実行権限を与える

.commandファイルは、通常、ダブルクリックして実行するのだが、 作っただけだと、おそらく、実行権限がないとかで怒られるかもしれない。 そういうときには、chmod コマンドで、ユーザーに実行権限を与える。

例えば、DS.commandに実行権限を与えるには、ターミナルで以下のコマンドを実行する。

chmod +x DS.command

補足: chmodの使い方

chmodの使い方については、以下の記事も参考のこと。

skume.net