ナノポアHLA解析パイプライン
ナノポアシーケンスはMK1Bなど、安価に導入しやすいNGSで今後益々活躍することが期待されます、
フローセルも安価なFlongleで充分なデータが出ていますので、ランニングコストもかなり抑えられます。この方法で安価なHLA型検査を実施できる施設が増えることは患者様にとって極めて有益なことだと思れます。
ナノポアシーケンスでのHLA型判定のため、Galaxy project on desketop使用した解析パイプライン
を構築しましたのでご紹介いたします。ナノポアシーケンスによるHLA型検査導入前の検討にお役に立てれば何よりです。ただし、IGVやGalaxyのことをある程度知識として持っていないと、理解するのは難しいです。
最終判定はNCBI BLASTシステムにより判定するため、結果の見方等難しいことがあります為、得られた判定結果は、補助的な扱いとすることを推奨いたします。
この方法は、Web上でのGalaxyを利用するのでなく、自身のPC上で稼働させるものです。
【OS】 ubuntu (バーチャルでの稼働は推奨いたしません。)
【問題点】
・HLA領域のリファレンスへのマッピングは、難しいものがあります。特にHLA-DRB1は半数ほどのデータがDRB5,DRB6にマッピングされてしまうときがあります。K-mer等色々模索しましたが、うまくいっていません。よって、力技とも言うべき方法をとりました、使用するリファレンスchr6 fastaデータのDRB5、DRB6等の配列をNNNNN・・・で潰して強制的にDRB1へマッピングさせる方法をとりました。故にPCRでDRB3,4,5等が増幅されている場合は利用することができません。
・Galaxyにもバグがある場合があります、エラーなど起こることがありますが、エラーの種類が、プログラムによるものか、操作エラーによるものか吟味する必要は多々あります。修正方法等はググる必要がある場合もあります。
作成途中でうまくいかなど、解りにくい場合は、info@hgla.jp までお問い合せください。
【作成方法概要】
-
OS:Ubuntuをインストール (DockerやWSL等は推奨いたしません。)
WEBでググり他ホームページを参照し、行ってください。 (ubuntu USBインストールメディア)
2. Miniconda3をインストール
OSにもminicondaが必要ですが、別にGalaxy projectが利用する、miniconda3のインストールが必要です。
3. Galaxy Projectをインストールしてください。
4.IGVをインストールして下さい。(Javaの更新が必要な場合があります。)
5. config Galaxy ymlファイルをコーピーし、ymlファイルを作成。
これにより、利用することができるようになります。具体的には利用したいシステムをイントールする
ことが可能となります。
6. Galaxyを起動して下さい。( sh_run.sh )
7. WEBブラウザ firefoxにて localhost:8080 にてGALAXY画面を参照できるようになったか確認ください。
8. Ymlファイルで設定したIDでAdminでのログインをして下さい。
パスワードの設定が必要
9. 必要となるプログラムを管理者画面より インストールしてください。
・filtlong (生データの選別)
・map with minimap2 (リファレンス配列にマッピングし、整列)
・samtools phase (アレルの相分離)
・samtools fastx (BAM → fasta に変換)
・flye (コンセンサス配列作成)
・medaka consensus pipeline (コンセンサス配列修正)
・NCBI Blast (データベースとの照合)
10. BLASTで利用するデータベースの作成
11.よりIMGT-HLAの最新の gen-fastaデータをダウンロードし、Galaxyにロードしてください。
NCBI blast Make data-baseでgen fastaを変換してください。
12. 弊所に修正chr6.fastaをメールで要求してください。(info@hgla.jp)お送りいたします。
もしくは、NCBIよりchr6.fastaをダウンロードしてください。。
13. chr6.fastaファイルをGalaxyにロードしてください。
14. HLA-A,B,C,DRB1,DPB1,DQB1,DPA1,DQA1等のナノポアデータをご準備ください。
生データをお持ちでないなら、弊所にメールで要求してください。
15. HLAナノポアデータをGalaxyにロードしてください。
16. Filtlongでデータの選別をしてください。
ただし、はあまり必要としません。再計算する時には便利となる場合があります。
17. Minimap2でマッピングを行ってください。
18. Samtools phaseでフェージング(相分離)をして下さい。
19. 分離されたBAMをSamtools fastxでfastaファイルに変換(Phase0、Phase1と2つあります)
20. Flyeにてコンセンサスを作成
21. Medaka consensus pipline にてコンセンサスの修正
22. もう一度 Medaka consensus pipline にてコンセンサスの修正
23. NCBI blast+ blstnで判定
上記16-23の操作が1連でうまくいったら、今までの操作をワークフローで保存し、そのあとワークフローを修正
する。次回の操作はワークフローで一連処理可能となります。
以上操作でパラメータ等入力が必要なものございます、詳細はこのあと弊社の分でお示しいたしますが、
ご自身でパラメーターを変更することもお試しください。
【作成方法詳細】
-
OS:Ubuntuをインストール (DockerやWSL等は推奨いたしません。)
・詳細はWEBで他ホームページを参照し、行ってください。
Ubuntu24.04LTS USBインストールメディア を作ろうで検索
・インターネット接続をする。
2. Miniconda3をインストール
OSにもminicondaが必要ですが、別にGalaxy projectが利用する、miniconda3のインストールが必要です。
詳細はで他ホームページを参照し、行ってください。
Linux 64-bit をAnacondaホームよりダウンロード、→ 自身のPC ダウンロードフォルダーに格納されている
ので ダウンロードフォルダ-内で 右クリックし、端末で開くを選択(ターミナルを開く)
$ bash Miniconda3-latest-Linux-x86_64.sh
を入力実行 $マークはターミナルに初期入力されているので入力しないこと。
続くと表示されますので enter 長押し で YES or NOが表示されるまで 長押し
YESで
home/ユーザー名/ で展開されます。Miniconda3のフォルダーが出来ていることを確認
3. Galaxy Projectをインストールしてください。
/home/ユーザー名/ に入り 端末(ターミナル)を開く
miniconda3 のバージョンを確認
python -V を実行
3.8以降が必要です。
インストール詳細は、https://galaxyproject.org/admin/get-galaxy/ を参照
ターミナルで以下を実行
git clone -b release_24.1 https://github.com/galaxyproject/galaxy.git
エラーが表示された場合は、$の重複またはgitをインストールする。gitのインストール方法はググって
ください。
アップデート
git fetch origin && git checkout release_24.1 && git pull --ff-only origin release_24.1
/home/ユーザー名/ 内にGALAXYフォルダーが出来ます。
4. IGVをインストールして下さい。(Javaの更新が必要な場合があります。)
/home/ユーザー名/ に更に IGV LINUX をインストールして下さい。
詳細は IGV linuxをインストールで ググってください。
5. GALAXYフォルダーをクリックし Configフォルダーを更にクリック
Galaxy.yml.sample ファイルを探し、コピーを同じフォルダー内に作る。
コピーのyml.sampleファイル内に入り、
#admin_users と書かれた行を探す。(1730行目あたり)
#を消し、admin users: info@hgla.com などの貴方のユーザー名を記述
保存してください。
修正した yml.sample ファイルを .sample を消し galaxy.yml と書き換えファイルを保存。
念の為、PCを立ち上げなおしてください。
6. /home/ユーザー名/ に入り、GALAXYフォルダーに入ります。
右クリックで端末(ターミナル)を開き
sh_run.sh を実行
7. しばらく(1-2分放置)した後、Webブラウザーのfirefoxを開き、
localhost:8080 を入力実行
GALAXYの画面が展開されていれば成功。
8. ユーザーメニューより Ymlファイルで設定したIDでAdminでのログインをして下さい。
パスワードの設定が必要
9. 必要となるプログラムを管理者画面より インストールしてください。
・filtlong
・map with minimap2
・samtools phase
・samtools fastx
・flye
・medaka consensus pipeline
・NCBI Blast
プログラムによりインストール時間が長いものも存在します。気長に対応してください。
Install and anistall
サーチにprogram名を入れてさがし、install実行
GALAXYの使用法は、他WEBホームページでも探すことができます。他のもので使用方法を参照して
使いかたに慣れてください。
10. BLASTで利用するデータベースの作成
Git-hubよりIMGT-HLAの最新の hla_gen.fasta.zipデータをダウンロードし、Galaxyにロードしてください。
NCBI blast Make data-baseプログラム でgen fastaをblast用データベースに変換してください。
git IMGT HLA でWEB 検索
リストより Hla_gen.fasta.ZIP をダウンロード
Hla_gen.fasta.ZIPをgalaxyにupload
Upload data で選択し STARTでupload
Uploadされたデータ
NCBI BLAST+ makeblastdb プログラムを選択し、
Molecule type of input で nucleotideを選択チェック
Execute でblast用データベースに変換
出来たデータベースのデータの鉛筆マークをクリックし、バージョンなどわかりやすい
名前に修正してください。 元のzipデータはGALAXYから削除してください。
11. 弊所に修正したchr6.fastaをメールで要求してください。(info@hgla.jp)お送りいたします。
12. chr6.fastaファイルをGalaxyにロードしてください。Upload dataで
13. HLA-A,B,C,DRB1,DPB1,DQB1,DPA1,DQA1等のナノポアデータをご準備ください。
生データをお持ちでないなら、デモデータを弊所にメールで要求してください。
14. HLAナノポア生データをGalaxyにアップロードしてください。
以下操作は、ワークフローを作成する為上手く稼働したものを1個づつ残して、良くなかった操作は消してくだ
さい。
バージョン違いで稼働しないかもしれませんが、まず弊所にワークフローのプログラムを要求して、
ワークフローを Galaxyにimportし、利用できるかお試しください。
利用できれば、かなりの省力化になります。( info@hgla.jp )
15. プログラムFiltlongでデータの選別をしてください。
(ただし、filtlongはあまり必要としません。再計算する時には便利となる場合があります。)
Input FASTQに生データを選択
Output thresholds でmin長さ を 3000位などするなど断片プロダクト削除しておく
その他パラメーターはデフォルトで実施
Excuteで実行
16. Map with Minimap2でマッピングを行ってください。
will you select a reference genome from your history or use a built-in index? で
Use a genome from history and build index を選択
Single read を選択
Select fastq datasetで 生データを選択
Select a profile of preset options で
3番目のoxford nanopore read to・・・・ を選択
Index option で k-mer 18.0に設定
その他はデフォルト EXCUTE で実行
17. Samtools phaseでフェージング(相分離)をして下さい。
先の処理でのBAMファイルが選択されているはず。
Phase parameters は、advancedを選択し、Read depthに気を付ける。
ナノポアシーケンスは能力が高く、件数が少ないと、depthが1000を超えることが多々あります。
Read depthの値は、生データBAMのdepth数よりも大きく設定していなければ、うまくフェー
ジングできません。よって、depthはまず1024位に設定してください。
生データBAMのdepthが100~300位で安定したら、設定を256または512に変更してください。
Minimum base quality to be used in het calling を
弊所では 11 に設定しています。
その他パラメーターはデフォルト使用 EXCUTE で実行
18. 分離されたBAMをSamtools fastxでfastaファイルに変換(Phase0、Phase1と2つあります)
Phase0 と phase1のBAMファイルをfastaファイルに変換
順番は0から1の順にやっていってください。
決めた順に実行しないと、あとでワークフローがもつれます。 EXCUTE で実行
19. Flyeにてコンセンサスを作成
MODE で nanopore corr 選択
Number of polishing で 4 入力
その他変更なし EXCUTE で実行
20. Medaka consensus pipline にてコンセンサスの修正(phase0とphase1をそれぞれ2回実施)
Select basecalls phase0からのfastaを選択
Assembly phase0からのconsensusを選択
Model r1041 フローセルのバージョン
FAST hac SUP ベースコーラーの種類
Variant を選択
弊所は r1041 e82 400bp sup variant g615を選択しています。
ここは吟味する必要があるかもしれません。
Output file consensus のみとしています。
EXCUTE で実行
21. もう一度 Medaka consensus pipline にてコンセンサスの修正
ここで各座のコンセンサスシーケンスが出来ている。
データタブの右上にある👁をクリックするとcontig1~4など各座のコンセンサスシーケンスがあるので
このあとにこのPC上で実行するblastで100%マッチではない、ミスマッチ、ギャプなどがあれば
ここのデータをコピーして、WEBでNCBI blastを実行することも可能
22. NCBI blast+ blstnで判定
Phase0 および phase1からの コンセンサスシーケンスを判定する。
Megablast
Tubular(select which columns)
Standard columnsでチェック
qseqid
sseqid
pident
length
mismatch
gapopen
evalue
bitscore
extend columnsでチェック
salltitles
Advanced optionsで
Percent identity cutoff を 99.6% に設定
23. 1連でうまくいったら、今までの操作をワークフローで保存し、そのあとワークフローを修正する。
画面右上 ▼ をクリック
■ワークフローを抽出 をクリックでワークフローが保存されます。
保存されたワークフローのnameをクリックし、EDITでワークフロー図を確認修正
次回からは、ワークフロー操作で半自動で解析が終了します。1検体7~10分間
判定データの確認
Megablast データカラム 👁マークをクリックするとblast結果が表示
Blast結果の見方
4座の場合Contig1-4で表記 マッチ% アライメント長 登録アレルの長さ
ミスマッチの数 ギャップの数
登録アレル長とアライメント長が同じで、ミスマッチ0、ギャップ0のとき
8桁で確定。 上記結果は HLA-C*03:04:01:02と判定。
スクロールで下を参照していけば、次のcontig結果が参照できる。
Contigのトップにあるからそれが結果とは限らない アライメント長がやや短いもので
ミスマッチ0、ギャップ0となっていても、やや下の所に アライメント長が長くミスマッチ0
ギャップ1などがある場合は、同点の可能性があります。
ミスマッチ1やギャップ1などがあった場合、イントロンの場合は6桁報告できるが、
エクソンである場合は、4桁も怪しくなる。クラスⅠではミスは少ないが、DRB1は多々
ギャップやミスマッチが認められます。特にイントロン2の特定箇所(2塩基反復配列)
その場合、Medaka consensusのデータカラムから該当のcontigの配列を参照し、
WEB上でNCBI BLASTにいく クラス1 A,B,CはNCBI内では登録データが少なくこれを
実行してもあまりよい結果が得られません、クラスⅡの確認に適しています。
Medaka consensus データカラムから 👁をクリック 該当のcontigの配列をコピー
WEB上 NCBI BLASTに行く Nucleotide BLASTをクリック
ここに配列をペースト
データベース CORE―ntで BLAST実行
上位のDRB1で6桁報告されているものを選択クリック
アライメント結果が表示されますが、エクソン、イントロンが解りません。
Graphicsをクリック
リファレンスとのアライメントで青線ギャップ 、赤線ミスマッチがどの位置に
あるか表記されます。 Blastの結果を考慮して、イントロン内なら6桁報告可能、
エクソン内なら判定不能となります。
IGVでのデータ確認
フェージングやコンセンサス配列の信頼を確認する為、IGVでデータを確認します。
GALAXY内 Samtools phase on data phase0readsのbamファイルと
Phase1のBAMファイルをIGVで確認しておくことが重要です。
それぞれのGalaxy内データカラムの左下にフローッピーマークがありクリックすると
PCのダウンロードフォルダーにダウンロードされます。 IGVでフェージング、
エクソン内を中心に読み取り配列が不明瞭なものがないかを確認してください。
おつかれさまでした
最後までお付き合いして頂きありがとうございます。