Sha256: 5a44f67b60257b6456d9f18d82368c8ca8009b242dee8cbf32b8aa2299e28f57

Contents?: true

Size: 1.52 KB

Versions: 8

Compression:

Stored size: 1.52 KB

Contents

#!/usr/bin/env ruby

# load required libraries
require 'scbi_mapreduce'

# in order to load fastq files
require 'scbi_fastq'

# modify include path
$: << File.join(File.dirname(__FILE__),'lib')

require 'find_mids'
include FindMids

# check arguments
if ARGV.count != 2

  puts "Usage #{File.basename($0)} fastq_file chunk"
  puts ""
  puts "#{File.basename($0)} iterates over all sequences in fastq_file (a file in FastQ format) and removes a KNOWN_MID from it"
  exit
end

fastq_file_path=ARGV[0]

if !File.exists?(fastq_file_path)
  puts "Error, #{fastq_file_path} doesn't exists"
  exit
end


# make processing

# open files
@@fastq_file=FastqFile.new(fastq_file_path)
@@results=FastqFile.new('./results2.fastq','w+')

# process
chunk_size=ARGV[1].to_i

# iterate over file
begin
  seqs=[]

  chunk_size.times do
    # read data from file
    name,fasta,qual,comments=@@fastq_file.next_seq
    
    if name.nil?
      break
    end
    seqs<<[name,fasta,qual,comments]

  end

  if !seqs.empty?


    # process it
    find_mid_without_blast(seqs)

    # # find a known MID position
    # pos=fasta.upcase.index(KNOWN_MID)
    #
    # if pos
    #
    #   # keep fasta from pos to end
    #   fasta.slice!(0,pos + KNOWN_MID.length)
    #   # keep qual from pos to end
    #   qual.slice!(0,pos + KNOWN_MID.length)
    #
    # end
    #

    # write data to disk
    seqs.each do |name,fasta,qual,comments|
        @@results.write_seq(name,fasta,qual,comments)
    end

  end

end until seqs.empty?


# close files
@@fastq_file.close
@@results.close

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
scbi_mapreduce-0.0.45 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.40 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.38 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.37 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.36 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.35 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.31 skeleton/remove_mids/linear_implementation.rb
scbi_mapreduce-0.0.29 skeleton/remove_mids/linear_implementation.rb