Pitanje:
Pronalaženje mjesta i duljine jedinice ponavljajućih sekvenci unutar dugog čitanja
gringer
2017-06-02 07:48:05 UTC
view on stackexchange narkive permalink

Nakon što sam otkrio nekoliko poteškoća sa sastavljanjem genoma, zainteresirao sam se za pronalaženje i kategoriziranje ponavljajućih DNA sekvenci, poput one iz Nippostrongylus brasiliensis [svaka baza je označena bojom kao A: zelena; C: plava; G: žuta; T: crveno]:

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

[FASTA datoteka povezana s ovom sekvencom može se naći ovdje]

Ove sekvence s velikim veličinama jedinice ponavljanja mogu se otkriti (i sastaviti) samo uz dugo čitanje (npr. PacBio, nanopora), jer nijedna podsekvenca manja od duljine jedinice neće biti u mogućnosti kako bi se razlikovala pogreška sekvenciranja i udaranje na drugo mjesto unutar strukture ponavljanja. Skupno sam pratio ove sekvence na dva načina:

  1. Pokretanje mapiranja sve u svemu i traženje sekvenci koje sebi mapiraju puno puta
  2. Izvođenje kompresije niza (npr. bzip2) i pronalaženje sekvenci koje imaju stopu kompresije koja je znatno veća od normalne

Nakon što pronađem sumnjiv niz, onda želite imati mogućnost kategoriziranja ponavljanja (npr. glavna duljina ponavljanja, broj tandemskih ponavljanja, ponavljajući redoslijed). Tu zapinjem.

Za demonstraciju "izgled, sjaj" trenutno imam vrlo ručni postupak dovođenja ovih sekvenci u format koji mogu vizualizirati. Moj postupak je sljedeći:

  1. Upotrijebite LAST za izradu točkasta crta samo-mapiranja za mapiranje
  2. Vizualno identificirajte ponavljajuće područje i izvucite regiju iz slijed
  3. Koristite kombinaciju fold -w <width> i less -S za vizualni pregled sekvence s različitim potencijalnim širinama jedinice ponavljanja kako biste pronašli najvjerojatnije veličina jedinice ponavljanja
  4. Prikaz redoslijeda pravokutnim i kružnim putem pomoću moje vlastite skripte, omatanje na dužini jedinice ponavljanja

Ali taj postupak nikako nije izvediv kad imam tisuće potencijalnih ponavljajućih sekvenci koje mogu proći.

Postoji li bolji način za to? S obzirom na proizvoljan slijed DNA duljine> 10 kb, kako mogu (na automatiziran način) pronaći i mjesto regije ponavljanja, ali i jedinicu duljine (imajući na umu da može postojati više struktura ponavljanja, s duljinom jedinice od 30 bp do 10 kb)?

Primjer sekvence možete pronaći ovdje, koja ima područje ponavljanja ~ 21kb s ~ 171bp ponavljajućim jedinicama oko 1/3 puta u slijed.

Analiza temeljena na Kmeru

Sad sam vidio ljudske sekvence s ponavljajućim regijama većim od 10 kb (tj. izvan raspona najčešće povezanog čitanja aplikacije). Moja trenutna ideja usredotočena je na stvaranje heš tablica kratkih sekvenci (trenutno 13-mjernih) i praćenje njihovog mjesta:

  1. Obradite slijed, pohranjujući mjesto svakog kmera
  2. Za svaki kmer saznajte koliko se puta pojavljuje u nizu
  3. Za ponovljene kmere saznajte koliki je jaz između sljedećeg puta kada se kmer dogodi
  4. Izvještavajte o srednjoj i modalnoj duljini praznine ponovljenih kmersa, a statistike povezane s njihovom učestalošću u nizu

Neka lokalna repetitivna područja mogu se izgubiti u statistici ovim pristupom, teško je reći postoji li više ponavljajućih područja unutar jedne sekvence i ako se jedinice za ponavljanje i same malo ponavljaju (dovoljno da se kmer duplicira u jedinici za ponavljanje), tada će algoritam nedovoljno prijaviti ponavljanje (vidi korak 3 ).

Bi li vam RepeatMasker pomogao ovdje? Ili pronalazi samo poznate ponavljajuće elemente i područja male složenosti? Nikad ga nisam pokušao koristiti za prepoznavanje jednostavnih ponavljanja.
Ovi ponavljači imaju jedinice složenosti ponavljanja; Nisam pronašao regije obilježene tantanom ili prašinom i sumnjam da će RepeatMasker biti sličan. Web usluga barem ne može pronaći područje ponavljanja u slijedu testa koji sam povezao.
Znam za [ovaj post na blogu] (https://dazzlerblog.wordpress.com/2016/04/01/detecting-and-soft-masking-repeats/) od Gene Myersa gdje koristi strategiju maskiranja ponavljanja u dugim čitanjima kako bi se ubrzao sastavljanje genoma. Nisam siguran je li to točno ono što želite, ali mislio sam da bi moglo biti korisno.
Hvala vam. TANmask (na samom kraju posta) izgleda jako poput algoritma koji tražim. Riješit će barem problem granice, ako ne i statistiku dužine jedinice ponavljanja. Možete li to zapisati kao odgovor?
Dva odgovori:
#1
+2
Sergio Arredondo
2017-06-02 19:20:35 UTC
view on stackexchange narkive permalink

Mogla bi biti ideja fragmentirati duga čitanja u male sekvence, poput simulacije čitanja Illumine od 150 bp, a zatim te male sekvence mapirati u izvorna duga čitanja i izvući regije s velikim pokrivanjem?

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

Riješio sam vizualizaciju. Evo tri alternativna prikaza ponavljajućih struktura za isti slijed:

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

Oni su generirani upotrebom iste R skripte, koja se može pozvati iz naredbenog retka:

  $ repaver.r -style dotplot -prefix dotplot MAOA_chrX_43645715-43756016.fa $ repaver. r -style profil -prefix profil MAOA_chrX_43645715-43756016.fa $ repaver.r -style polukružni -prefix polu MAOA_chrX_43645715-43756016.fa  

Više detalja o tome nalazi se u prezentaciji Dao sam na Queenstown Research Week-u, 2018. Uskoro dolazi i recenzirano poglavlje o e-knjigama.

Ovo je dovoljno brzo da ga mogu pokrenuti na genomu nanopore C. elegans za otprilike pola sat, izrađujući ove parcele za svaki kontig. Nemam baš metodu za ponavljanje ove radnje i odabir dominantne duljine ponavljanja na svakom mjestu, ali to je [relativno] jednostavno produženje onoga što sam već učinio.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...