Pitanje:
Kvantificiranje čitanja mapiranja na više lokusa
rightskewed
2017-05-30 14:05:01 UTC
view on stackexchange narkive permalink

Koristim STAR za naše uzorke RNA-Seq. Datoteka dnevnika final.out izvještava o postotku jedinstveno mapiranih čitanja, zajedno s postotkom čitanja te mape u više lokusa (manje ili jednako 10) i postotak mapiranja čitanja u previše lokusa (veće od 10). Međutim, želim podijeliti dio više lokusa na pojedinačno brojanje: čita mapiranje na 2 lokacije, 3 lokacije, 4 lokacije .. 10 lokacija.

NH čini se da oznaku koristi STAR . Međutim, naivni pristup brojanju čitanja rezultira time da prijavljuje veći broj čitanja od ukupnog broja pročitanih.

Na primjer, moj final.out izgleda ovako:

  Brzina mapiranja, milijun čitanja na sat | 1403,36 Broj očitavanja ulaza | 53015978 Prosječna duljina očitavanja ulaza | 26 JEDINSTVENIH ČITANJA: Jedinstveno mapiran broj čitanja | 368916 Jedinstveno preslikana čitanja% | 0,70% Prosječna preslikana duljina | 26.45 Broj spojnica: Ukupno | 1057 Broj spojnica: Označeno (sjdb) | 0 Broj spajanja: GT / AG | 802 Broj spojnica: GC / AG | 1 Broj spojnica: AT / AC | 0 Broj spajanja: nekanonski | 254 Stopa neusaglašenosti po osnovi,% | 0,31% Stopa brisanja po osnovi | 0,00% Prosječna dužina brisanja | 1,45 Stopa umetanja po osnovi | 0,00% Prosječna duljina umetanja | 1,00 ČITANJA VIŠE MAPIRANJA: Broj čitanja preslikanih u više lokusa | 45766732% čitanja preslikanih u više lokusa | 86,33% Broj čitanja preslikanih na previše lokusa | 3757890
% čitanja preslikanih na previše lokusa | 7,09% NEMAPPIRANIH ČITANJA:% nepročitanih čitanja: previše neusklađenosti | 0,00%% nepročitanih kartona: prekratko | 5,89%% nepročitanih kartona: ostalo | 0,00%  

Brojanje histograma broja položaja na kojima se pročitana karta koristi pysam:

  def get_reads_hist (bam): bam = pysam.AlignmentFile (bam, 'rb') counts = Counter () za upit u bam.fetch (): nh_count = Counter (dict (query.get_tags ()) ['NH']) counts + = nh_count count count  

rezultira

  Brojačem ({1: 330606, 2: 86772164, 3: 329, 4: 38083, 5: 31, 6: 1094, 7 : 129, 8: 50, 10: 50})  

Brojanje 1 čitanja je u redu iako se ne podudara s brojanjem u finalu. out datoteku, jer brojim određenu kategoriju čitanja (recimo da se mapiranje vrši samo na tRNA ), ali mapiranje čitanja na 2 mjesta jako je precijenjeno. Zašto?

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

Skoro ste već imali ispravan python kôd, samo trebate filtrirati sekundarne poravnave:

  def get_reads_hist (bam): bam = pysam.AlignmentFile (bam, 'rb') counts = Counter () za upit u bam.fetch (): ako je query.is_secondary: continue nh_count = Counter (dict (query.get_tags ()) ['NH']) counts + = nh_count count count  


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...