Frage:
Quantifizierung der Lesezuordnung zu mehreren Loci
rightskewed
2017-05-30 14:05:01 UTC
view on stackexchange narkive permalink

Ich habe STAR für unsere RNA-Seq-Proben verwendet. In der Protokolldatei final.out wird der Prozentsatz der eindeutig zugeordneten Lesevorgänge zusammen mit dem Prozentsatz der Lesevorgänge, die mehreren Loci (kleiner oder gleich 10) zugeordnet sind, und dem Prozentsatz der Lesevorgänge, die zugeordnet sind, angegeben zu viele Loci (größer als 10). Ich möchte jedoch den Teil mehrere Loci in einzelne Zählungen aufteilen: Liest die Zuordnung zu 2 Orten, 3 Orten, 4 Orten. 10 Orten.

Das NH Das -Tag scheint von STAR verwendet zu werden. Ein naiver Lesezählungsansatz führt jedoch dazu, dass mehr Lesevorgänge als Gesamtlesevorgänge gemeldet werden.

Zum Beispiel sieht mein final.out folgendermaßen aus:

  Zuordnungsgeschwindigkeit, Millionen Lesevorgänge pro Stunde | 1403.36 Anzahl der Eingangslesungen | 53015978 Durchschnittliche Eingangsleselänge | 26 EINZIGARTIGE LESUNGEN: Eindeutig zugeordnete Lesezahlen | 368916 Eindeutig zugeordnete Lesevorgänge% | 0,70% Durchschnittliche zugeordnete Länge | 26.45 Anzahl der Spleiße: Gesamt | 1057 Anzahl der Spleiße: Kommentiert (sjdb) | 0 Anzahl der Spleiße: GT / AG | 802 Anzahl der Spleiße: GC / AG | 1 Anzahl der Spleiße: AT / AC | 0 Anzahl der Spleiße: Nicht kanonisch | 254 Nichtübereinstimmungsrate pro Basis,% | 0,31% Löschrate pro Basis | 0,00% durchschnittliche Löschlänge | 1,45 Einfügungsrate pro Basis | 0,00% Einfügungsdurchschnittslänge | 1.00 MULTI-MAPPING-LESUNGEN: Anzahl der Lesevorgänge, die mehreren Loci zugeordnet sind | 45766732% der Lesevorgänge sind mehreren Loci zugeordnet | 86,33% Anzahl der Lesevorgänge, die zu vielen Loci zugeordnet sind | 3757890
% der Lesevorgänge sind zu vielen Loci zugeordnet | 7,09% UNMAPPED READS:% der nicht zugeordneten Lesevorgänge: zu viele Nichtübereinstimmungen | 0,00 %% der nicht zugeordneten Lesevorgänge: zu kurz | 5,89 %% der nicht zugeordneten Lesevorgänge: Sonstige | 0,00%  

Zählen des Histogramms der Anzahl der Positionen, die ein Lesevorgang der Verwendung von pysam :

  def get_reads_hist (bam): bam = pysam.AlignmentFile (bam, 'rb') count = Counter () für die Abfrage in bam.fetch (): nh_count = Counter (dict (query.get_tags ()) ['NH']) count + = nh_count return count  

führt zu

  Zähler ({1: 330606, 2: 86772164, 3: 329, 4: 38083, 5: 31, 6: 1094, 7) : 129, 8: 50, 10: 50})  

Die Anzahl der 1 -Lesungen ist in Ordnung, obwohl sie nicht mit der Anzahl in final übereinstimmen. out -Datei, da ich eine bestimmte Kategorie von Lesevorgängen zähle (z. B. die Zuordnung nur zu tRNA ), aber die Zuordnung von Lesevorgängen zu 2 Speicherorten wird stark überschätzt. Warum ist das so?

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

Sie hatten fast schon den richtigen Python-Code, Sie müssen nur sekundäre Alignments herausfiltern:

  def get_reads_hist (bam): bam = pysam.AlignmentFile (bam, 'rb') zählt = Counter () für Abfrage in bam.fetch (): wenn query.is_secondary: continue nh_count = Counter (dict (query.get_tags ()) ['NH']) zählt + = nh_count gibt die Anzahl zurück  


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...