ディープシークエンスのNGSデータを解析する場合、PCRエラーとまれなバリアントを区別することが困難な場合がある。その結果、いくつかのバリアントが見逃され、一部不正確なバリアント頻度で同定されることがある。これに対処するために、研究者はサンプル調製中にランダムなバーコード配列を添付する方法をとることができる。シーケンシングの際、バーコードは、PCR増幅された分子のセットを目的の元の生体分子に戻すためのシグネチャとして働き、それにより元の分子中の珍しいバリアントを下流に導入されたエラーから区別する。
Connorは、バーコード付きのペアアライメントファイル(BAM)を受け取り、それらの入力アラインメントをファミリにグループ化し、各ファミリをコンセンサスアライメントに結合し、重複排除コンセンサスアラインメント(BAM)のセットを出力する。
Connorワークフロー:
[FASTQ 1/2] - > Aligner [BAM] - > Connor [BAM] - >バリアント検出[VCF]
Connorは、アライメント位置とユニバーサル分子タグ(UMT)バーコードに基づいて、最初のアラインメントをアライメントファミリーにグループ化する。
紹介
UMTの意味についてはこちらの記事で分かりやすく説明されています。
Unique Molecular Identifiers – the problem, the solution and the proof
インストール
mac os10.13のminiconda2-4.0.5環境でテストした。
依存
本体 GIthub
#anaconda環境ならcondaで導入できる
conda install -y -c bioconda connor
> connor -h
$ connor -h
usage: connor input_bam output_bam
Deduplicates BAM file based on custom inline DNA barcodes.
Emits a new BAM file reduced to a single consensus read for each family of
original reads.
positional arguments:
input_bam path to input BAM
output_bam path to deduplicated output BAM
optional arguments:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-v, --verbose print all log messages to console
--force =False. Override validation warnings
--log_file LOG_FILE ={output_filename}.log. Path to verbose log file
--annotated_output_bam ANNOTATED_OUTPUT_BAM
path to output BAM containing all original aligns annotated with BAM tags
-f CONSENSUS_FREQ_THRESHOLD, --consensus_freq_threshold CONSENSUS_FREQ_THRESHOLD
=0.6 (0..1.0): Ambiguous base calls at a specific position in a family are
transformed to either majority base call, or N if the majority percentage
is below this threshold. (Higher threshold results in more Ns in
consensus.)
-s MIN_FAMILY_SIZE_THRESHOLD, --min_family_size_threshold MIN_FAMILY_SIZE_THRESHOLD
=3 (>=0): families with count of original reads < threshold are excluded
from the deduplicated output. (Higher threshold is more
stringent.)
-d UMT_DISTANCE_THRESHOLD, --umt_distance_threshold UMT_DISTANCE_THRESHOLD
=1 (>=0); UMTs equal to or closer than this Hamming distance will be
combined into a single family. Lower threshold make more families with more
consistent UMTs; 0 implies UMI must match
exactly.
--filter_order {count,name}
=count; determines how filters will be ordered in the log
results
--umt_length UMT_LENGTH
=6 (>=1); length of UMT
v0.6.1
テストラン
git clone https://github.com/umich-brcf-bioinf/Connor.git
cd /Connor/examples/
#connorを実行
connor sample1-original.bam output.bam
引用
https://github.com/umich-brcf-bioinf/Connor