細菌形質の遺伝的基盤を決定しようとする研究は、伝統的に特定の原因遺伝子エレメントを特定するのではなく、目的の表現型に関連する新生クローンを同定することに限定されてきた(ref.1)。これは、バクテリアがクローン的に複製するという事実に起因しており、これはゲノムの大部分が任意の形質 (ref.2) と連鎖不平衡(LD)にあることを意味している。形質に関連する変異のリストのうちのどれが真に形質と因果関係であるかを決定するには、その形質が単一のクローン系統に特有に関連していないことを必要とする。(一部略)病原性のような臨床的に関連する形質の場合のように、表現型に対して完全に浸透 (浸透率 penetration rate) していない変異を見出すには、多数の試料を必要とし、より一般的な関連検査が必要となる(ref.4)。
これらの理由から、バクテリアの表現型のゲノムワイド関連研究(GWAS)は近年になってわずかになってきている(ref.2,5,6,7,8)。もともとヒトの一塩基多型(SNP)データのために開発された標準的なGWAS法は、バクテリアのゲノム突然変異に首尾よく適用可能であることが示されている(ref.6,7)。しかしながら、既知のバクテリア種の多くのゲノムの可塑性が高いことから、そのような方法は表現型の変異の遺伝的決定因子を部分的にしか同定できないと予想される。例えば遺伝子内容に関連する機構の発見を可能にするために、アライメントフリーの代替法も導入されている(ref.5,8)。これらの方法は、観察された表現型分布における差異の推定的説明に、一般的にk-mer、すなわち長さkのDNAワードを使用する。 k-mersの主な利点は、突然変異、indel、組換え、可変プロモーター構造および遺伝子含量の差異を含むゲノムのコレクション全体に存在するいくつかの異なるタイプの変異を捕捉する能力である。
K-mersは、アセンブリ (ref.9)、SNPjコール (ref.10) および距離推定 (ref.11) のためのバクテリアゲノミクスに使用されている。これまでのk-mersを用いた研究は、母集団構造をコントロールし系統推定を行うためにワードの増加と消失のモンテカルロシミュレーションを用いていた(ref.5)。一方で、SNPベースの研究では、コアアライメントに関するクラスタリングアルゴリズムと、得られたサンプルグループについてのstratified association testが使用されている( ref.6,7)。前者は、より小さなエフェクトサイズ(効果量)の関連を見つける必要があり、数百の分離株まで計算的にスケーリングできない。後者は、コアアライメントを探す感度が不十分であり、また多数のサンプルがある場合には生成が困難であり、 そもそも多様性があるかもしれない。
ここでは、新たにアセンブリされたコンティグまたはrawシーケンシングデータを入力として使用するスタンドアロンパイプライン実装の、計算的に数万のゲノムへスケーラブルできるsequence element enrichment analysisツール(SEER)を紹介する。著者らは、SEERを大規模で多様な集団のシミュレーテッドデータおよびリアルデータの両方に適用し、遺伝子の存在およびコード領域におけるSNPの両方によって引き起こされる抗生物質耐性との関連性を正確に検出することができることを示す。
Usage
https://github.com/johnlees/seer/wiki/Usage
インストール
ubuntu18.04でテストした。
依存
- gzstream http://www.cs.unc.edu/Research/compgeom/gzstream/
- armadillo http://arma.sourceforge.net/
- boost http://www.boost.org/
- dlib http://www.dlib.net/
- HDF5 https://www.hdfgroup.org/HDF5/
You will also require
スタティックとダイナミックのバイナリファイルをダウンロードできる。自分でビルドする場合はGithubを参照。
https://github.com/johnlees/seer/releases
> ./seer -h
$ ./seer -h
seer: sequence element enrichment analysis
Required options:
-k [ --kmers ] arg dsm kmer output file
-p [ --pheno ] arg .pheno metadata
Covariate options:
--struct arg mds values from kmds
--covar_file arg file containing covariates
--covar_list arg list of columns covariates to use. Format is 1,2q,3
(use q for quantitative)
Performance options:
--threads arg (=1) number of threads. Suggested: 2
Filtering options:
--no_filtering turn off all filtering and perform tests on all
kmers input
--max_length arg (=100) maximum kmer length
--maf arg (=0.01) minimum kmer frequency
--min_words arg minimum kmer occurences. Overrides --maf
--chisq arg (=10e-5) p-value threshold for initial chi squared test. Set
to 1 to show all
--pval arg (=10e-8) p-value threshold for final logistic test. Set to 1
to show all
Other options:
--print_samples print lists of samples significant kmers were found
in
--version prints version and exits
-h [ --help ] full help message
またはオーサーらが準備してくれている仮想イメージを利用する。(VirtualBox)
ftp://ftp.sanger.ac.uk/pub/pathogens/pathogens-vm/pathogens-vm.latest.ova
ラン
以下の手順で解析を進める。
1、初めに、アセンブリして作成したcontig配列をターゲットkにしてk-merカウントを実施する。クラスター環境でランできるなら、推奨されているようにdsm(リンク)を使用する。一般的なシングルサーバ環境ならfsm-lite(リンク)を使用する。
fsm-lite -v -s 5 -S 95 -l fsm_list.txt -t tmp_index > fsm_kmers.txt
The -s and -S options control the frequency of k-mers to report. In the above example there are 100 samples and only k-mers appearing in between 5 and 95 samples are output. This is equivalent to the recommended 5% minor allele frequency cutoff.
使えないならdskを使う。k-merサイズは固定となる。
dsk -file sample1_contigs.fa -abundance-min 1 -out sample1_dsk
dsk2ascii -file sample1_dsk.h5 -out sample1_dsk.txt
combineKmers -r 21mer_samples.txt -o all_21mers_new --min_samples 2
2、kmdsによる全k-merのサブサンプリングして.dsmファイルを作成。
distance.matrixを2ステップで作成する。まず分割してgzipする。
split -d -n l/16 fsm_kmers.txt fsm_out
rm fsm_kmers.txt
gzip fsm_out*
それからkmdsを走らせる。
kmds -k fsm_out{1..16}.gz --pheno metadata.pheno --no_filtering --no_mds --size 10000
{1..16}は1から16まで16回ランすることを意味する。
2の作業については、オーサーらはmash(紹介)を使った方が計算が早く終わり好ましいとしてmashを使った手順も紹介している(リンク)。
3、 2で作った.dsmを使い、distance matrixを計算。
ls *.dsm > subsampled_matrices.txt
kmds -p metadata.pheno --mds_concat subsampled_matrices.txt -o all_structure --threads 16 --write_distances
4、seerで解析する。
seer -k fsm_out{1..16}.gz --pheno metadata.pheno --struct all_structure --threads 4 --print_samples > significant_kmers.txt
Various filtering options are available. Note the the default is a MAF of >1%, unadjusted p-value of < 10e-5 and adjusted p-value of < 10e-8.
インストールが簡単になったpyseerも発表されています (link)。また紹介します。
引用
Sequence element enrichment analysis to determine the genetic basis of bacterial phenotypes
Lees JA, Vehkala M, Välimäki N, Harris SR, Chewapreecha C, Croucher NJ, Marttinen P, Davies MR, Steer AC, Tong SY, Honkela A, Parkhill J, Bentley SD, Corander J
Nat Commun. 2016 Sep 16;7:12797.
https://www.nature.com/articles/ncomms12797