ryamadaの遺伝学・遺伝統計学メモ このページをアンテナに追加 RSSフィード

数学・コンピュータ関連の姉妹ブログ『ryamadaのコンピュータ・数学メモ』
京都大学大学院医学研究科ゲノム医学センター統計遺伝学分野のWiki
講義・スライド
医学生物学と数学とプログラミングの三重学習を狙う学習ツール
駆け足で読む○○シリーズ
ぱらぱらめくるシリーズ
カシオの計算機
オンライン整数列大辞典

2015-06-18 “Next Generation” Sequencing (NGS) guidelines for somatic gene

[][]“Next Generation” Sequencing (NGS) guidelines for somatic genetic variant detection

  • 2015年3月に出たガイドライン by ニューヨーク州 Departmen of Healthの抄訳(雑訳)
  • このガイドラインとは別に" molecular oncology guidelinesもあります。これはこれでNGSとは別に基準として用いる
  • SOP(Standard Operation Procedure)
    • サンプル調整・データ解析・その判断について全ステップを明記
    • 検出を確認するプロトコルの場合はその対象の選び方と確認法自体とについて明記
  • QC
    • Baseごとのクオリティ値はQ20かその同等指標以上
    • リード数。全標的領域(遺伝子ごと、とか)について均質かつある一定以上にカバーされていることを、実験全体として担保。標的ごとの最低デプスの平均が500以上であることは強く推奨される
    • リード数。各標的ごとに、そこに変異があると言うために必要な最低デプス基準がある。また、そこに変異がないと言うために必要な最低デプス基準もあり、二つのデプス基準は異なるかもしれない
    • 「変異あり」とコールするにあたっての、変異アレルリード数が全リード数に閉める割合に関する基準があること。その基準は、その検出の信頼性と感度との計算に基づいていて定義してあること
    • 順・逆間の違いの許容範囲について決めてあること(該当する方法の場合)
    • 試薬のロット変更による実験ぶれがあるので、すべての重要な試薬のロット変更について、感度に影響するぶれがないかを確認すること。その確認には、全標的領域のカバーの均質性と最低ラインのクリアについての確認も含む
    • QCに関する情報は経時的に記録
    • 実験機器ソフト・解析ソフトのバージョンアップは結果に変化を起こしうることを忘れず、バージョンアップにあたっては、それが影響を及ぼしていないかどうかを少なくとも3−5回分についてはバリアント検出結果に変化が出さないことを確認
  • コントロール
    • No Template Control(NTC)をすべての増幅を含むステップに置くこと
    • NGSの使用開始時、ならびに、その後もときどき、ネガコン実験をすること
    • ポジコンを毎回置くこと。検出感度について知るため。individually barcoded low positive DNA sample containing multiple known variants of each kindが推奨される。一つのポジコンでカバーするべきバリアントのタイプが網羅できないときは、複数のポジコンでカバーすることとし、その複数のポジコンを使い回すスケジュールを作ること
  • レポート
    • すべての検出された体細胞バリアントは、検出を目的としていたか否かに関わらず、またその臨床的意義について既知・未知を問わず報告すること。その臨床的意義についても説明すること
    • 生殖細胞系バリアントかもしれないバリアントについても、体細胞バリアントと区別して報告すること。その臨床的意義についても説明をつけること
    • 解析ですべてが見つかるわけではないことを報告書に書くこと。その解析の限界の中には、当該解析でうまくカバーできず感度が低かった領域がどこかも含める
  • バリデーション
    • バリアントごとに検出手法のパフォーマンスは違うので、それがどのような具合か(感度など)を明らかにし、それに基づいて、バリデーションすること
    • サンプルタイプ(FFPE(formalin fixed parafin embedded), FF(fresh frozen), WB(whole blood), BM(bone marrow), FNA(fine needle aspiration))ごとにパフォーマンスは違うので、それらごとのパフォーマンス評価をし、サンプルタイプによる結果の違いをシークエンス結果に反映すること
    • 基本的なパフォーマンスデータの提示
      • 既知サンプルの結果を用いたaccuracyの提示
      • 初期バリデーションには、最低50サンプルを用いて、ほかの実験方法との突き合わせをすること。同じNGSプラットフォームの結果と突き合わせるのであれば、他ラボのそれにすること
      • Full validation。検出されたバリアントのうち、検出しようとするものの場合にはバリアントごとに10サンプルについて別法で裏をとる
      • 臨床的意義不明なincidental findingsについては、その旨を明らかにした上でそのまま報告
      • 特定の領域の特定のバリアントについて一度バリデーションがすめば、毎回、確認を取る必要はない(NGS実験・解析全体のクオリティ維持をする機構が働いていれば安定しているとみなす)
      • 同一ラン内のPrecision:異なるバーコードをつけたポジコンのTriplicateで共通した結果が得られるかどうかで評価する
      • 異なるラン間のReproducibility(再現性):異なるバーコードをつけて異なる日に実施する3ランでポジコンを試して評価する
      • バリアントごとの感度評価をしておく
    • Bioinformatics的なバリデーション(バグチェックを含む)も実施する。バーコードの扱い、マルチプレックス処理の点などを含め
    • すべてのソフトウェアについて、一つのバージョンについては、単体としてパフォーマンスをチェックする

2013-07-08 突然変異率

[][]Properties and rates of germline mutations in humans

  • Properties and rates of germline mutations in humans
  • 多型タイプ別のmutation rate
    • Single nucleotide variationsのmutation rate
      • およそk ¥times 10^{-8}変異/塩基対/世代
      • 複数の解析アプローチで大体同じ
      • kは1前後
      • エクソンではkが高め(2くらい?)
    • Copy number variationsのmutation rate
      • k¥times 10^{-2}変異/世代 くらい(/塩基対でないことに注意)
      • CNVは1変異で1000塩基とか、大量の変化をもたらすので、「塩基対単位」での変異量はCNV >> SNV
    • その他のVariations : 情報少ない
  • 変異が起きるゲノム上の位置
    • SNV
      • Transitions > Transversions
      • CpG dinucleotidesに集積(Cのメチル化)
      • タンパクコーディング遺伝子上・遺伝子周辺で高い(高GC,高発現遺伝子で高変異率)
      • 転写鎖 < 非転写鎖
      • 狭い領域にいくつも一度に起きる
    • CNV
  • 親の性別と年齢
    • 新規SNVの76%は父由来
    • 父の年齢と新規SNVの数とは正の相関(指数関数的増加?)
      • 父の加齢:1歳で2個増加、16.5歳で2倍
    • ある遺伝子の場合、変異のある精子細胞(とその祖細胞)の方が増えやすい
    • 染色体の異数性(トリソミーとか)は母寄り
  • de novo mutationsと淘汰・疾患

2012-12-28 var-

[][][][][]var-

  • 「遺伝統計学トリビア」の実験中(こちらで、年末年始のため、アクセスがほとんどなくなる時期にこっそりと)
  • 科学分野で用いられる術語は一般用語としての意味と区別する必要もあってこんがらがる
  • 「名詞」として使っているのか「形容詞」として使っているのかを区別する必要もある
  • 「名詞」だとわかっても、その術語は「もの」を表しているのか、「こと」を表しているのかを区別する必要もある
  • 科学分野ごとに使い方が異なるのも痛い
  • variant,variation,mutant,mutation
    • 生物学・遺伝学
    • いずれも名詞
    • variant,mutantは「もの」を指す名詞、variation,mutationは「こと」を指す名詞
    • variantとmutantは「遺伝的に(DNA配列の中に)『普通』と異なっている部分を持つようなタイプ」を指す。「変化してできるもの、変異してできるもの(変異体)」
    • variation,mutationは「遺伝的に(DNA配列の中に)『普通』と異なる部分を作る出来事」を指す。また「異なる部分を作る出来事の結果、生じた、異なっている状態(異なっていること)」を指す。また「異なる部分を作る出来事の結果、生じた、異なっている箇所」を指す。「変化すること、変異すること(変異)、変わっている箇所」
    • 変異すること・異なっている状態・異なっている箇所をvariationと呼ぶことにしたら、その結果できるタイプはvariant。変異すること・異なっている状態・異なっている箇所をmutationと呼ぶことにしたら、その結果できるタイプはmutant
    • variant/variationとmutant/mutationの違い。var-では「違っていること」を中立に捉えようとする意識が働いているのに対して、mut-では『変だ!』『おかしい』というように、「違っていること」に色眼鏡をかけて捉えようとする意識が働いている
  • variation,polymorphism
    • 遺伝学
    • いずれも名詞
    • variation,polymorphismは「こと」を指す名詞
      • 「この座位はSNP(single nucleotide "polymorphism")だ」のように使うとき、「座位」という「もの」を指して使っているように思える。しかしながら、「この座位はSNPと呼ばれる箇所の集合に属している」というような意味合いである。
    • 同一種の遺伝子配列を比較したときに、「(同一種なので大概の箇所は同じなのだが、その中で)違っている箇所」のこと
    • variationでは「違っていること」を中立に捉えようとする意識が働いているのに対して、polymorphismでは「違っている箇所をその違いによって集団をタイプ分け」すると、いずれのタイプも『普通』であって、「違っていることが『変で』はないし『おかしく』ない」というような意識が働いている。mutant,mutationが「違っていること」を『取り立てる』ことを意識しているのに対して、それとは逆の意識が働いている
    • したがって、polymorphismでは集団内での「違っているタイプ」が占める割合が『小さすぎない』ことを求めることがある(割合に閾値を設定するなど)
  • variation,variance,variable
    • 数学・統計学
    • いずれも名詞
    • variationは「『集団』を構成する要素が相互に、一様ではなく、違っている状態(こと)」を指す。また、「個々の構成要素の違いの大きさ」を指す
    • varianceは「『集団が』違っている状態を量的に捉えるために定義づけた方法」を指す。varianceはその方法で測られた「『集団の』違いの程度を表す量」も指す
    • variableは「(値を)変えられるもの」。数式やモデルの中で異なる値を取らせる「もの」を、日本語では「変数」と呼ぶ
      • variableを形容詞で用いれば、「(値を)変えることが可能な、可変の」となる
  • variable,parameter
    • 数学・統計学
    • いずれも名詞(形容詞として使うこともあるが)
    • variableは、測定したり、式の中で文字に対応させるなどして、「値を変えて取り扱うもの」全般を指す
    • parameterは、色々な値を当てはめることができる・当てはめることがある、という意味でvariableとみなせるが、「ある値に固定したとしたら、(そのparameterを用いて捉えようとしている)対象が、どのように『切り取れる』か」という点に興味があるという意識が働いている(参考)

2011-12-19 ぱらぱらめくる『Nature Reviews Genetics 2011』

[][] ぱらぱらめくる『Nature Reviews Genetics 2011』6 変異(生殖細胞変異・体細胞変異

  • Variation in the mutation rate across mammalian genomes.Alan Hodgkinson & Adam Eyre-Walker,p756 | doi:10.1038/nrg3098
  • 変異の入りやすさを、大小スケール別に考える(変異が入る塩基のタイプは、塩基が入る場所の隣の塩基は、少し範囲を広げて、もっと範囲を広げて…)

2011-11-11 遺伝子影響の連続スペクトラム化

ryamada222011-11-11

[][][][][][][]遺伝子影響の連続スペクトラム化

  • こちらで体細胞モザイクのことを書いた
  • こちらで複合遺伝性疾患の説明をするためにも、少し言及する(予定)
  • もう少し一般的に、変異・機能発現について一般化して考えようと思う
  • 個体のゲノム
    • (1) 個体としてのヒトができる前の段階に2つの配偶子がある(ハプロイドx2)
    • (2) 2つの配偶子が合わさってできる受精卵ができる(ディプロイドx1)
    • (3) 受精卵は分裂する(ディプロイドx2^t)
    • (4) 細胞は分化する。細胞には死ぬものもある。細胞には増殖能を持つものもあれば、持たないものもある(ディプロイドxf(t))
    • (5) すべての細胞はなにかしらの機能を有し、その機能は細胞単位のフェノタイプとみることができる
    • (6) 複数の細胞の機能を合算して観察し、それをフェノタイプととらえることもある
    • (7) 個体レベルで観察できるフェノタイプもある
    • (8) フェノタイプがいろいろに変化する
    • (9) 個体死というフェノタイプを持って、個体は消滅する
    • (10) 個体は消滅する前に、複数の配偶子を算出しうる(ハプロイドxNg)
    • (11) 配偶子は他の個体の配偶子と合わさって受精卵(ディプロイドx1)を作ることがある
  • 個体の持つ変異アレル
    • (1) 配偶子の持つ変異の割合と分布(ハプロイド単位で2個x(0/1))
    • (2) 受精卵の持つ変異の割合と分布(ディプロイド単位で1個x0/0.5/1)
    • (3) 卵割途中での変異(ディプロイド単位で2^{t_m}-1個は(0)と1個は(1)。(0)/(1)の比が¥frac{2^{t_m}-1}{1}
    • (4) 卵割が進むと(ディプロイド単位で(2^{t_m}-1)¥times 2^{t-t_m}個は(0)、1¥times 2^{t-t_m}個は(1)。(0)/(1)の比が¥frac{2^{t_m}-1}{1}
    • (5) この先は、少し複雑だが、考え方は同じ
  • 1座位の変異アレルとフェノタイプ
    • 2個の配偶子のうち2個がそろって持つ変異アレルは、個体のすべてのディプロイドを(1)とする。これをフェノタイプ発現の条件とする場合、そのフェノタイプは劣性遺伝形式
    • 2個の配偶子のうち1個が持つ変異アレルは、個体のすべてのディプロイドを(0.5)とする。これをフェノタイプの発現の条件とする場合、そのフェノタイプは優性形質
    • 受精卵となったのちに生じた変異アレル(体細胞変異アレル)は、個体の一部の細胞に保有される。保有の形式は多くの場合、(0.5)である。このような変異アレルがフェノタイプの発言条件を決める場合には、保有細胞数・保有細胞タイプの影響を受ける(はず)
  • 複数座位の変異アレルとフェノタイプ
    • 配偶子由来の変異アレルと体細胞変異アレルとが共存する
    • 共存の仕方は、細胞の中で共存する場合と、異なる細胞に分かれて共存する場合とがあり、それぞれ、保有細胞数・保有細胞タイプとで分類することができる
    • 同一細胞に共存する場合は、細胞単位でのフェノタイプが形成され、それがひいては個体レベルのフェノタイプとして観察される。特に増殖力が強いこと・個体致死機能が強いことを持って悪性腫瘍と言う
    • 異なる細胞が別の変異アレルを保有しそのために、個々の細胞のフェノタイプがどう変わり、複数の細胞が形成するフェノタイプがどう変わるかについては(おそらく、明らかな例はないのではないかと思われるが(不勉強なので、知らないだけかもしれない)、おそらく存在するだろう
  • 複数個体の変異アレルとフェノタイプ
    • 細胞のジェノタイプとそのフェノタイプ、異なるジェノタイプを持つ細胞の集合としての細胞集合(個体を含む)とそのフェノタイプとについて言及した
    • 個体の集合を考えるとき、個体が集団となることで観測できるフェノタイプ(集団フェノタイプ)を考えよう
    • そのときには、変異アレルが保有個体数・保有個体タイプ、個々の個体での保有細胞数・保有細胞タイプ、とが影響する、というように、階層化して考えることができる
    • これよりさらに階層を登ることができる?できる。集団の集合(「個体の集合を家族、家族の集合を地域」、「個体の集合をくに、くにの集合を国家連合」…
  • そんなことをRでやってみる
    • 受精卵から卵割を開始する
    • 2分割を繰り返す
    • 2分岐木ができる
    • 系列ごとに分割までの時間をばらつかせる
    • 特定の時刻において、2分岐木のどこのノードが「存在しているか」が変遷する
    • 分割の過程で変異がおきる
    • 変異は継承される
    • わかり易いように分岐の速い細胞が下方向に来るようにしてある
    • 入った変異が強調されるように、大きな点で打つとともに、入った変異ごとに色を変えている

f:id:ryamada22:20111110112845g:image

cell<-function(period=NULL,from=NULL,to=NULL,prof.rate=NULL,id=NULL,gen=NULL,gen.id=NULL,mut=NULL){
	
	list(period=period,from=from,to=to,prof.rate=prof.rate,id=id,gen=gen,gen.id=gen.id,mut=mut)
}
Ngen<-10
minT<-0
maxT<-0
Cells<-list()
counter<-1
mut.counter<-0
mut.rate<-0.01
#gen.counter<-1
for(i in 1:Ngen){
	gen.counter<-1
	tmpCells<-list()
	Cells[[i]]<-list()
	Tos<-c()
	for(j in 1:2^(i-1)){
		mut<-0
		if(runif(1)<mut.rate)mut<-1	
		mut.counter<-mut.counter+1
		if(i==1){
			tmp.period<-runif(1)
			tmp.from<-0
			tmp.to<-tmp.from+tmp.period
			tmp.mut<-NULL
			tmp.prof.rate<-1+0.01*runif(1)
			if(mut==1)tmp.mut<-mut.counter
			tmpCells[[j]]<-cell(period=tmp.period,from=tmp.from,to=tmp.to,prof.rate=tmp.prof.rate,id=counter,gen=i,gen.id=gen.counter,mut=tmp.mut)
			counter<-counter+1
			gen.counter<-gen.counter+1
			Tos<-c(Tos,tmpCells[[j]]$to)
			if(maxT<tmpCells[[j]]$to)maxT<-tmpCells[[j]]$to
		}else{
			prnt<-ceiling(j/2)
			parent<-Cells[[i-1]][[prnt]]
			tmp.period<-parent$period+runif(1)
			tmp.from<-parent$to
			tmp.to<-tmp.from+tmp.period
			tmp.mut<-parent$mut
			tmp.prof.rate<-1+0.01*runif(1)
			if(mut==1)tmp.mut<-c(tmp.mut,mut.counter)
			tmpCells[[j]]<-cell(period=tmp.period,from=tmp.from,to=tmp.to,prof.rate=tmp.prof.rate,id=counter,gen=i,gen.id=gen.counter,mut=tmp.mut)
			counter<-counter+1
			gen.counter<-gen.counter+1
			Tos<-c(Tos,tmpCells[[j]]$to)

			if(maxT<tmpCells[[j]]$to)maxT<-tmpCells[[j]]$to
		}
		
	}
	ord.to<-order(Tos)
	for(k in 1:length(ord.to)){
		Cells[[i]][[k]]<-tmpCells[[ord.to[k]]]
	}
}

par(ask=TRUE)
x<-y<-0
xlim<-ylim<-c(-0.1,1.1)
plot(x,y,xlim=xlim,ylim=ylim,col=0)
Nt<-100
Ts<-seq(from=minT,to=maxT,length=Nt)
sleep<-0.05
for(tt in 1:(length(Ts))){
	plot(x,y,xlim=xlim,ylim=ylim,col=0)

	for(i in 1:length(Cells)){
		tmpx<-i/(length(Cells)+1)
		abline(v=tmpx)
		for(j in 1:length(Cells[[i]])){
			tmpy<-(j-length(Cells[[i]])/2)/length(Cells[[length(Cells)]])+0.5
			col<-0
			cex<-0.5
			if(Cells[[i]][[j]]$from<=Ts[tt] & Cells[[i]][[j]]$to >Ts[tt]){
				col<-1
				#cex<-cex*Cells[[i]][[j]]$prof.rate^(Ts[tt]-Cells[[i]][[j]]$from)
				if(length(Cells[[i]][[j]]$mut)>=1){
					col<-col+max(Cells[[i]][[j]]$mut)
					cex<-2*cex*2^length(Cells[[i]][[j]]$mut+1)
				}
			}
			points(tmpx,tmpy,cex=cex,col=col,pch=16)
		}
	}
	#Sys.sleep(sleep)
}

# 画像送りの間隔をintervalで指定してある
par(ask=FALSE)
library(animation)
saveGIF({
x<-y<-0
xlim<-ylim<-c(-0.1,1.1)
plot(x,y,xlim=xlim,ylim=ylim,col=0)
Nt<-100
Ts<-seq(from=minT,to=maxT,length=Nt)
sleep<-0.05
for(tt in 1:(length(Ts))){
	plot(x,y,xlim=xlim,ylim=ylim,col=0)

	for(i in 1:length(Cells)){
		tmpx<-i/(length(Cells)+1)
		abline(v=tmpx)
		for(j in 1:length(Cells[[i]])){
			tmpy<-(j-length(Cells[[i]])/2)/length(Cells[[length(Cells)]])+0.5
			col<-0
			cex<-0.5
			if(Cells[[i]][[j]]$from<=Ts[tt] & Cells[[i]][[j]]$to >Ts[tt]){
				col<-1
				#cex<-cex*Cells[[i]][[j]]$prof.rate^(Ts[tt]-Cells[[i]][[j]]$from)
				if(length(Cells[[i]][[j]]$mut)>=1){
					col<-col+max(Cells[[i]][[j]]$mut)
					cex<-2*cex*2^length(Cells[[i]][[j]]$mut+1)
				}
			}
			points(tmpx,tmpy,cex=cex,col=col,pch=16)
		}
	}
	#Sys.sleep(sleep)
}
},interval=0.05)