Sha256: e01ff1a763e22d4dfbd902c4b6614ad91887bc74e013a571e499bac0acec0e39

Contents?: true

Size: 976 Bytes

Versions: 1

Compression:

Stored size: 976 Bytes

Contents

# Copyright 2014 Ryan Moore
# Contact: moorer@udel.edu

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

require "parse_fasta/version"

class File
  def each_record
    self.each("\n>") do |line|
      header, sequence = parse_line(line)
      yield header.strip, sequence
    end
  end

  private
  def parse_line(line)
    line.chomp.split("\n", 2).map { |s| s.gsub(/\n|>/, '') }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
parse_fasta-0.0.5 lib/parse_fasta.rb