code: private void processScores(String line) {
  
  		String[] values = line.trim().split(" +");
  
  		// increment the current row we are talking about
  		currentRowPos++;
  
  
  
  		for ( int i =0 ; i < values.length ; i++){
  
  			if ( values[i].endsWith(".")) {
  				values[i] = values[i] + "0";
  			}
  
  			// special case: MEHP950101
  			if (values[i].equals("-")) {
  				values[i] = "0";
  			}
  
  			if ( scale == -1 ) {
  				scale = determineScale(values[0]);
  			}
  
  
  			Float score = Float.parseFloat(values[i]);
  			score = scale * score;
  
  			Short s = (short) Math.round(score);
  
  			matrix[currentRowPos][i] = s;
  
  			if ( values.length < cols.size() || ( symmetricMatrix)){
  				//System.out.println(values.length + " " + cols.size() + " " + currentRowPos + " " + i + " " +  line);
  
  				matrix[i][currentRowPos] = s;
  
  				symmetricMatrix = true;
  
  			}
  
  			if ( score > max)
  				max = s;
  			if ( score < min)
  				min = s;
  
  
  		}
  	}
docs: process a line such as >    -0.3     1.6     0.7     0.8    -2.6     3.0<