code: public static Alignable align_NPE(Matrix sim,StrucAligParameters params){
  		//System.out.println("align_NPE");
  
  		float gapOpen = params.getGapOpen();
  		float gapExtension = params.getGapExtension();
  
  		int rows = sim.getRowDimension();
  		int cols = sim.getColumnDimension();
  
  		Alignable al = new StrCompAlignment(rows,cols);
  		al.setGapExtCol(gapExtension);
  		al.setGapExtRow(gapExtension);
  		al.setGapOpenCol(gapOpen);
  		al.setGapOpenRow(gapOpen);
  		//System.out.println("size of aligmat: " + rows+1 + " " + cols+1);
  		//AligMatEl[][] aligmat = new AligMatEl[rows+1][cols+1];
  		AligMatEl[][] aligmat = al.getAligMat();
  
  		for (int i = 0; i < rows; i++) {
  			for (int j = 0; j < cols; j++) {
  
  				int e=0;
  				//if ( ( i < rows) &&
  				//        ( j < cols)) {
  					//TODO: the ALIGFACTOR calc should be hidden in Gotoh!!
  
  				e = (int)Math.round(Gotoh.ALIGFACTOR * sim.get(i,j));
  				//}
  				//System.out.println(e);
  				AligMatEl am = new AligMatEl();
  				am.setValue(e);
  				//am.setTrack(new IndexPair((short)-99,(short)-99));
  				aligmat[i+1][j+1] = am;
  
  			}
  		}
  		//al.setAligMat(aligmat);
  
  		 new Gotoh(al);
  
  		return al;
  	}
docs: Align without penalizing end-gaps. Return alignment and score
  
  @param sim the similarity matrix
  @param params the structure alignment parameters to be used
  @return an Alignable