macでインフォマティクス

macでインフォマティクス

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

VCFとPEDから予測される家系、性別、祖先関係を元にサンプルの潜在的な汚染を見積もる Peddy(ヒト向け)

 

 ヒトDNAシーケンス研究では、多くの場合、複数の研究所や個人によるDNAサンプルと関連するマニフェストの取り扱いが含まれる。 WESとWGSの両方のプロトコルには、シーケンス前の複数のDNA操作が含まれる。新しい手順や処理はそれぞれ、サンプルの混同、汚染、または誤表示の別の機会となり得る。 1つのDNAの混同でも、発見と診断の力を破壊する可能性がある。たとえば、ヒト疾患のファミリー研究で検出されないDNAスワップ(たとえば、罹患していない父親が罹患した息子と交換される)は、遺伝子診断を妨げ、誤解を招く候補バリアントを生成する。サンプルエラーがなくても、コホート内の個人の関連性に関する重要な情報を含むサンプルマニフェスト(PED fileなど)には、サンプルの命名エラーまたはスワップが含まれる場合がある。著者らの経験では、ファミリー関係は、多くの場合、研究者から描かれた血統図から手動でtranscribeされる。さらに、大規模な研究では、意図せずに研究で何度も代表されている同じ被験者を知らないうちにリクルートする可能性がある。このようなエラーは、慎重に確認しないと簡単には気付かない場合がある。

 したがって、品質管理の重要な側面は、シーケンスされた各DNAサンプルが予想される個人に由来することを保証することである。残念ながら、これらのサンプルレベルの品質管理の問題は、生のシーケンシングデータを活用する既存のツール(FastQCなど)やシーケンスアライメント(bam.iobio、 samtoolsなど)を活用する既存のツールでは検出されない。 PLINKやKINGなどのツールは性別や血統のエラーを検出できるが、テキスト出力のみを生成するため、サンプルの問題を検出するには、カスタムスクリプトをさらに手動で検査する必要がある。他のツールは、サンプルの遺伝子型データから血統構造を推測することができるが、サンプルのスワップを特定して解決するのは面倒である。サンプルDNAの忠実性に関する問題の堅牢で迅速な自動検出の必要性に対処するために、Peddyを開発した。PeddyはヒトのWESまたはWGSの研究から得られたVCFファイルを入力とする。 Peddyは高速でユーザーフレンドリーである。1つのコマンドで、VCFおよび関連するPEDファイルでさまざまなサンプル分析を直接実行できる。結果として得られるインタラクティブなWebページとコンマ区切り(CSV)ファイルは、各サンプルの各品質管理テストの結果と、どのサンプルがスワップされたか、ラベルが間違っているか、DNA品質が低い可能性が高いかを示す。

 Peddyは、VCFファイルで報告された遺伝子型を調べて、4つの主要な統計に基づいて潜在的なサンプル品質の問題を特定する。まず、各サンプルの記載された性別を、X染色体で観察された遺伝子型と比較する。次に、サンプルの各ペア間で観察された関連性の程度を、PEDファイルに記載されている内容に基づいて予想される関連性の尺度と比較する。第三に、サンプルの品質は、個体がヘテロ接合している部位の各対立遺伝子の数、シーケンシングデプス、およびシーケンスアラインメントの比率によって評価される。これらの測定値のばらつきにより、DNAの混入、予期しない多様性、不十分なシーケンシングデプスの検出が容易になる。最後に、各サンプルの祖先は、1000ゲノムプロジェクトの多様な祖先の個人でトレーニングされたサポートベクターマシンSVM)を使用して予測される。

 

Document

https://peddy.readthedocs.io/en/latest/

PED/FAM file

https://www.cog-genomics.org/plink2/formats#fam


インストール

macPython 3.7.4環境でテストした(conda createで仮想環境を作ってテスト)。

依存

 

本体 GIthub

#bioconda (link)
conda create -n peddy -c bioconda -y peddy

peddy -h

$ peddy -h

Usage: peddy [OPTIONS] VCF PED

 

  pleasingly pythonic pedigree manipulation

 

Options:

  --plot

  -p, --procs INTEGER             number of processors to use

  --prefix TEXT                   prefix for output files (default is basename

                                  of vcf)

  --each INTEGER                  sample every nth value from the selected

                                  sites instead of every value to speed

                                  processing.

  --sites TEXT                    The path to a file with alternative sites to

                                  use for calculating relatedness in format

                                  1:234234

                                  1:45345345... with

                                  chrom:pos[:ref:alt] on each line. The

                                  special-case of 'hg38' for this will use

                                  hg38 sites shipped with peddy.

  --loglevel [DEBUG|INFO|WARNING|ERROR|CRITICAL]

                                  Set the level of log output.  [default:

                                  INFO]

  --version                       Show the version and exit.

  -h, --help                      Show this message and exit.

 

 

テストラン

VCFとPEDファイルを指定する。defaultではhg19/GRCh37アセンブリを使う(hg38に変えるには--sites hg38を使う。document参照)。

python -m peddy -p 4 --plot --prefix ceph-1463 data/ceph1463.peddy.vcf.gz data/ceph1463.ped
  • -p    number of processors to use
  • --prefix    prefix for output files (default is basename of vcf)

2019-10-14 17:54:38 kamisakakazumanoMac-mini.local peddy.cli[861] INFO ran in 1.4 seconds

/Users/kazu/Documents/peddy/peddy/cli.py:224: FutureWarning: 

.ix is deprecated. Please use

.loc for label based indexing or

.iloc for positional indexing

 

See the documentation here:

http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#ix-indexer-is-deprecated

  ped_df[col_name] = list(df[col].ix[samples])

2019-10-14 17:54:38 kamisakakazumanoMac-mini.local peddy.cli[861] INFO sex_check

2019-10-14 17:54:38 kamisakakazumanoMac-mini.local peddy.peddy[861] INFO sex-check: 0 skipped / 814 kept

2019-10-14 17:54:38 kamisakakazumanoMac-mini.local peddy.cli[861] INFO ran in 0.1 seconds

 

4つのCSVファイルと4つのQCプロットが生成される。 これらは以下を示している(Githubより)。

  • pedでの報告された関係と遺伝子型で推定された関係の不一致
  • pedで報告された性別と遺伝子型で推定された性別の不一致
  • heterogousコールレベルが高い、デプスが低い、またはb-allele-frequencyの分散が大きい(ref /(ref + alt))サンプル。
  • 1000ゲノムからのPCAに基づく祖先予測

計算が終わると、最後にpedファイルceph1463.peddy.pedが生成される。このファイルには、最も有用なhet-checkおよびsex-checkのカラムもリストされている。

 

レポートceph-1463.html

 

f:id:kazumaxneo:20191014175624p:plain

 

f:id:kazumaxneo:20191014175628p:plain

 

ceph-1463.vs.html

f:id:kazumaxneo:20191014175806p:plain

 

 

各プロットの詳細な説明についてはドキュメント参照(link)。

引用

Who’s Who? Detecting and Resolving Sample Anomalies in Human DNA Sequencing Studies with Peddy

Brent S. Pedersen, Aaron R. Quinlan

Am J Hum Genet. 2017 Mar 2; 100(3): 406–413. Published online 2017 Feb 9