X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Fread_454;h=96c6a4f0f8bdec096e9b85530dd71055b6dd47c7;hb=27a34d675d07468851f2076a62ca2b8dbefb5923;hp=ae2f4b0ce239a2468b982d33bbaf7aea857d4399;hpb=64a0c0c83ce39727ba86091490f2586450cd2411;p=biopieces.git diff --git a/bp_bin/read_454 b/bp_bin/read_454 index ae2f4b0..96c6a4f 100755 --- a/bp_bin/read_454 +++ b/bp_bin/read_454 @@ -67,6 +67,7 @@ if ( $options->{ 'data_in' } ) $qual = get_qual( $qual_in ); check_names( $fasta, $qual ); + check_lengths( $fasta, $qual ); $record = { SEQ_NAME => $fasta->[ 0 ], @@ -129,7 +130,7 @@ sub get_qual $qual =~ tr/ \n\r/;;;/; $qual =~ s/;;/;/g; - $scores = Maasha::Fastq::dec_str2solexa_str( $qual ); + $scores = Maasha::Fastq::dec_str2phred_str( $qual ); $entry = [ $name, $scores ]; @@ -164,6 +165,28 @@ sub check_names } +sub check_lengths +{ + # Martin A. Hansen, April 2011. + + # Check if the lengths of the fasta and qual strings are the same + # and raise an error if not. + + my ( $fasta, # fasta entry + $qual, # qual entry + ) = @_; + + # Returns nothing. + + my ( $f_len, $q_len ); + + $f_len = length $fasta->[ 1 ]; + $q_len = length $qual->[ 1 ]; + + Maasha::Common::error( qq(lengths don't match "$f_len" != "$q_len") ) if $f_len != $q_len; +} + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<