質問:
両方の読み取りをペアに保ちながら、BAMファイルをダウンサンプリングするにはどうすればよいですか?
medbe
2017-06-03 04:44:45 UTC
view on stackexchange narkive permalink

BAMファイルをダウンサンプリングしてカバレッジを下げる方法を知っています。 SAMで行をランダムに選択できることは知っていますが、この手順では、ペアの2つの読み取りが常に同時にサンプリングされることを保証できません。ペアリング情報をそのまま維持しながらBAMをダウンサンプリングする方法はありますか?

読み取りをダウンサンプリングすることが役立つ*理由*についてもう少し説明していただけますか?それを行うにはいくつかの異なる方法があり、答えはあなたの目標によって異なります。たとえば、デジタル正規化を実行してゲノムアセンブリの入力読み取り数を減らすことはできますが、その方法は読み取りの定量分析(RNASeqなど)には適していません。
三 答え:
#1
+14
rightskewed
2017-06-03 06:08:48 UTC
view on stackexchange narkive permalink

samtoolsにはサブサンプリングオプションがあります:

-s FLOAT:整数部分は乱数ジェネレーター[0]をシードするために使用されます。小数点以下の部分は、テンプレート/ペアの割合をサブサンプルに設定します[サブサンプリングなし]

  samtools view -bs 42.1 in.bam > subsampled.bam  

乱数ジェネレーターのシードとして42を使用して、10%のマップされた読み取りをサブサンプリングします。

将来の混乱を避けるために、これは読み取り名をハッシュすることで機能することに注意してください。なんらかのひどい理由で、仲間がまったく同じ名前を持っていない場合(たとえば、 `/ 1`と` / 2`が削除されなかった場合)、これは壊れます。
また、これが機能する方法により、サブサンプリングされたエントリの数が正確に必要なパーセンテージであるとは限りません。[0,1]間隔にあるハッシュの変換がサンプリング比率と比較されます。ファイルに存在する読み取り名に応じて、効果的にサンプリングされるsamエントリの数は異なります。
#2
+4
ATpoint
2018-12-12 05:12:02 UTC
view on stackexchange narkive permalink

この関数を使用すると、SamBambaを使用して、特定のBAMファイルをユーザー指定の読み取り数にサブサンプリングできます。この関数は自動的に倍率を計算します。 ここ

 関数SubSample {##から取得したアイデアの一部"> $(samtools idxstats $  span> 1 | cut -f3 | awk -v COUNT =  $ 2'BEGIN {total = 0} {total + = $  span> 1 } END {print COUNT / total} ')if [[ $ FACTOR > 1]] then echo' [ERROR]:要求された読み取り数が '$  spanの合計読み取り数を超えています> 1'-exiting '&& exit 1fisambamba view -s  $ FACTOR -f bam -l 5 $  span> 1} ##使用例、100.000読み取りを選択:SubSamplein。 bam 100000 > subsampled.bam  

$ 2 は読み取りの数であることに注意してください。 10000回の読み取りを選択したが、ペアエンドデータがあるとすると、5000個のフラグメントになります。

#3
+1
swbarnes2
2018-12-13 00:31:35 UTC
view on stackexchange narkive permalink

まったく異なる戦術...最後に何回の読み取りがあるかについてあまり気にしない場合に役立ちます。

イルミナの読み取り名には、レーン、タイル、およびxy座標が含まれています。それらを読んでください。これらでフィルタリングした場合、ペアの両方のメンバーを取得するか、どちらも取得しないことが保証されます。フローセルの端を避けるようにすることをお勧めします。



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