Sha256: 3ee0b7b44a9322a5314730e2ef8170c3db1870949e17975c13b8565fda804d65
Contents?: true
Size: 809 Bytes
Versions: 17
Compression:
Stored size: 809 Bytes
Contents
require 'parallel' require 'pathname' module Bio class Gadget < Thor namespace :bio desc 'fqxz', 'automatic (re)compression of *.fq(.gz|.bz2) files' def fqxz Parallel.map(Pathname.glob('*.fq{.gz,.bz2,}')) { |fqfilename| xzfilename = fqfilename.sub(/\.fq(\.(gz|bz2))*$/, '.fq.xz') if !xzfilename.exist? case fqfilename.extname when '.gz' decompressor = 'gunzip -c' when '.bz2' decompressor = 'bunzip2 -c' else decompressor = 'cat' end puts "compressing #{xzfilename}..." system "#{decompressor} #{fqfilename} | xz -z -e -c > #{xzfilename} 2> #{xzfilename}.log" system "xz -t #{xzfilename} >> #{xzfilename}.log 2>&1" end } end end end
Version data entries
17 entries across 17 versions & 1 rubygems