Giter VIP home page Giter VIP logo

gtz-2016's Introduction

GTX Compressor

Powered by GTXLab of Genetalks.

##系统简介 GTX Compressor是Genetalks公司GTX Lab实验室开发的面向大型数据(数GB甚至数TB数据,尤其是生物信息数据)上云,而量身定制的复杂通用数据压缩打包系统,可以对任意基因测序数据以及数据目录进行高压缩率的快速打包,形成单个压缩数据文件,以方便存储档与远程传输、校验。区别于以往的压缩工具,GT Compressor系统着力于高压缩率,高速率,方便的数据抽取

GTX Compressor可以在AWS C4.8xlarge机器(或同配置服务器),以超过114MB/s的速度,将接近200GB大小的33个质量数的FASTQ文件(NA12878_1.fastq),在29分钟内压缩到原大小的13%,而对于X10等只有7个质量数的FASTQ数据,其压缩率更可以达到5.5%

考虑商业使用时,用户会将大量FASTQ样本集中打包进一个压缩包中,因此,数据的随机抽取是一个重要的使用特性。GTX Compressor的数据压缩引擎与存储格式从设计之初,就允许用户可以不用展开压缩包,即可随机抽取其中的任何一个文件的任何一个部分。GTX Compressor不仅提供命令行抽取文件以及文件中内容,更提供基于Python的丰富API解包接口,允许用户使用程序自动地、灵活地枚举压缩包中的文件,并使用丰富方便的数据抽取接口,对压缩数据中任意文件,或是文件中任意部分进行解压,并可以将解压过程集成进用户自己的数据自动化处理流程中。

系统亮点

  • **高压缩比:**采用Context Model压缩技术,配合多种优化的预测模型,平衡系统并发度与内存资源消耗后,能达到极高的压缩率。对FASTQ文件,压缩率最高可达5.58%。
  • 高性能: GT Compressor充分发挥了CPU的并发性以及计算能力。在普通20核服务器上,最高能够以接近114MB/s的流量输入数据并压缩完毕。
  • **专通结合:**GT Compressor即包含专门针对生物信息领域FASTQ文件的特殊压缩框架和技术;也同时支持对任意二进制文件或文本文件的高倍率压缩。
  • **All in One:**目录、子目录、多个文件以及各种文件类型均可压缩打包成一个文件,该文件被称为多流文件,可以方便地进行传输、存储与校验。
  • **增删随意:**将多流文件包视为一个压缩文件系统,可以在里面任意删除和添加文件。
  • **直接抽取:**GT Compressor的多流文件格式允许解压器或Python解压库可以任意抽取其中的某一个压缩文件,而不用完全解压所有包中文件后才能提取指定文件内容。此外,GT Compressor中的压缩算法设计之初,既考虑了用户解压所需的“随机寻址”能力,工程实现上,通过开放Python API接口允许用户甚至不需要完整解开目标文件,即可以”随机寻址”方式对压缩包中的某个文件的某个部分进行读取。
  • 接口丰富: 提供基于Python的丰富API解包接口,允许用户使用程序自动地、灵活地枚举压缩包中的文件,并使用丰富方便的数据抽取接口,对压缩数据中任意文件,或是文件中任意部分进行解压,并可以将解压过程集成进用户自己的数据自动化处理流程中。

系统环境要求

  • 操作系统要求: 64位 Linux 系统(推荐Ububtu 14.04及以上64位操作系统)

  • 硬件要求: 4核以上,最小8GB内存的主机系统(若要达到最大并发性,推荐32核 64GB内存,或与AWS C4.8xlarge机器相同配置)

命令行说明

执行 ./gtz -h,输出命令行帮助说明。

USAGE: 
./gtz  [-t] [-n <string>] [-l <number>] [-i] [-d] [-a] [-b] 
       [-g <number>] [-o <string>] [--] [--version] [-h] <file names> ... 

通用选项说明:

  • -h:输出以上命令行帮助信息
  • --version:输出gt_compress程序的版本号
  • 压缩选项说明:
  • -i:压缩时增加索引,主要用于在压缩文件中快速检索fastq文件的某段内容,该选项会降低压缩速度
  • -a:追加模式,本次压缩的内容会追加到压缩文件中
  • -g:分组加速压缩,分组越多,需要的cpu和内存越多,压缩速度越快。不指定该值时,程序会根据cpu和内存自动选择最优值
  • -o:指定压缩文件名,不指定时,默认为out.gtz
  • -b 选择最优压缩率算法,性能略有下降,约10%。
  • file_name:需要压缩的文件或目录, 若不指定,则从标准输入中读入数据

解压选项说明:

  • -n:指定需要检索输出的行数,输出的行数为该值*4,负数为向后检索
  • -l num:指定需检索的起始行,起始行在fastq中的位置为(num - 1)*4
  • -o:指定输出文件名,使用-n或-l时需要指定该选项,否则不需要该选项
  • -t: 解压数据输出至标准输出
  • file_name:gtz格式的压缩文件

在64GB内存,32核服务器的最佳实践:

gtz -b -g 8 -o fastq.gtz NA12878_1.fastq
或
gtz_for_haswell_cpu -b -g 8 -o fastq.gtz NA12878_1.fastq

解压:

gtz -d fastq.gtz
或
gtz_for_haswell_cpu -d fastq.gtz

32GB机器,建议将-g 参数调至4,以此类推。

具体参考 doc目录中的使用说明文档。

联系我们

使用中有任何问题请联系: [email protected]

gtz-2016's People

Watchers

www avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.