From 11b9717eda9d843beecc019c7c172f8a3c976791 Mon Sep 17 00:00:00 2001 From: martinahansen Date: Thu, 13 Oct 2011 08:51:38 +0000 Subject: [PATCH] added to_fastq method seq.rb git-svn-id: http://biopieces.googlecode.com/svn/trunk@1558 74ccb610-7750-0410-82ae-013aeee3265d --- code_ruby/lib/maasha/seq.rb | 13 +++++++++++++ code_ruby/test/maasha/test_seq.rb | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/code_ruby/lib/maasha/seq.rb b/code_ruby/lib/maasha/seq.rb index a54da1e..a724339 100644 --- a/code_ruby/lib/maasha/seq.rb +++ b/code_ruby/lib/maasha/seq.rb @@ -182,6 +182,19 @@ class Seq ">" + seq_name + $/ + seq + $/ end + # Method that given a Seq entry returns a FASTQ entry (a string). + def to_fastq + raise SeqError, "Missing seq_name" if self.seq_name.nil? + raise SeqError, "Missing seq" if self.seq.nil? + raise SeqError, "Missing qual" if self.qual.nil? + + seq_name = self.seq_name + seq = self.seq + qual = self.qual + + "@" + seq_name + $/ + seq + $/ + "+" + $/ + qual + $/ + end + # Method that generates a unique key for a # DNA sequence and return this key as a Fixnum. def to_key diff --git a/code_ruby/test/maasha/test_seq.rb b/code_ruby/test/maasha/test_seq.rb index 7859fbe..cda1f94 100755 --- a/code_ruby/test/maasha/test_seq.rb +++ b/code_ruby/test/maasha/test_seq.rb @@ -168,6 +168,13 @@ class TestSeq < Test::Unit::TestCase assert_equal(">test\nAT\nCG\n", entry.to_fasta(2)) end + def test_Seq_to_fastq_returns_correct_entry + @entry.seq_name = 'test' + @entry.seq = 'ATCG' + @entry.qual = 'hhhh' + assert_equal("@test\nATCG\n+\nhhhh\n", @entry.to_fastq) + end + def test_Seq_to_key_with_bad_residue_raises entry = Seq.new("test", "AUCG") assert_raise(SeqError) { entry.to_key } -- 2.39.2