public void changeTable(String inFname, String outFname) throws IOException{
        TextFile in = new TextFile(inFname, false);
        TextFile out = new TextFile(outFname, true);
        
        String[] els = in.readLineElems(TextFile.tab);
        getPosToSampleId(els);
        out.writelnTabDelimited(els);
        
        String gene;
        float rpkm;
        int len;
        while ( (els = in.readLineElems(TextFile.tab)) != null ){
            gene = els[0];
            len = geneLengths.get(gene);
            out.write(gene);
            for (int i = 1; i < els.length; i++){
                rpkm = (1000000000*Float.parseFloat(els[i]))/(numMapped.get(posToSampleId.get(i))*(long)len);
                out.write("\t" + rpkm);
            }
            out.writeln();
        }
        in.close();
        out.close();
    }