macでインフォマティクス

macでインフォマティクス

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

ハプロタイプジェノタイピングの大規模プライマーを設計する Primerdiffer

 

 プライマーデザインは、現代の分子生物学研究室では日常的に行われている。primer3やprimer-blastのようなバイオインフォマティクスツールは、特定領域のプライマー設計を標準化した。しかし、大規模なプライマー設計、特にゲノムワイドなスクリーニングのためのプライマー設計は、これらのパイプラインを使用するほとんどのウェットラボ研究者にとって、依然として手間のかかる作業である。この論文では、ハプロタイプを区別するプライマーを大規模に一括設計し、精密な偽のプライミングのチェックを行うことができるprimerdifferパイプラインを紹介する。このコマンドラインインターフェース(CLI)パイプラインは、greedyなプライマー検索、ローカルおよびグローバルin silico PCRベースの偽のプライミングチェック、および自動化されたベストプライマー選択を含む。ローカルCLIアプリケーションは、ユーザー自身のゲノム配列や特定のパラメーターを用いてプライマーを設計する柔軟性を備えている。Caenorhabditis briggsaeとC. nigoniのハイブリッド導入株をジェノタイピングするために設計されたいくつかの種特異的プライマーは、single-worm PCRを用いて検証された。このパイプラインは、あらゆる対象領域のハプロタイプを区別するためのCLIベースの大規模プライマーデザインツールを初めて提供する。オープンソースPythonモジュールは、github (https://github.com/runsheng/primerdiffer, https://github.com/runsheng/primervcf) およびPython package index (https://pypi.org/project/primerdiffer/, https://pypi.org/project/primervcf/) で入手できる。

 

インストール

ubuntu18LTSにて、レポジトリに書かれている通り、pipとcondaを併用して導入した(ベース環境を破壊するのを避けるために仮想環境推奨)ここではpython3.11使用。

依存

  • worked with python version >=3.8 (Tested in python 3.8, 3.9, 3.10 and 3.11). Only tested in linux x64 system.

python package:

  • primer3-py>=0.6.1
  • biopython>=1.7.8

other program in your $PATH:

Github

#1 condaでpython3の仮想環境を作る
mamba create -n Primerdiffer python=3 -y
conda activate Primerdiffer

#2 primerdifferのインストール
#pip(will also install primer3-py and biopython)
pip install primerdiffer
#conda(install ncbi blast)
mamba install -c bioconda blast -y

#3 primervcfのインストール
#pip(will also install all other python dependencies)
pip install primervcf

> primerdesign.py

 

usage: primerdesign.py [-h] [-d WKDIR] [-g1 GENOME1] [-g2 GENOME2] [-pos POSITION] [--alignlen ALIGNLEN] [--free3len FREE3LEN]

                       [--productlen PRODUCTLEN] [-h1 HIT1] [-h2 HIT2] [-i INTERVAL] [-j JUMP] [--prefix PREFIX]

                       [--primer3config PRIMER3CONFIG]

 

options:

  -h, --help            show this help message and exit

  -d WKDIR, --wkdir WKDIR

                        The dir path contain the file, if not given, use the current dir

  -g1 GENOME1, --genome1 GENOME1

                        the fasta file used to design primer

  -g2 GENOME2, --genome2 GENOME2

                        the fasta file used to check false priming

  -pos POSITION, --position POSITION

                        position on genome1 to design primer, use string with IGV format, like ChrX:1956230-1976220

  --alignlen ALIGNLEN   the cutoff of primer min align length as a right hit, default is 16

  --free3len FREE3LEN   the cutoff of primer 3' align length as a right hit, default is 2

  --productlen PRODUCTLEN

                        the cutoff of max product which will be treated as a false priming, default is 2000.

  -h1 HIT1, --hit1 HIT1

                        the cutoff of max number of in-silicon PCR product which can be found in genome1. default is 1

  -h2 HIT2, --hit2 HIT2

                        the cutoff of max number of in-silicon PCR product which can be found in genome2, default is 0

  -i INTERVAL, --interval INTERVAL

                        interval is the region begins to pick primers, default is 5000. If 5k is the unit, will pick one primer each

                        5k

  -j JUMP, --jump JUMP  jump is the region to jump inside intervals if the prvious interval can not generate a valid primer, the

                        smaller, more sites to check. Default is 500.

  --prefix PREFIX       prefix of output file, default is primers

  --primer3config PRIMER3CONFIG

                        the config file for the primer3

> primerdesign_vcf.py -h

usage: primerdesign_vcf.py [-h] [-d WKDIR] [-g GENOME] [-b BEDFILE]

                           [--alignlen ALIGNLEN] [--free3len FREE3LEN]

                           [-n PRIMERNUMBER] [--debug DEBUG] [--prefix PREFIX]

                           [--primer3config PRIMER3CONFIG]

 

options:

  -h, --help            show this help message and exit

  -d WKDIR, --wkdir WKDIR

                        The dir path contain the file, if not given, use the

                        current dir

  -g GENOME, --genome GENOME

                        the fasta file used to design primer and check

                        specificity

  -b BEDFILE, --bedfile BEDFILE

                        the bed file containing the deletion region interval

  --alignlen ALIGNLEN   the cutoff of primer min align length as a right hit,

                        default is 16

  --free3len FREE3LEN   the cutoff of primer 3' align length as a right hit,

                        default is 2

  -n PRIMERNUMBER, --primernumber PRIMERNUMBER

                        the primer designed for each region, default is 5, do

                        not have much impact for primer design

  --debug DEBUG         open debug mode or not, default is no

  --prefix PREFIX       prefix of output file, default is primers

  --primer3config PRIMER3CONFIG

                        the config file for the primer3

 

 

実行方法

レポジトリではC. nigoniとC.briggsaeのゲノムを例として使い方が説明されている(レポジトリにダイレクトリンクあり)。

C.nigoniの領域は増幅せず、C.briggsaeの1つの領域のみを増幅するC.briggsae独自のプライマーを設計する。C. briggsaeの標的領域はChrX:12881200-15106660(-posで指定)で、4kbの区間ごとに1つのプライマーを設計する(-i)。それぞれのゲノムのfastaファイルを指定する(圧縮ファイルには非対応)。

primerdesign.py -g1 cb5.fa -g2 cn3_new.fa -pos "ChrX:12881200-15106660" --interval 4000

C. nigoniゲノムはcn3_new.fa、C. briggsaeゲノムはcb5.fa。

 

primers_ChrX:12881200-15106660.txtができる。

 

ispcr.pyスクリプトを使えば指定したPCRプライマーの増幅産物をチェックできる。PCRプライマーとリファレンス配列を指定する。

ispcr.py -f gcactttcatgtccctcaac -r cactctattctcaccccacc -g cb5.fa -o ispcr.fa

> cat ispcr.fa

 

ハプロタイプ特異的なプライマーを欠失領域で作成するにはprimerdesign_vcfを使う。

#VCFからDel呼び出し(BED)
vcf2del.py -f QR25.vcf -o QR25_del.bed
#primerdesign_vcfのラン
primerdesign_vcf.py -g cb5.fa -b QR25_del.bed --prefix QR25

他にもfastqからVCFをコールするfq2vcfが用意されています(pipで導入するとパスは通っている)。

 

引用

Primerdiffer: a python command line module for large-scale primer design in haplotype genotyping
Xiaoliang Ren,  Yanwen Shao,  Yiwen Zhang,  Ying Ni,  Yu Bi,  Runsheng Li
Bioinformatics, Published: 17 April 2023