From 65162e7c530b89522bfcb8baa2a20c827822c84d Mon Sep 17 00:00:00 2001 From: martinahansen Date: Thu, 9 Sep 2010 11:41:03 +0000 Subject: [PATCH] ported length_seq to ruby git-svn-id: http://biopieces.googlecode.com/svn/trunk@1087 74ccb610-7750-0410-82ae-013aeee3265d --- bp_bin/length_seq | 52 +++++++++--------------------------- bp_test/in/length_seq.in | 2 ++ bp_test/out/length_seq.out.1 | 3 +++ bp_test/test/test_length_seq | 7 +++++ 4 files changed, 25 insertions(+), 39 deletions(-) create mode 100644 bp_test/in/length_seq.in create mode 100644 bp_test/out/length_seq.out.1 create mode 100755 bp_test/test/test_length_seq diff --git a/bp_bin/length_seq b/bp_bin/length_seq index 586409e..e3e6b09 100755 --- a/bp_bin/length_seq +++ b/bp_bin/length_seq @@ -1,6 +1,6 @@ -#!/usr/bin/env perl +#!/usr/bin/env ruby -# Copyright (C) 2007-2009 Martin A. Hansen. +# Copyright (C) 2007-2010 Martin A. Hansen. # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -18,55 +18,29 @@ # http://www.gnu.org/copyleft/gpl.html - -# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - -# Determines the length of all sequences in the stream as well as a total length. - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +# This program is part of the Biopieces framework (www.biopieces.org). -use warnings; -use strict; -use Maasha::Biopieces; +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +# Determines the length of each sequence in the stream. # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -my ( $options, $in, $out, $record, $total ); - -$options = Maasha::Biopieces::parse_options( - [ - { long => 'no_stream', short => 'x', type => 'flag', mandatory => 'no', default => undef, allowed => undef, disallowed => undef }, - { long => 'data_out', short => 'o', type => 'file', mandatory => 'no', default => undef, allowed => undef, disallowed => undef }, - ] -); - -$in = Maasha::Biopieces::read_stream( $options->{ "stream_in" } ); -$out = Maasha::Biopieces::write_stream( $options->{ "stream_out" } ); - -while ( $record = Maasha::Biopieces::get_record( $in ) ) { - $record->{ "SEQ_LEN" } = length $record->{ "SEQ" } if $record->{ "SEQ" } -} - -Maasha::Biopieces::close_stream( $in ); -Maasha::Biopieces::close_stream( $out ); - - -# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +require 'biopieces' +casts = [] -BEGIN -{ - Maasha::Biopieces::status_set(); -} +bp = Biopieces.new +options = bp.parse(ARGV, casts) -END -{ - Maasha::Biopieces::status_log(); -} +bp.each_record do |record| + record[:SEQ_LEN] = record[:SEQ].length if record.has_key? :SEQ + bp.puts record +end # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< diff --git a/bp_test/in/length_seq.in b/bp_test/in/length_seq.in new file mode 100644 index 0000000..8dd0ae6 --- /dev/null +++ b/bp_test/in/length_seq.in @@ -0,0 +1,2 @@ +SEQ: ACGACGAGCATGCA +--- diff --git a/bp_test/out/length_seq.out.1 b/bp_test/out/length_seq.out.1 new file mode 100644 index 0000000..7cad59f --- /dev/null +++ b/bp_test/out/length_seq.out.1 @@ -0,0 +1,3 @@ +SEQ: ACGACGAGCATGCA +SEQ_LEN: 14 +--- diff --git a/bp_test/test/test_length_seq b/bp_test/test/test_length_seq new file mode 100755 index 0000000..61c5709 --- /dev/null +++ b/bp_test/test/test_length_seq @@ -0,0 +1,7 @@ +#!/bin/bash + +source "$BP_DIR/bp_test/lib/test.sh" + +run "$bp -I $in -O $tmp" +assert_no_diff $tmp $out.1 +clean -- 2.39.5