2019 5/20 関連ツール追記
2022/06/02 インストール追記
抗生物質耐性菌による感染は世界的に増加しており、公衆衛生に大きな脅威をもたらしている[ref.1]。抗生物質耐性は細菌種の固有の特性である場合があるが、その臨床的意味において、それは既存の染色体DNAの突然変異によって、またはより一般的には遺伝子の水平移動によって獲得された形質である[ref.2]。環境コミュニティは非常に多様な抗生物質耐性遺伝子(ARG)を抱えていて[ref.3、4、5]、ヒトまたは動物において直接または共生細菌を介して病原体に広がる可能性がある。実際、臨床的に関連性のあるARGの多くは環境細菌に由来すると考えられており、一緒になって、大きく、そしてほとんど探求されていない抵抗性貯留層を構成している[ref.6]。さらに、高濃度の抗生物質にさらされる環境で特に顕著な現象[ref.8、9、10]で、強い選択圧がARGの豊富さと多様性を豊かにし得る[ref.7]。それゆえ、多くの特徴付けされていないARGを含む、環境および共生細菌群集におけるレジストソームを調査することが不可欠である。これにより、ARGのヒト病原体への進化および動員の背後にあるプロセスの理解が深まり、臨床現場に到達する前の早期監視および封じ込め行動が促進される。
ショットガンメタゲノミクスは、収集されたゲノムのランダムフラグメントのシーケンシングを通して細菌群集の分析を可能にする[ref.11, 12]。環境細菌種の1%未満が標準的な方法で培養可能と見なされる。メタゲノムはそれゆえ、培養ベースのアプローチと比較して、そのARGを含むコミュニティの補完的な見方を提供する[ref.13]。大規模並列シーケンシングのキャパシティ増加に伴い、ショットガンメタゲノミクスの実行が急速に安価になり、それに応じてデータのアクセスが容易になった[ref.14]。しかし、メタゲノムデータは非常に細分化されており、幅広いアーティファクトとノイズを特徴としている[ref.15]。これは、特により豊富さが少ない細菌種および株にとって、より大きなゲノム領域のアセンブリを困難にする。これはARGに特に当てはまり、ARGは、例えばインテグロン、トランスポゾン、およびプラスミド中のリペティティブエレメントおよび複数の文脈を有する領域にしばしば存在する。したがって、ARGはメタゲノムデータから再構築するのが難しいことでよく知られる[ref.8、16、17]。したがって、メタゲノムデータセットにおけるこれまでに特徴付けられていなかったARGの多様性は、既存の分析パイプラインでは見過ごされがちである。
細菌DNA配列中の抗生物質耐性遺伝子の同定は、ARGリファレンスデータベースに対する相同性検索を通してしばしば行われる[ref.18-20]。 ARDB [21]、SARG [ref.22]、CARD [ref.23]、ResFinder [ref.20]など、いくつかのリファレンスデータベースがこの目的のために設計されている。これらおよび他のリファレンスデータベースが何千もの特徴付けられたARGを含んでいても、それらは全抵抗性のごく一部を反映しているだけである[ref.6]。さらに、アノテーションパイプラインの大多数は既知のARGを見つけるために開発されたものであり、既知のARGとの類似性が低い機能耐性遺伝子を正確に同定するために最適化されていないか、あるいは不可能であることが多い。これは、フラグメント長が短いためにアノテーションを付けることが特に困難なメタゲノムデータに特に当てはまる。[ref.24-27]。例えばARGs-OAP [ref.22]、GROOT [ref.28]、AmrPlusPlus [ref.29]、MEGAN [ref.30]、ARIBA [ref.31]など、いくつかの方法がこの目的のために開発されている。ただし、これらの方法では、既知のARGを使用してデータベースに厳密に一致させることができるリードのみが考慮される。それゆえ、完全に新規な遺伝子からメタゲノムリードを見つける既存の方法の正確さは未知であり、そして潜在的に低い。 ARGを検出するための他のアプローチは、感度を高めるために隠れマルコフモデルを使用するResfams[ref.32]、およびタンパク質構造についての情報を組み込むために機械学習を適用するPCM [ref.33]である。しかしながら、これらの方法は、より長く完全にアセンブリされた遺伝子配列について働くよう設計されている。最近、ショットガンのメタゲノムデータから直接新しいARGを見つける新しい方法deepARGが発表された。 deepARGは人工ニューラルネットワークをベースにした分類器を使用しているため、短いシーケンスフラグメントでも直接処理できる[ref.34]。しかしながら、deepARGは同定されたフラグメントを全長ARG配列にアセンブリする機能性を欠いている。したがって、まとめると、新規のARGからメタゲノムリードを同定し、次いでそれらの全配列を正確に再構築できるレジストソームの探索方法はない。
ここではfARGeneというメタゲノムデータから直接ARGの同定と再構成を行う新しい方法を提示する。fARGeneは、既知のARGとの配列類似性が低い場合でも、以前には特徴付けられていなかった耐性遺伝子を正確に識別するために最適化された確率的遺伝子モデルを使用する。この方法は、最初にARGに由来する可能性があるフラグメントを同定することによって機能し、次いでこれは次に全長遺伝子に再構築される。この方法は全メタゲノムの完全なアセンブリを必要としないため計算上効率的であり、非常に大きなシーケンスデータセットにも適用可能である。この方法を実証するために、4つすべてのβ-ラクタマーゼアンブラークラス(A、B、C、およびD)を表すARGモデルを作成し、50億を超えるシーケンシングリード含む5つのメタゲノムデータセットに適用した。結果はARGを221の再構成し、そのうち58はこれまで報告されていなかった(NCBI Genbank中のいずれの遺伝子に対しても70%以下の配列類似性)。さらに、以前にfARGeneによって再構築され大腸菌で発現された38の新規ARGのうち、80%超が機能的で大腸菌に耐性を付与した。最後に、本著者らはfARGeneがdeepARGおよび新規β-ラクタマーゼを検出する他の5つの方法と比較して有意により高い感度を有することを示す。 fARGeneはあらゆるクラスのARGに適用可能で、MITライセンスの下でGitHub(https://github.com/fannyhb/fargene)から、ドキュメントとチュートリアルと共に、自由に利用できる。
tutorial
https://github.com/fannyhb/fargene/blob/master/tutorial/tutorial.md
インストール
依存
- Python 2.x
- EMBOSS transeq
- seqtk
- HMMER
- For short-read data:
- SPAdes 3.7.0 or later
- Trim Galore! (optional)
- ORFfinder (optional)
- For long-read data
- prodigal (optional)
mamba create -n fARGene
conda activate fARGene
mamba install -c bioconda -y seqtk emboss hmmer spades trim-galore prodigal
#ORF_finderはbinaryをダウンロードし、実行権を付け、PATHの通ったディレクトリに移動する
wget ftp://ftp.ncbi.nlm.nih.gov/genomes/TOOLS/ORFfinder/linux-i64/
chmod +x ORFfinder
mv /usr/local/bin/
本体 Github
(Gitubより)
setup.py will look for and try to install numpy and matplotlib so make sure that you either:
have these packages installed
run setup.py as root or with sudo
install the program in a conda environment.
git clone https://github.com/fannyhb/fargene.git
cd fargene
python setup.py install
> fargene -h
# fargene -h
usage: fargene [-h] --infiles INFILES [INFILES ...] --hmm-model HMM_MODEL
[--score LONG_SCORE] [--meta] [--meta-score META_SCORE]
[--output OUTDIR] [--force] [--tmp-dir TMP_DIR] [--protein]
[--processes PROCESSES] [--min-orf-length MIN_ORF_LENGTH]
[--retrieve-whole] [--no-orf-predict] [--no-quality-filtering]
[--no-assembly] [--orf-finder] [--store-peptides] [--rerun]
[--amino-dir AMINO_DIR] [--fasta-dir FASTA_DIR]
[--translation-format TRANS_FORMAT] [--loglevel {DEBUG,INFO}]
[--logfile LOGFILE]
Searches and retrieves new and previously known genes from fragmented
metagenomic data and genomes. Copyright (c) Fanny Berglund 2018.
optional arguments:
-h, --help show this help message and exit
--infiles INFILES [INFILES ...], -i INFILES [INFILES ...]
Input file(s) to be searched. Could either be in FASTA
or FASTQ format.
--hmm-model HMM_MODEL
The Hidden Markov Model that should be used to analyse
the data. Could either be one of the pre-defined
models or the path to a custom HMM.
--score LONG_SCORE, -sl LONG_SCORE
The threshold score for a sequence to be classified as
a (almost) complete gene (default: None).
--meta If the input data is paired end metagenomic data
(default: False).
--meta-score META_SCORE, -sm META_SCORE
The threshold score for a fragment to be classified as
a positive. Expressed as score per amino acid
(default: None).
--output OUTDIR, -o OUTDIR
The output directory for the whole run (default:
./fargene_output).
--force, -f Overwrite output directory if it exists (default:
False).
--tmp-dir TMP_DIR Directory for (sometimes large) intermediate files.
(default: OUT_DIR/tmpdir)
--protein If the input sequence(s) is amino acids (default:
False).
--processes PROCESSES, -p PROCESSES
Number of processes to be used when processing
metagenomic data (default: 1).
--min-orf-length MIN_ORF_LENGTH
The minimal length for a retrieved predicted ORF (nt).
(default: 90% of the length of the chosen hmm.)
--retrieve-whole Use this flag if the whole sequence where a hit is
detected should be retrieved (default: False).
--no-orf-predict Do not perform ORF prediction.
--no-quality-filtering
Use if no quality control should be performed on the
metagenomic data (default: False).
--no-assembly Use if you want to skip the assembly and retrieval of
contigs for metagenomic data (default: False).
--orf-finder Use NCBI ORFfinder instead of prodigal for ORF
prediction of genomes/contigs (default: False).
--store-peptides, -sp
Store the translated sequences. Useful if you plan to
redo the analysis using a different model and want to
skip the preprocessing steps (default: False).
--rerun Use of you want to redo the analysis or do the
analysis using a different model and have kept either
the nucletide or amino acid sequences. Please note
that this only works if the input data is the same for
both runs (default: False).
--amino-dir AMINO_DIR
Where the amino acid sequences generated by the method
are located. Only to be used in combination with
--rerun
Where the nucleotide sequences in FASTA generated by
previous runs of the method are located. Only to be
used in combination with --rerun
--translation-format TRANS_FORMAT
The translation format that transeq should use.
(default: pearson)
--loglevel {DEBUG,INFO}
Set logging level (default: INFO).
--logfile LOGFILE Logfile (default: fargene_analysis.log).
導入に手間取ったのでdocker imageも上げておきます。他のツールのテストもしてたためライブラリをかなり入れていてサイズが肥大しています。使用する場合は注意して下さい。
docker pull kazumax/fargene
source ${HOME}/.profile
fargene -h
実行方法
raw fastqを指定する。ランには
fargene -i input*.fastq --meta --hmm-model class_b_1_2 -o output
(Gitubより) hmm-model can be any of the pre-defined models:
- Class A beta-lactamases --hmm-model class_a
- Subclass B1 and B2 beta-lactamases --hmm-model class_b_1_2
- Subclass B3 beta-lactamases --hmm-model class_b_3
- Class C beta-lactamases --hmm-model class_c
- Class D beta-lactamases --hmm-model class_d_1 --hmm-model class_d_2
- qnr --hmm-model qnr
predicted-orfs*が再構築されたARGになる。周辺配列を調べるなら、retrieved-contigs.fastaを使う。
またはアセンブリして得たcontig配列(binnig済みのもの)を指定する。
fargene -i contig.fasta --hmm-model class_b_1_2 -o _output
protein配列も利用できる。
fargene -i contig_proteome.fasta --hmm-model class_b_1_2 --protein -o _output
出力の詳細はGithubで説明されています。
Identification and reconstruction of novel antibiotic resistance genes from metagenomes
Fanny Berglund, Tobias Österlund, Fredrik Boulund, Nachiket P. Marathe, D. G. Joakim Larsso, Erik Kristiansson
Microbiome 2019 7:52
関連