質問:
複数の遺伝子座への読み取りマッピングの定量化
rightskewed
2017-05-30 14:05:01 UTC
view on stackexchange narkive permalink

RNA-Seqサンプルには STARを使用しています。 final.out ログファイルは、一意にマップされた読み取りの割合と、複数の場所にマップされた読み取りの割合(10以下)およびにマッピングされた読み取りの割合を報告します。 場所が多すぎます(10より大きい)。ただし、複数の遺伝子座の部分を個々のカウントに分解したい:2つの場所、3つの場所、4つの場所..10の場所へのマッピングを読み取ります。

NH タグは STAR によって使用されているようです。ただし、単純な読み取りカウントアプローチでは、合計読み取りよりも多くの読み取り数が報告されます。

たとえば、私の final.out は次のようになります。

 マッピング速度、1時間あたりの読み取り数百万| 1403.36入力読み取りの数| 53015978平均入力読み取り長| 26一意の読み取り:一意にマップされた読み取り数| 368916一意にマップされた読み取り%| 0.70%マップされた平均の長さ| 26.45スプライスの数:合計| 1057スプライスの数:注釈付き(sjdb)| 0スプライス数:GT / AG | 802スプライス数:GC / AG | 1スプライスの数:AT / AC | 0スプライスの数:非標準| 254ベースあたりの不一致率、%|ベースあたり0.31%の削除率| 0.00%削除平均長さ| 1.45ベースあたりの挿入率| 0.00%挿入平均長さ| 1.00マルチマッピングリード:複数の遺伝子座にマッピングされたリードの数| 45766732読み取りの%が複数の遺伝子座にマッピングされています| 86.33%多すぎる遺伝子座にマッピングされた読み取りの数| 3757890
あまりにも多くの遺伝子座にマッピングされた読み取りの割合| 7.09%マップされていない読み取り:マップされていない読み取りの%:不一致が多すぎます|マップされていない読み取りの0.00 %%:短すぎる|マップされていない読み取りの5.89 %%:その他| 0.00% 

pysam を使用して読み取りがマップされる位置の数のヒストグラムをカウントする:

  def get_reads_hist(bam):bam = pysam.AlignmentFile(bam、 'rb')counts = bam.fetch()のクエリのCounter():nh_count = Counter(dict(query.get_tags())['NH'])counts + = nh_count return counts  

結果は

  Counter({1:330606、2:86772164、3:329、4:38083、5:31、6:1094、7 :129、8:50、10:50}) 

1 の読み取りカウントは、 finalのカウントと一致しなくても、問題ありません。特定のカテゴリの読み取り(たとえば、 tRNA のみへのマッピング)をカウントしているため、out ファイルですが、2つの場所への読み取りマッピングは非常に過大評価されています。なぜですか?

1 回答:
#1
+9
Devon Ryan
2017-05-30 14:08:12 UTC
view on stackexchange narkive permalink

ほぼ正しいPythonコードがすでにあるので、セカンダリアライメントを除外する必要があります:

  def get_reads_hist(bam):bam = pysam.AlignmentFile(bam、 'rb')counts = bam.fetch()のクエリのCounter():if query.is_secondary:continue nh_count = Counter(dict(query.get_tags())['NH'])counts + = nh_count return counts  
>


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...