lenaschimmel / sequence_stat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sequence Stat

Tool(s), um Statistiken aus Sequenzierungen abzuleiten, in erster Linie die aktuelle Omicron-Fallzahl.

⚠️⚠️WICHTIG⚠️⚠️ Die Tools und Daten aus diesem Repository sind eigentlich überflüssig und sollten i.d.R. nicht benutzt werden.

Am Morgen des 23.12. kam heraus, dass das Original-Repository des RKI bereits eine Datei mit den Varianten-Zuordnungen besitzt, die nur bisher übersehen wurde. Es handelt sich um SARS-CoV-2-Entwicklungslinien_Deutschland.csv.xz.

Ein bisschen Kontext dazu, wie das passieren konnte, gibt's in diesen Tweets.

Allerdings gibt es Tage, an denen zwar neue Sequenzen, aber keine aktuellen Zuordnungen zu Entwicklungslinien veröffentlicht werden. An solchen Tagen können meine Tools doch noch nützlich sein, um aktuelle Zahlen zu erhalten.

Hintergrund

Deutschland steht kurz vor, oder bereits mitten in, einer fünften Infektionswelle, die durch die SARS-CoV-2-Variante B.1.1.529 alias Omikron getrieben wird. Es herrscht große Unklarheit über den aktuellen Anteil bzw. die Fallzahl dieser Variante.

Meines Wissens nach gibt es bisher noch keine Tagesaktuelle Auswertung der RKI-Sequenzierungen, und das möchte ich ändern.

Verfahren

  • Daten vom RKI herunter laden
  • Daten entpacken und dabei vorfiltern
  • Sequenzen auf Mutationen prüfen und Verdachtsfälle vorfiltern
  • Verdachtsfälle mittels nextclade eindeutig einer Variante zuordnen
  • Metadaten um zugeordnete Variante erweitern
  • Diverse Auswertungen auf diesen Metadaten machen
  • Auswertungen visualisieren und veröffentlichen

Sequenzen auf Mutationen prüfen und Verdachtsfälle vorfiltern

Nach einigen umständlichen Versuchen (z.B. selbst gebastelte, grobe Simulation von PCR mit Primer und Probe) gehe ich nun so vor: alle Sequenzen, die den Abschnitt TACCGGTAT enthalten, sind mit extremer Wahrscheinlichkeit kein Omicron, sondern irgendwas wenig interessantes (Delta, Kappa, Lambda), und werden nicht näher betrachtet. Damit fallen 97,6% der Sequenzen raus, entsprechend viel schneller geht der nächste Schritt.

⚠️⚠️WICHTIG⚠️⚠️ die vereinfachte Vorfilterung hat zwar deutlich weniger falsch-negative Omikron-Zuordnungen als die simulierte PCR, dennoch werden ca. 1,7% der Omikron-Sequenzen vorzeigtig als Nicht-Omikron heraus sortiert und fehlen in den Endergebnissen. Um exakte Zahlen zu erhalten, müsste die Vorfilterung deaktiviert werden, was zu extrem hohen Berechnungszeiten führen würde. Alternativ kann auch manuell eine Korrektur um +1,7% eingerechnet werden.

Verdachtsfälle mittels nextclade eindeutig einer Variante zuordnen

Im Wesentlichen ganz normale Verwendung von nextclade gemäß Dokumentation.

Metadaten um zugeordnete Variante erweitern

Mit xsv join werden die Varianten-Zuordnungen aus nextclade mit den Metadaten aus der Datenquelle vereint.

Diverse Auswertungen auf diesen Metadaten machen

Siehe Tool analyse_by_date.sh weiter unten.

Tools

download_and_filter.sh

Dieses Bash-Skript lädt alle Sequenz- und Metadaten herunter, speichert dabei aber nur die aus den Monaten November und Dezemeber 2021.

Aus den Sequenzdaten filtert es außerdem noch alle raus, die sehr eindeutig nach Delta ausschauen.

Ohne diese beiden on-the-fly-Filterungen würden über 12 GB Speicherplatz auf der Platte belegt, so sind es aber 61 MB.

detect_mutations.sh

Wird im aktuellen Workflow gar nicht mehr gebraucht, verbleibt aber für künftige Experimente

analyse_by_date.sh

Lädt von corona-zahlen.org die gesammten Fahlzahlen herunter.

Für jeden Tag vom 1. Dezember bis zum aktuellen Tag wird jeweils bestimmt:

  • ALL - Anzahl durchgeführte Sequenzierungen
  • OMICRON - Anzahl Omicron-Fälle an allen durchgeführtem Sequenzierungen
  • RANDOM_ALL - Anzahl Sequenzierungen der Zufallsprobe, d.h., die ohne Verdacht auf eine Variante angeordnet wurden
  • RANDOM_OMICRON - Anzahl Omicron-Fälle an den Zufallsproben
  • CASES - Neue bestätigte Fälle an jenem Tag (incl. nicht-sequenzierter PCRs)

Das Ergebnis wird in data/analysis_by_date.csv geschrieben.

Bezugspunkt ist immer das Datum, an dem die Probe genommen wurde.

assign_clades.sh

Lässt die vorgefilterten Sequenzen mit nextclade analysieren und erzeugt eine Metadaten-csv, die auch die Angabe der Variante als Spalte enthält.

find_labs.sh

Sucht die Labore heraus, die in November und Dezember die meisten Sequenzen mit SEQ_REASON = A ausgelöst haben, d.h., die am häufigsten per PCR einen Variantenverdacht feststellten. Da von denen nur Demis ID und Postleitzahl im RKI-Datensatz vorhanden sind, wird versucht, die konkreten Labore über die Mitgliederliste des ALM e.V. damit zu verbinden. Das ist natürlich nicht 100% zuverlässig, insbesondere, falls es innerhalb eines PLZ-Bereichs mehrere Labore gibt, oder Labore nicht Mitglied im ALM e.V. sind.

Requirements:

  • bash oder äquivalente Shell
  • curl
  • xsv
  • Node.js >= v14.8
  • nextclade CLI, nativ (also nicht Docker), mit dem Kommando nextclade im PATH
  • nur ca. 10 MB freier Speicher (nach Installation der Requirements)

Aufruf

Nachdem alle Requirements erfüllt sind:

./download_and_filter.sh
./assign_clades.sh

Verschiedenste Daten liegen dann unter data/.

Ergebnisse

Es gibt noch keine fertige Analyse. Erste Zwischenergebnisse:

Kontakt und weitere Infos

Updates über den Fortschritt der Tools und Analyse-Ergebnisse gibt's auf Twitter unter @LenaSchimmel. Eventuell (!) in Zukunft auch über einen gesonderten Account.

Fragen und Anregungen gerne auch per Twitter, oder hier in den Issues.

Datenquelle

In einem Repository des RKI finden sich (überwiegend) komplette Sequenzen aus derzeit ca. 423.000 Proben inkl. einiger Metadaten:

  • IMS_ID: Eindeutige Kennung. Die Fünfstellige Zahl hinter IMS- ist die Kennung des Labors gemäß
  • DATE_DRAW: Datum der Probenentnahme
  • SEQ_TYPE: Verwendete Sequenzierungs-Plattform
  • SEQ_REASON: Grund der Sequenzierung
  • SAMPLE_TYPE: Art der Probe (grob: wo am Körper entnommen)
  • OWN_FASTA_ID: Labor-Interne ID, verschlüsselt
  • RECEIVE_DATE: Verarbeitungsdatum im RKI
  • PROCESSING_DATE:
  • SENDING_LAB_PC: Die Postleitzahl des primärdiagnostischen Labors
  • SEQUENCING_LAB_PC: Die Postleitzahl des sequenzierenden Labors

Lizenz und Namensnennung

Der Code steht unter MIT Lizenz.

Die Analysen basieren auf Daten des Robert Koch-Instituts unter CC-BY 4.0 Internation Lizenz. Siehe hier.

Die Analyse-Ergebnisse stehen ebenfalls unter CC-BY 4.0 Internation Lizenz, Namensnennung: "Lena Schimmel & Robert Koch-Institut".

About

License:MIT License


Languages

Language:JavaScript 61.0%Language:Shell 39.0%