macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

汚染配列をスクリーニングする VecScreen

 

異物混入スクリーニングの目的は、人為的な理由または生物学的な理由で存在する可能性のある汚染配列を特定することである。人為的な理由としては、クローニング人工配列(ベクター、リンカー/アダプター/プライマー、大腸菌宿主DNA)、ヒトのDNA配列によるラボ内の汚染、他の生物とのサンプルまたはシークエンシングランの混合、シークエンシングされたクローンに統合された細菌挿入配列などが挙げられる。生物学的な理由としては、DNA調整を行った際に生物の表面や腸内に存在したエンドシンビオン、微生物の存在が挙げられる。

 


NCBIのVecScreenオンライン版

https://www.ncbi.nlm.nih.gov/tools/vecscreen/

f:id:kazumaxneo:20210124145648p:plain

 

 

インストール

vecscreenの実行形式ファイル(linux)と結果をまとめるスクリプトVSlistTo1HitPerLine.awk: NCBIハッカソンで Paul Kittsによって作成されたgawkGNU awk)のスクリプト(こちらは無くてもよい)、をダウンロード。

wget ftp://ftp.ncbi.nlm.nih.gov/blast/demo/vecscreen
chmod u+x vecscreen

wget ftp://ftp.ncbi.nlm.nih.gov/pub/kitts/VSlistTo1HitPerLine.awk
chmod u+x VSlistTo1HitPerLine.awk

 > vecscreen --help

# ./vecscreen --help

 

vecscreen   arguments:

 

  -i  Query File [File In]

    default = stdin

  -o  VecScreen report Output File [File Out]

    default = stdout

  -d  Database [String]

    default = UniVec

  -f  Output format:

      0 = HTML format, with alignments

      1 = HTML format, no alignments

      2 = Text list, with alignments

      3 = Text list, no alignments

      [Integer]

    default = 0

 

 

 

データベースのダウンロード 

1、真核生物配列の汚染チェック(*1)。ファージ、ベクター、E.coliゲノム、ファージゲノム、バクテリアの挿入配列やトランスポゾンデータ配列をダウンロードしてデータベースを作成。

wget ftp://ftp.ncbi.nlm.nih.gov/pub/kitts/contam_in_euks.fa.gz
gzip -dv contam_in_euks.fa.gz
makeblastdb -dbtype nucl -in contam_in_euks.fa -out contam_in_euks

 

2、原核生物配列の汚染チェック(*1)。phiX174 phage(イルミナの内部コントロール)配列をダウンロードしてデータベースを作成。

wget ftp://ftp.ncbi.nlm.nih.gov/pub/kitts/contam_in_prok.fa
makeblastdb -dbtype nucl -in contam_in_prok.fa -out contam_in_prok

 

3、ミトコンドリアゲノムの汚染がないかのチェック(*1)。NCBI refseqのミトコンドリアゲノムをダウンロードしてデータベースを作成。

wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/mito.nt.gz
gzip -dv mito.nt.gz
makeblastdb -dbtype nucl -in mito.nt -out contam_in_mito

 

4、rRNAの汚染がないかのチェック(*1)。ダウンロードしてデータベースを作成。

wget ftp://ftp.ncbi.nlm.nih.gov/pub/kitts/rrna.gz
gzip -dv rrna.gz
makeblastdb -dbtype nucl -in rrna -out contam_in_rrna

 

5、アダプター配列(Adapters, linkers)の汚染がないかのチェック(*1)。ダウンロードしてデータベースを作成。

#eukaryotic sequences
wget ftp://ftp.ncbi.nlm.nih.gov/pub/kitts/adaptors_for_screening_euks.fa

#prokaryotic sequences
wget ftp://ftp.ncbi.nlm.nih.gov/pub/kitts/adaptors_for_screening_proks.fa

 

3、4、5についてはVecScreenの想定対象ではないので検出できない可能性がある点に注意して下さい(VecScreenのBLASTパラメータは固定されている)。詳細は*1のレポジトリのBLASTコマンドを確認して下さい。

 

実行方法

1、真核生物配列の汚染チェック。データベースの"1"を使用。BLASTのコマンドにパスが通っている必要はない。

vecscreen -d contam_in_euks -f3 -i input.fasta -o output

#html
vecscreen -d contam_in_euks -f3 -i input.fasta -f 1-o output.html

マッチの強さに応じて分類され、その位置が表示される。

 

2、結果をまとめる。

VSlistTo1HitPerLine.awk suspect=0 weak=0 output > filtered_output

出力

VecScreen_No_Hits NODE_1_length_948815_cov_14.579641

VecScreen_No_Hits NODE_2_length_530360_cov_14.577065

VecScreen_No_Hits NODE_3_length_414455_cov_14.636035

VecScreen_No_Hits NODE_4_length_270442_cov_14.641914

VecScreen_No_Hits NODE_5_length_252083_cov_14.518325

VecScreen_No_Hits NODE_6_length_153567_cov_14.643091

VecScreen_No_Hits NODE_7_length_76610_cov_14.817817

VecScreen_No_Hits NODE_8_length_35390_cov_14.624274

VecScreen_No_Hits NODE_9_length_5436_cov_30.151894

VecScreen_No_Hits NODE_10_length_1042_cov_29.918135

VecScreen_No_Hits NODE_11_length_499_cov_47.251185

VecScreen_No_Hits NODE_12_length_420_cov_16.323615

VecScreen_No_Hits NODE_13_length_165_cov_18.522727

VecScreen_No_Hits NODE_14_length_128_cov_8.980392

VecScreen_No_Hits NODE_15_length_110_cov_27.818182

VecScreen_Strong  JQ764988.2 1 5386

1つだけStrong hitがある。

 

メモ

VecScreenに使用される検索パラメータは、既知のベクター配列と同一であるか、または既知の配列からわずかに逸脱している配列セグメントを見つけるように設計されている。そのため、VecScreenに使用されるblastnパラメータは、デフォルトのblastnパラメータよりもかなり厳しいものとなっている。

 

引用

https://www.ncbi.nlm.nih.gov/tools/vecscreen/

 

*1

こちらのレポジトリで詳しく説明されています。実際に手動でblastを実行する際のワードサイズや閾値等も参考になります。