gorz

GORpipe-.gorz- und -.gord-Dateien lesen und .gorz als native DuckDB-Tabellen schreiben

Maintainer: gorfather

Installation und Laden

INSTALL gorz FROM community;
LOAD gorz;

Beispiel

-- Write a query result out as a GORZ file (rows must be in GOR order),
-- then read it back — with an optional GOR -p style range filter.
COPY (SELECT * FROM (VALUES ('chr1', 1000, 'A', 'G'), ('chr1', 2000, 'C', 'T'))
t(chrom, pos, ref, alt) ORDER BY chrom, pos)
TO 'variants.gorz' (FORMAT gorz);
SELECT * FROM read_gor('variants.gorz', range := 'chr1:1500-2500');

Über gorz

Die Erweiterung gorz liest und schreibt genomische GORpipe- Dateien — blockkomprimierte .gorz und .gord-Dictionaries — als native DuckDB-Tabellen. Von ihr geschriebene Dateien werden von gorpipe nativ gelesen und angesprungen, und umgekehrt.

Lesen

  • read_gor(path) — erkennt .gorz vs. .gord automatisch anhand der Erweiterung.
  • read_gorz(path) / read_gord(path) — erzwingt die Art.
  • Ein Replacement Scan, sodass ein bloßes Literal funktioniert: SELECT count(*) FROM 'variants.gord';
  • Projektion und paralleler Scan — nur ausgewählte Spalten werden gelesen; große Dateien werden über Threads gescannt.
  • WHERE chrom/pos → Block-Seek — Bereichsprädikate springen in den richtigen Block, statt die ganze Datei zu scannen.
  • range := 'chrN:start-end' — GORs -p-Semantik als harter Positionsfilter (auch 'chrN', 'chrN:start-', 'chrN:pos').
  • Partitionsfilter — GORs -f-/-ff-Semantik beschneidet die Dateiliste eines .gord und legt eine Spalte Source offen: f := ['A','B'] ist eine Inline-Tagliste, ff := 'tags.txt' eine Tagdatei (ein Tag pro Zeile / erste tabulatorgetrennte Spalte, #-Zeilen werden übersprungen). source := 'PN' benennt die offengelegte Spalte um.
  • Objektspeicher — Pfade werden über DuckDBs FileSystem aufgelöst, sodass s3://… funktioniert, wenn httpfs geladen ist.

Schreiben

COPY (SELECT chrom, pos, ref, alt FROM my_variants ORDER BY chrom, pos)
TO 'out.gorz' (FORMAT gorz); -- or (FORMAT gor) for plain sorted TSV

Einzelthreaded, Standard-Block-Zip; prüft die GOR-Ordnung (Chromosomen aufsteigend lexikografisch, Positionen nicht fallend) und bricht andernfalls mit einem Fehler ab.

Hinzugefügte Funktionen

function_name function_type description comment examples
read_gor table NULL NULL
read_gord table NULL NULL
read_gorz table NULL NULL

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

Diese Erweiterung fügt keine Einstellungen hinzu.