public void makeTable(ArrayList<String> fNames) throws IOException{

	    TextFile in = null;
	    String line = "";
        String[] splLine;
        
        int index = 0;
        //table with only counts
        table = new float[trSize][samplesSize];
        readsPerSample = new float[samplesSize];
        featureExpressed = new boolean[trSize];

        GeneNameConverter converter = null; 
        if (convertGeneName != null)
           converter = new GeneNameConverter(convertGeneName);
        
        int curId = 0;
        System.out.println("Started generating the expression table");
        String trId;
        for (String fName : fNames){
            int rCount=0;
            in = new TextFile(fName, false);

            System.out.println("\nProcessing file: " + fName);

            //get number of mapped reads from filtered sam file
            if (normalize)
                readsPerSample[curId] = getNumMappedReads(fName);

            while ((line = in.readLine()) != null){
                //read the expression from simple txt or from gtf   
                splLine = readExpressionLine(fName, line);
                float count = Float.valueOf(splLine[1]);
                
                //skip not expressed transcripts
                if (count == 0)
                    continue;

                if (convertGeneName != null)
                    trId = converter.getHugoName(splLine[0]);
                else
                    trId = splLine[0];
                
                if (trId != null){
                    //get the transcript position in all transcripts list 
                    index = Collections.binarySearch(allTranscr, trId);

                    if (index >= 0){ //if transcript found
                        featureExpressed[index] = true; //set this feature as expressed
                        rCount+=count; //junk
                        table[index][curId] += count;
                        
                    }   
                }
            }
            curId++;
            System.out.println("overall number of reads=" + rCount);
            System.out.println("overall number of mapped reads=" + readsPerSample[curId - 1]);
            in.close();
            
        }

    }