macでインフォマティクス

macでインフォマティクス

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

PCRプライマーをデザインする primers

 

レポジトリより

これはPCRプライマーを作成するための小さくて簡単なツールである。用途はDNAアセンブリである。Primer3の代わりにプライマーを選択する理由は以下の通り:

  • 特徴:GibsonアセンブリーやGolden GateクローニングのようなDNAアセンブリーフローに特化している。プライマーの5'末端に配列を付加しながらプライマーを設計できる。
  • シンプルさ: 小さくてシンプルなPython CLI/ライブラリで、依存関係は1つ(seqfold)。インストールが簡単で使いやすい。
  • インターフェース:Biopython Seqクラスのプライマーを受け入れて作成する。他のアプリケーションとの統合を容易にするためにJSONを出力する。
  • ライセンス: コピーレフトGPL v2ライセンスではなく、寛容でビジネスフレンドリーなMITを採用。

インストール

Github

#PyPI
pip install primers

> primers -h

usage: primers [-h] [--version] {score,create} ...

 

Create or score PCR primers

 

positional arguments:

  {score,create}

    score         score existing primers

    create        create primers to amplify a sequence

 

optional arguments:

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

  --version       show program's version number and exit

primers score -h

$ primers score -h

usage: primers score [-h] [-s SEQ] [-t SEQ] [-j | --json | --no-json] primer [primer ...]

 

positional arguments:

  primer                primer sequences

 

optional arguments:

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

  -s SEQ                the sequence that was amplified

  -t SEQ                sequence to check for off-target binding sites

  -j, --json, --no-json

                        write the primers to a JSON array

primers create -h

$ primers create -h

usage: primers create [-h] [-f SEQ] [-fl INT INT] [-r SEQ] [-rl INT INT] [-t SEQ] [-j | --json | --no-json] SEQ

 

positional arguments:

  SEQ                   create primers to amplify this sequence

 

optional arguments:

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

  -f SEQ                additional sequence to add to FWD primer (5' to 3')

  -fl INT INT           space separated min-max range for the length to add from '-f' (5' to 3')

  -r SEQ                additional sequence to add to REV primer (5' to 3')

  -rl INT INT           space separated min-max range for the length to add from '-r' (5' to 3')

  -t SEQ                sequence to check for off-target binding sites

  -j, --json, --no-json

                        write the primers to a JSON array

 

実行方法

primersは、長さ、tm、GC比、二次構造、オフターゲット結合を最適化しながらペアを選ぶ。最も単純なケースでは、増幅したい配列を渡すだけでデザインできる。

primers create CTACTAATAGCACACACGGGGACTAGCATCTATCTCAGCTACGATCAGCATC

出力例

 

設計するプライマーの5'末端を任意の配列にする(ターゲットにはない配列;例えば制限酵素でカットされる配列など)。

primers create CTACTAATAGCACACACGGGGACTAGCATCTATCTCAGCTACGATCAGCATC -f GGG -r CCC
  • -f    additional sequence to add to FWD primer (5' to 3')
  • -r    additional sequence to add to REV primer (5' to 3')

 

5'末端に付加する最適な部分配列を選択させたい場合、-fl or -rlでmin-maxサイズを指定する。

primers create CTACTAATAGCACACACGGGGACTAGCATCTATCTCAGCTACGATCAGCATC -fl 2 5 -f CCCCC
  • -fl INT INT   space separated min-max range for the length to add from '-f' (5' to 3')

  • -rl INT INT   space separated min-max range for the length to add from '-r' (5' to 3')

 

CLIでは固定のデザインパラメータが適用されますが、pythonコマンドプロンプトではPrimer3の任意の設定を適用してプライマーを設計する事ができます。レポジトリで簡単な例が説明されています。

 

ほか、レポジトリより

  • 通常、オフターゲット結合部位は避けるべきである。primersでは、オフターゲット結合部位とは、プライマーの3'末端の最後の10ベアペアに<= 1のミスマッチがある部位を指す。この定義は実験的に支持されている:Wu, J. H., Hong, P. Y., & Liu, W. T. (2009). Wu, J. H., Hong, P. Y., & Liu, W. T. (2009).
  • デフォルトでは、プライマーはcreate(seq)に渡されたseqパラメータ内のオフターゲットをチェックする。しかし、オプションのofftarget_check引数(CLIの場合は-t)に別の配列を渡すと、プライマーを別の配列に対してチェックすることができる。これはプラスミドのような大きなDNA配列の一部をPCRするときに便利である。
  • "--json"フラグは、JSON形式でプライマーを表示し、スコアリングの詳細を表示する。

引用

https://github.com/Lattice-Automation/primers

 

関連