Frage:
Eine BAM-Datei von einer Referenz in eine andere konvertieren?
morgantaschuk
2017-05-17 01:00:43 UTC
view on stackexchange narkive permalink

Ich habe eine Reihe von BAM-Dateien, die unter Verwendung der NCBI GRCh37-Referenz zum menschlichen Genom (mit den Chromosomennamen NC_000001.10) ausgerichtet sind, aber ich möchte sie mithilfe einer BED-Datei analysieren, die die UCSC-hg19-Chromosomennamen enthält (z. B. chr1) ). Ich möchte Bedtools verwenden, um alle Lesevorgänge auf und außerhalb des Ziels abzurufen.

  1. Sind NCBI und UCSC direkt vergleichbar? Oder muss ich die BAM neu ausrichten / das BETT an der UCSC-Referenz anheben?
  2. Soll ich die BED-Datei oder die BAM-Datei konvertieren? Jeder hier verwendet die Namen / Positionen der UCSC-Chromosomen, daher muss ich die eventuellen Dateien trotzdem in UCSC konvertieren.
  3. ol>
Drei antworten:
#1
+23
Devon Ryan
2017-05-17 02:04:43 UTC
view on stackexchange narkive permalink

Sie sind die zweite Person, die ich jemals gesehen habe, wie sie NCBI- "Chromosomennamen" verwendet (sie ähneln eher Supercontig-IDs). Normalerweise würde ich Sie auf eine Ressource verweisen, die Zuordnungen zwischen Chromosomennamen bereitstellt, aber da noch niemand NCBI-Namen hinzugefügt hat (vielleicht füge ich sie jetzt hinzu), haben Sie dort derzeit kein Glück.

Der schnellste Weg, um das zu tun, was Sie wollen, ist samtools view -H foo.bam > header , um den BAM-Header abzurufen und dann jeden NCBI- "Chromosomennamen" in seinen zu ändern entsprechender UCSC-Chromosomenname. BESTELLEN SIE DIE LINIEN NICHT UM! Sie können dann samtools reheader verwenden und fertig sein.

Warum, könnte man fragen, würde das funktionieren? Die Antwort ist, dass Chromosomen- / Contig-Namen in BAM-Dateien nicht in jeder Ausrichtung gespeichert werden. Vielmehr werden die Namen in einer Liste im Header gespeichert und jede Ausrichtung enthält nur den ganzzahligen Index in dieser Liste (Lesegruppen-IDs sind ähnlich, was es wert ist). Dies führt auch zu der obigen Warnung vor einer Neuordnung von Einträgen, da dies eine SEHR bequeme Möglichkeit ist, Alignments zwischen Chromosomen auszutauschen.

Abgesehen davon wäre es gut, wenn Sie zu Gencode- oder Ensembl-Chromosomennamen wechseln würden sind eher kohärenter als das etwas_random Durcheinander, das in hg19 von UCSC vorhanden ist.

Update : Weil ich nett bin, hier ist die Konvertierung zwischen NCBI und UCSC. Beachten Sie, dass es bei UC-Ausrichtungen einfach kein UCSC-Äquivalent gibt. Einer der vielen Gründe, UCSC nicht zu verwenden (vermeiden Sie auch deren Anmerkungen).

Wie gut funktioniert das? Haben Sie Benchmarks durchgeführt? Ich frage, weil ich versucht habe, verschiedene Bettdateien zwischen hg- und GRC-Genomen zu konvertieren, und die drei Werkzeuge, die ich verwendet habe, alle sehr unterschiedliche Ergebnisse lieferten. Diese Art der Zuordnung sollte eigentlich eine einfache Sache sein, aber es scheint überhaupt nicht so einfach zu sein.
In Fällen, in denen es sich nur um eine Namensänderung handelt (in den meisten Fällen), gibt es nichts zu vergleichen. In Fällen, in denen Sie zusätzlich Positionsänderungen haben, benötigen Sie eine andere Ressource (nämlich liftOver oder crossmap).
Ja, es sind Mautgebühren wie liftOver und crossmap, mit denen ich Probleme festgestellt habe. Ich hatte erwartet, dass dies ein gelöstes Problem sein würde, aber jedes der drei von mir verwendeten Tools lieferte leider unterschiedliche Ergebnisse. Was mich misstrauisch macht, die Ergebnisse zu verwenden.
Die Ergebnisse sind deterministisch und sollten unabhängig vom Tool gleich sein, sofern Sie dieselben Einstellungen verwenden.
Das denkst du ja. Aber sie sind es nicht. Ich würde mich gerne darüber unterhalten ([chat]) (dies ist eines der Dinge, die ich bei der Arbeit klären muss), wenn Sie möchten, und ich würde mich sehr freuen zu erfahren, dass ich es einfach falsch gemacht habe, aber meine Vorläufige Tests und verschiedene Themen, die ich online gelesen habe (siehe [hier] (https://www.biostars.org/p/14187/#91490) zum Beispiel), legen nahe, dass es nicht so einfach ist, wie Sie denken.
Ich vermute, dass dies auf Mängel in den Kettendateien zurückzuführen ist, aber ich würde gerne davon hören.
#2
+3
chrisamiller
2017-05-17 23:56:14 UTC
view on stackexchange narkive permalink

Die "richtige" Lösung wäre eine Neuausrichtung, aber das ist teuer und die meisten von uns würden diesen Weg nicht gehen. Meine bevorzugte Lösung wäre, die Bettdatei im Gegensatz zur BAM zu konvertieren. Hier ist der Grund:

1) Das erneute Lesen der BAM bedeutet, dass Sie möglicherweise Lesevorgänge an Contigs ohne entsprechenden Eintrag in UCSC ausgerichtet haben (Zuordnungen finden Sie in Devons Liste). Dies ist ein Problem, weil:

  • Einige dieser Lesevorgänge wären wahrscheinlich an anderer Stelle zugeordnet worden, wenn eine Referenz ohne diese Contigs verwendet worden wäre.
  • Ich bin mir nicht einmal sicher, was mit diesen Lesevorgängen nach dem erneuten Lesen passiert. Ich denke, sie müssten als nicht zugeordnet markiert werden. Dort gibt es viel Potenzial für Verrücktheit.

2) Es scheint sauberer zu sein, die Bettdatei von UCSC-> NCBI zu konvertieren, wo Sie garantiert haben, dass jeder Eintrag ein "Zuhause" hat. Nachdem Sie Ihre Daten aus der BAM abgerufen haben, können Sie die Chromosomennamen bei Bedarf jederzeit zurückkonvertieren.

Ausrichtungen, die am Ende ihr Chromosom verlieren, werden nicht zugeordnet, obwohl sie nicht das SAM-Flag für nicht zugeordnete Karten erhalten (vielmehr werden sie als auf dem Chromosom "*" dargestellt). Aber ja, `samtools reheader` sollte mit äußerster Vorsicht verwendet werden.
Mehrere Tools werden wackelig, wenn Sie Lesevorgänge weitergeben, die nicht als nicht zugeordnet markiert sind. `pysam` ist eins. Ich weiß das aus bitterer Erfahrung (Fehlerbehebung).
#3
  0
Ian Sudbery
2017-08-08 16:02:03 UTC
view on stackexchange narkive permalink

Um nur darauf hinzuweisen, dass Sie, wenn Sie der Antwort von @Devon Ryan für einen anderen Organismus / eine andere Versammlung folgen möchten, die nicht in seiner sehr nützlichen verknüpften Ressource enthalten ist, NCBI to UCSC contig to Chromosom Number Mappings von https herunterladen können : //www.ncbi.nlm.nih.gov/assembly.

Gehen Sie zur Site und suchen Sie nach Ihrem Assemblynamen. Am Ende der Seite befindet sich ein Feld mit dem Namen "Globale Assemblydefinition" mit einem Link mit dem Titel "Vollständigen Sequenzbericht herunterladen".

Die heruntergeladene Datei enthält eine Tabelle mit:

  • Chromosomenzahlen in "Sequenzname" / "Zugewiesenes Molekül"
  • NCBI-Namen in Refseq-Accn
  • UCSC-Contigname in "UCSC-Stilname"


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