[bioinfo]brakenを使ってkraken2の結果について量的な解析を行う
brakenはここからダウンロード
git clone https://github.com/jenniferlu717/Bracken
データベースを作る。kraken2を使っている場合は-k 35、今回は16Sのほぼ全長を増やしているので-l 1500とする。コンシューマーPC(Core i7-9800X 3.80GHz x 16, 128Gb RAM)だと一日以上時間を要する。
braken-build -d /where/karakendb/installed -t 16 -k 35 -l 1500 -x /where/kraken2/installed
brakenを使ってkraken2の結果を補正する。
-d krakenのデータベースの場所
-i krakenのレポートファイル
-l 分類レベルの指定 [Default = ‘S’ (種species)、’D’ (ドメインdomain)、’P’ (門phylum)、’C’ (綱class)、’O’ (目order)、’F’ (科family)、’G’ (属genus)、’S’ (種species)]
-o brakenのoutputファイル名
-r read長の指定(今回はnanopore dataなので、1500bp)
-t threshold (minimum リード数)
bracken -d krackendb -i kraken2.report -l P -o bracken.out -r 1500 -t 5
出てきた個別のサンプルのデータを一つのテーブルに結合する。
brackenのパッケージにあるスクリプトで結合する。
python /Bracken/analysis_scripts/combine_bracken_outputs.py --files *bracken.out -o merged
taxid = sample_counts[name].keys()[0]
TypeError: ‘dict__keyes’ object isno subscriptable
というエラーが出る場合は、133行目の
taxid = sample_counts[name].keys()[0]
を
taxid = list(sample_counts[name].keys())[0]
に編集すると良い。
特定のtaxonのリードを抽出する。
KrakenToolsのextract_kraken_reads.pyを利用する。複数に渡るfastqデータは受け付けない(ペアエンドデータはOK)。
extract_kraken_reads.py -k kraken2_out -s concat.fastq.gz -t 1117 --include-children -o selected.fastq --fastq-output