private void obtainQualityScoresFromQualityString ( ) { int total = 0 ; this . maximumQuality = Integer . MIN_VALUE ; this . minimumQuality = Integer . MAX_VALUE ; // quality int array initialization qualityScoresArray = new int [ this . quality . length ( ) ] ; // Transform each character in the quality String into a integer, depending on // the quality scale, and obtain the average, minimum and maximum values for ( int i = 0 ; i < this . quality . length ( ) ; i ++ ) { char c = this . quality . charAt ( i ) ; qualityScoresArray [ i ] = c - FastQ . SCALE_OFFSET [ this . encoding ] ; total += this . qualityScoresArray [ i ] ; this . maximumQuality = Math . max ( this . qualityScoresArray [ i ] , this . maximumQuality ) ; this . minimumQuality = Math . min ( this . qualityScoresArray [ i ] , this . minimumQuality ) ; } this . averageQuality = ( double ) total / this . quality . length ( ) ; }
This method obtain the quality scores array corresponding to the quality char sequence depending on the sequence s encoding and calculate sequence s average quality and maximum and minimum individual quality scores