macでインフォマティクス

macでインフォマティクス

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

ATAC-Seq、ChIP-Seq、WESなどのcDNA汚染の検出と除去を行う cDNA-detector

 

 意図的または偶然に実験システムに導入された外因性cDNAは、そのシステムから得られた次世代シーケンサーライブラリーにおいて、その遺伝子に対するリードカバレッジの追加として現れることがある。適切に認識・管理されない場合、この外来シグナルによるクロスコンタミネーションは、研究結果の解釈を誤らせる原因となる。しかし、この問題は、現在のシーケンス処理パイプラインでは日常的に対処されていない。ここでは、DNAシーケンス実験における外来cDNAの汚染を特定し、除去するための計算ツールであるcDNA-detectorを紹介する。cDNA-detectorがアライメントファイルからcDNAを迅速かつ正確に同定できることを実証した。cDNA-detectorは、検出されたcDNAからアライメントを汚染しないようにするためのメカニズムを提供する。シミュレーションの結果、cDNA-detectorは高感度かつ特異的であり、既存のツールを凌駕していることが示された。また、cDNA-detectorを複数の公共データベース(TCGA、ENCODE、NCBI SRA)に適用し、汚染遺伝子がシーケンシング実験に出現し、誤ったカバレッジピークコールを導くことを示した。

 cDNA-detector は、NGS ライブラリー中の cDNA 検出と除去を行う、使いやすく正確なツールである。この2段階のデザインは、候補を手動で確認することができるため、真のバリアント除去のリスクを低減する。意図的および偶発的に導入されたcDNAによる汚染は、広く利用されているコンソーシアムのデータセットにおいてさえ、過小評価されている問題であり、偽の結果につながる可能性があることが分かった。本発見は、ダウンストリーム解析の前に、NGSライブラリーから汚染されたcDNAを高感度に検出し、除去することの重要性を強調するものである。

 

 ChIP-seq、ATAC-seq、全エキソーム、全ゲノムなどの超並列DNAシーケンス実験が広く研究手法として用いられている。これらの手法は、DNA関連タンパク質の結合部位、ヒストン修飾状態、クロマチンアクセシビリティ生殖細胞および体細胞ゲノム変異の同定に役立っている。一般的な機能研究では、目的の野生型遺伝子やバリアントをDNAベクターで実験系に導入し、シークエンスライブラリーに登場させることができる。目的の外来遺伝子に由来するシーケンスリードは、アライメントステップにおいて内在性遺伝子座にマッピングされる。さらに、同じ研究室で行われた他の実験や共有の装置で得られた微量のベクターDNAがDNAライブラリーを汚染し、アライメントに外来遺伝子が含まれる可能性がある。これらの汚染遺伝子からのシグナルは、例えば偽のコピー数増加、偽の生殖細胞または体細胞バリアントコール、誤ったカバレッジピークコールなど、下流の結果や解釈に影響を与える可能性がある。特に、ベクター由来のシグナルがエクソームやクロマチンプロファイリング由来の真のシグナルと重なる場合、アライメントにおけるこのような外来遺伝子のシグナルの検出は困難な場合がある。NGSライブラリのベクター汚染を検出する方法は、これまでほとんど開発されていない。SeqClean や VecScreenのように、既知のクローニングベクターからのシーケンスリードを同定するものもあるが、cDNA の挿入を検索するものではない。Vecuumは、汚染遺伝子を特定するために開発されたが、このツールは、既知のベクターバックボーン配列に依存している。

 クローン化されたcDNAにはイントロンや生理的UTR領域がないため、この性質を利用して汚染される可能性のある遺伝子を同定することができる。これらのcDNAからのリードは、エキソン境界で部分的にゲノムにアライメントし、マッピングされていない配列はベクター(5'および3'末端)または隣接するエキソンにマッチする。ゲノムアライメントでは、これらのリードは「切り取られた」ように見えるため、ゲノムに完全にマッピングされる真のシグナルリードと区別することができる(論文Fig. 1A)。

(実際の検出手順は論文のImplementationのセクションで説明されています)

 

インストール

導入手順はレポジトリに記載されている。ここでは、著者らによって公開されているdockerイメージを使ってテストした。

Github

#dockerhub
docker pull rheinbaylab/cdna-detector

cdna-detector.py

usage: cdna-detector.py prepare --annotation <gtf/bed> --genome <genome sequence file>  [options]

 

required arguments:

  --annotation          gene annotation files

                        input format: gtf/bed

  --genome              genome fasta file

                        input format: fa/fasta

 

optional arguments:

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

  --format              input annotation format: gtf or bed

                         If format is "bed", only 3 or 4 columns will be used.

                        - default: gtf

  --output_dir          output directory

                        - default: .

  --chr_exclude         exclude chromosomes, multiple chromosomes are separated by ","

                        - conflict with --chr_include

                        - default: chrM

                        - example: --chr_exclude chrX,chrY,chrM

  --chr_include         only include chromosomes, multiple chromosomes are separated by ","

                        - conflict with --chr_exclude

                        - example: --chr_include chr1,chr2

  --source              the program that generated this feature, it is located in 2nd column of gtf. multiple sources are separated by ","

                        - default: all source

                        - example: --source havana

  --feature_type_cds    feature name for identifying CDS regions. It is located in 3rd column of gtf. Multiple features are separated by ","

                        - default: CDS

  --featureid_gene_id   attribute to show gene id. 

                        - default: gene_id

  --featureid_gene_name 

                        attribute to show gene name. 

                        - default: gene_name

  --featureid_cds_ranking 

                        attribute to show exon number.

                        - default exon_number

  --featureid_transcript_id 

                        attribute to show transcript id. 

                        - default transcript_id

 

 

テストラン

cdna-detector detect - あらかじめ定義された遺伝子モデルファイルを用いて、BAM形式の配列アラインメント中のcDNA汚染の可能性を検索する。

解析対象のbamファイル、遺伝子モデル、出力ディレクトリを指定する。

cdna-detector detect --bam example_data/bam_file/tmp.sample.bam --sample_id tmp_sample --gene_model hg19 --output_dir output_dir --n_threads 12
  • --bam   The input file is in BAM format. Recommend results from software bwa
  • --sample_id    Identifier. Used as output prefix
  • --gene_model    Link to gene model.
    - INPUT: hg19 hg38 | mm10 (gene model generated from subcommand "prepare")
  • --output_dir    output directory. - default: "."
  • --n_threads     number of threads. - integer - default: 1

 

入力にcDNAが検出されなかった場合、cdna-detector detectはSAMPLE_ID.logのログファイルのみ生成する。cDNAが検出された場合、cdna-detector detectは、汚染候補exonと遺伝子に関するオリジナルの統計、高信頼性フィルタリングされたexonと遺伝子、クリーンステップで使用するための汚染の疑いがある遺伝子の位置を含む座標ファイルなど、いくつかのファイルを出力する(マニュアルより)。

出力例

output_dir/

f:id:kazumaxneo:20211231112027p:plain

 

cdna-detector clean -  前ステップcdna-detector detectで検出された汚染配列のクリーニング。

cdna-detector detectで生成されたSAMPLE_ID.merge_region.tsvとソースBAMファイルを指定する。

cdna-detector clean --bam example_data/bam_file/tmp.sample.bam  --sample_id tmp_sample --region output_dir/tmp_sample.merge_region.tsv --output_dir output_clean

候補領域から同定したコンタミリードが削除され、クリーンなBAMファイルが生成される。

出力例

output_clean/

f:id:kazumaxneo:20211231121601p:plain

引用

cDNA-detector: detection and removal of cDNA contamination in DNA sequencing libraries

Meifang Qi, Utthara Nayar, Leif S. Ludwig, Nikhil Wagle & Esther Rheinbay 
BMC Bioinformatics volume 22, Article number: 611 (2021)

 

2021年はこの記事で最後にします。

今年もお世話になりました。

来年もよろしくお願い致します。