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.gorzvs..gordautomatisch 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.gordund legt eine SpalteSourceoffen: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, wennhttpfsgeladen 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 TSVEinzelthreaded, 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.