質問:
長い読み取り内の反復配列の位置と単位長を見つける
gringer
2017-06-02 07:48:05 UTC
view on stackexchange narkive permalink

ゲノムアセンブリに関するいくつかの問題を発見した後、 Nippostrongylus brasiliensis からのこのような反復DNA配列を見つけて分類することに興味を持ちました[各塩基はAとして色分けされています:緑; C:青; G:黄色; T:赤]:

Repeat sequence represented in a rectangular fashion Repeat sequence represented in a circular fashion

[このシーケンスに関連付けられたFASTAファイルが見つかりますここ]

繰り返し単位のサイズが大きいこれらの配列は、単位長よりも小さいサブ配列は検出できないため、長い読み取り(PacBio、ナノポアなど)を使用した場合にのみ検出(およびアセンブル可能)されます。シーケンスエラーとリピート構造内の別の場所へのヒットを区別するため。私はこれらのシーケンスを2つの方法で一括して追跡しています:

  1. all-vs-allマッピングを実行することと、自分自身に何度もマッピングするシーケンスを探すことです
  2. シーケンス(bzip2など)の圧縮を実行し、通常よりも大幅に高い圧縮率を持つシーケンスを見つける
  3. ol>

    疑わしいシーケンスを見つけた後、リピートを分類できるようにしたい(たとえば、メジャーリピートの長さ、タンデムリピートの数、反復シーケンス)。これが私が行き詰まっているところです。

    「見た目、光沢のある」デモンストレーションを行うために、私は現在、これらのシーケンスを視覚化できる形式にする非常に手動のプロセスを持っています。私のプロセスは次のとおりです。

    1. LASTを使用して、マッピングの自己マッピングのドットプロットを作成します。
    2. 繰り返し領域を視覚的に識別し、から領域を抽出します。シーケンス
    3. fold-w <width> less -S の組み合わせを使用して、さまざまな潜在的な繰り返し単位幅のシーケンスを視覚的に検査し、最も可能性の高いものを見つけます繰り返し単位のサイズ
    4. 独自のスクリプトを使用してシーケンスを長方形および円形に表示し、繰り返し単位の長さで折り返します
    5. ol>

      しかし、何千もの潜在的な反復シーケンスを処理する必要がある場合、そのプロセスは決して実行可能ではありません。

      これを行うためのより良い方法はありますか?長さが10kbを超える任意のDNA配列が与えられた場合、リピート領域の位置とユニット長の両方を(自動化された方法で)どのように見つけることができますか(ユニット長が30bpからの複数のリピート構造が存在する可能性があることに留意してください) 〜10kb)?

      シーケンスの例はここにあり、シーケンスの約3分の1のところに〜171bpのリピートユニットを持つ〜21kbのリピート領域があります。

      Kmerベースの分析

      10kbを超える反復領域を持つ(つまり、最もリンクされた読み取りの範囲外の)ヒト配列を見てきましたアプリケーション)。私の現在のアイデアは、短いシーケンス(現在は13 mer)のハッシュテーブルを作成し、それらの場所を追跡することを中心としています。

      1. シーケンスを処理し、各kmerの場所を保存します。
      2. 各kmerについて、シーケンスに出現する回数を確認します
      3. 繰り返しkmerの場合、次にkmerが発生するまでの間にどれだけのギャップがあるかを確認します
      4. li>
      5. 繰り返されるkmerの中央値とモーダルギャップの長さ、およびシーケンス内のそれらの頻度に関連する統計を報告します
      6. ol>

        このアプローチでは、一部のローカル反復領域が統計で失われる可能性があります。 1つのシーケンス内に複数の反復領域があるかどうかを判断するのは困難であり、反復ユニット自体がわずかに反復的である場合(kmerが反復ユニット内で複製されるのに十分)、アルゴリズムは反復性を過少報告します(ステップ3を参照) 。

RepeatMaskerはここであなたを助けますか?それとも、既知の反復要素と複雑度の低い領域のみを検出しますか?単純な繰り返しを識別するためにそれを使用しようとしたことはありません。
これらの繰り返しには、複雑性の高い繰り返し単位があります。タンタンやほこりでマークされている領域は見つかりませんでした。RepeatMaskerも同様であると思われます。 Webサービスは、少なくとも、リンクしたテストシーケンスで繰り返し領域を見つけることができません。
Gene Myersの[このブログ投稿](https://dazzlerblog.wordpress.com/2016/04/01/detecting-and-soft-masking-repeats/)について知っています。彼は、長い読み取りで繰り返しをマスキングする戦略を使用しています。ゲノムアセンブリをスピードアップします。それがまさにあなたが望むものであるかどうかはわかりませんが、それは役に立つかもしれないと思いました。
ありがとうございました。 TANmask(投稿の最後にあります)は、私が探している種類のアルゴリズムに非常によく似ています。繰り返し単位の長さの統計ではないにしても、少なくとも境界の問題を解決します。それを答えとして書いて頂けますか?
二 答え:
#1
+2
Sergio Arredondo
2017-06-02 19:20:35 UTC
view on stackexchange narkive permalink

150 bpのイルミナリードをシミュレートするように、長いリードを小さなシーケンスにフラグメント化し、これらの小さなシーケンスを元の長いリードに対してマッピングして、カバレッジの高い領域を抽出することはアイデアかもしれません。

#2
+2
gringer
2018-09-04 16:09:01 UTC
view on stackexchange narkive permalink

視覚化を整理しました。同じシーケンスの反復構造の3つの代替表現を次に示します。

Repeat patterns represented as a dotplot Repeat patterns represented as a linear "ripple" plot Repeat patterns represented as a semicircular "sunset" plot

これらは、コマンドラインから呼び出し可能な同じRスクリプトを使用して生成されました。

  $ repaver.r -style dotplot -prefix dotplot MAOA_chrX_43645715-43756016.fa $ repaver。 r-style profile -prefix profile MAOA_chrX_43645715-43756016.fa $ repaver.r -style semicircular -prefix semi MAOA_chrX_43645715-43756016.fa  

これについての詳細は、プレゼンテーション 2018年のQueenstownResearch Weekで発表しました。まもなく公開される、ピアレビューされたeBookの章もあります。

これは、ナノポアC.elegansゲノムで約半分で実行できるほど高速です。 1時間、各コンティグに対してこれらのプロットを作成します。このプロットを繰り返して、各場所で支配的な繰り返しの長さを選択する方法はまったくありませんが、これは[比較的]私がすでに行ったことの単純な拡張です。



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