bgzip - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

bgzip - ยูทิลิตี้บล็อกการบีบอัด/คลายการบีบอัด

เรื่องย่อ

bgzip [-cdfhikrt] [-b virtualOffset] [-I index_name] [-l compression_level] [-s size] [-@ threads] [file]

คำอธิบาย

Bgzip บีบอัดไฟล์ในลักษณะที่คล้ายกับและเข้ากันได้กับ gzip(1) ไฟล์ถูกบีบอัดเป็นชุดบล็อก 'BGZF' ขนาดเล็ก (น้อยกว่า 64K) สิ่งนี้ทำให้สามารถสร้างดัชนีเทียบกับไฟล์บีบอัดและใช้เพื่อดึงข้อมูลบางส่วนโดยไม่ต้องขยายขนาดไฟล์ทั้งหมด

หากไม่มีการระบุไฟล์ในบรรทัดคำสั่ง bgzip จะบีบอัด (หรือขยายขนาดหากใช้ตัวเลือก -d) อินพุตมาตรฐานไปยังเอาต์พุตมาตรฐาน หากมีการระบุไฟล์ ไฟล์นั้นจะถูกบีบอัด (หรือคลายการบีบอัดด้วย -d) หากใช้ตัวเลือก -c ผลลัพธ์จะถูกเขียนไปยังเอาต์พุตมาตรฐาน มิฉะนั้น เมื่อบีบอัด bgzip จะเขียนไปยังไฟล์ใหม่ที่มีส่วนต่อท้าย .gz และลบต้นฉบับออก เมื่อขยายขนาดไฟล์อินพุตจะต้องมี .gz ต่อท้าย ซึ่งจะถูกลบออกเพื่อสร้างชื่อเอาต์พุต อีกครั้งหลังจากคลายการบีบอัดไฟล์อินพุตจะถูกลบออก

ตัวเลือก

--binary

Bgzip จะพยายามให้แน่ใจว่าบล็อก BGZF สิ้นสุดด้วยการขึ้นบรรทัดใหม่เมื่ออินพุตเป็นไฟล์ข้อความ ข้อยกเว้นคือเมื่อบรรทัดเดียวมีขนาดใหญ่กว่าบล็อก BGZF (64Kb) สิ่งนี้สามารถช่วยเหลือเครื่องมือที่ใช้ดัชนีเพื่อเข้าถึงสตรีมที่บีบอัดแบบสุ่ม เนื่องจากจุดเริ่มต้นของบล็อกมักจะเป็นจุดเริ่มต้นของบันทึกข้อความด้วย

ตัวเลือกนี้จะประมวลผลไฟล์ข้อความเหมือนกับว่าเป็นเนื้อหาไบนารี โดยไม่สนใจตำแหน่งของการขึ้นบรรทัดใหม่ สิ่งนี้จะคืนค่าลักษณะการทำงานสำหรับไฟล์ข้อความเป็น bgzip เวอร์ชัน 1.15 และก่อนหน้า

-b, --offset INT

คลายการบีบอัดเป็นเอาต์พุตมาตรฐานจากตำแหน่งไฟล์เสมือน (ออฟเซ็ตที่ไม่บีบอัดตาม 0) หมายถึง -c และ -d

-c, --stdout

เขียนไปยังเอาต์พุตมาตรฐาน เก็บไฟล์ต้นฉบับไว้ไม่เปลี่ยนแปลง

-d, --decompress

ขยายขนาด

-f, --force

เขียนทับไฟล์โดยไม่ต้องถาม หรือคลายไฟล์ที่ไม่มีนามสกุลไฟล์บีบอัดที่รู้จัก (เช่น .gz) โดยไม่ต้องถาม ใช้ --force สองครั้งเพื่อทำทั้งสองอย่างโดยไม่ต้องถาม

-g, --rebgzip

ลองใช้ดัชนีที่มีอยู่เพื่อสร้างไฟล์บีบอัดที่มีการชดเชยบล็อกที่ตรงกัน ต้องระบุดัชนีโดยใช้ตัวเลือก -I file.gzi โปรดทราบว่านี่ถือว่าใช้ไลบรารีและระดับการบีบอัดเดียวกันกับเมื่อสร้างไฟล์ต้นฉบับ อย่าใช้จนกว่าคุณจะรู้ว่าคุณกำลังทำอะไรอยู่

-h, --help

แสดงข้อความช่วยเหลือ

-i, --index

สร้างดัชนี BGZF ขณะบีบอัด เว้นแต่จะใช้ตัวเลือก -I ซึ่งจะมีชื่อไฟล์บีบอัดที่มี .gzi ต่อท้าย

-I, --index-name FILE

ชื่อไฟล์ดัชนี

-k, --keep

อย่าลบไฟล์อินพุตระหว่างการดำเนินการ

-l, --compress-level INT

ระดับการบีบอัดที่จะใช้เมื่อบีบอัด ตั้งแต่ 0 ถึง 9 หรือ -1 สำหรับระดับเริ่มต้นที่กำหนดโดยไลบรารีการบีบอัด [-1]

-r, --reindex

สร้างดัชนีใหม่บนไฟล์บีบอัดที่มีอยู่

-s, --size INT

คลาย INT ไบต์ (ขนาดที่ไม่บีบอัด) เป็นเอาต์พุตมาตรฐาน นัย-ค.

-t, --test

ทดสอบความสมบูรณ์ของไฟล์บีบอัด

-@, --threads INT

จำนวนเธรดที่จะใช้ [1]

รูปแบบ BGZF

รูปแบบ BGZF ที่เขียนโดย bgzip อธิบายไว้ในข้อกำหนดรูปแบบ SAM ที่มีอยู่ใน http://samtools.github.io/hts-specs/SAMv1.pdf

มันใช้คุณสมบัติ gzip ซึ่งอนุญาตให้รวมไฟล์บีบอัดเข้าด้วยกัน ข้อมูลอินพุตแบ่งออกเป็นบล็อกที่มีขนาดไม่เกิน 64 กิโลไบต์ทั้งก่อนและหลังการบีบอัด (รวมถึงส่วนหัวของการบีบอัด) แต่ละบล็อกจะถูกบีบอัดเป็นไฟล์ gzip ส่วนหัว gzip ประกอบด้วยฟิลด์ย่อยพิเศษที่มีตัวระบุ 'BC' และความยาวของบล็อกที่บีบอัด รวมถึงส่วนหัวทั้งหมด

รูปแบบ GZI

รูปแบบดัชนีคือไฟล์ไบนารีที่แสดงคู่ของออฟเซ็ตที่บีบอัดและไม่บีบอัดในไฟล์ BGZF การชดเชยที่บีบอัดแต่ละครั้งจะชี้ไปที่จุดเริ่มต้นของบล็อก BGZF ออฟเซ็ตที่ไม่บีบอัดคือตำแหน่งที่สอดคล้องกันในสตรีมข้อมูลที่ไม่บีบอัด

ค่าทั้งหมดจะถูกจัดเก็บเป็นจำนวนเต็มที่ไม่มีเครื่องหมาย 64 บิตแบบ little-endian

เนื้อหาไฟล์คือ:

uint64_t number_entries

ตามด้วย number_entries คู่ของ:

uint64_t compressed_offset
uint64_t uncompressed_offset

ตัวอย่าง

# Compress stdin to stdout
bgzip < /usr/share/dict/words > /tmp/words.gz

# Make a .gzi index
bgzip -r /tmp/words.gz

# Extract part of the data using the index
bgzip -b 367635 -s 4 /tmp/words.gz 

# Uncompress the whole file, removing the compressed copy
bgzip -d /tmp/words.gz

ผู้เขียน

เดิมทีไลบรารี BGZF ใช้งานโดย Bob Handsaker และแก้ไขโดย Heng Li สำหรับการเข้าถึงไฟล์ระยะไกลและการแคชในหน่วยความจำ

ดูสิ่งนี้ด้วย

gzip(1), tabix(1)