public void parseInput(String fileName) {
        
        file = fileName;
        nuc.clear();
        bass.clear();
        
        // Setup the file reader
        try {
            reader = new BufferedReader(new FileReader(file));
        } catch (IOException e) {
            System.err.println("Caught IOException: " + e.getMessage());
            System.exit(0);
        }

        // Read in only A,C,G or T character, into an array. Every third 
        // character, generate a new codon using the previous three characters
        // and add that to the 'bass' array.
        try {
            int i = 0;
            while ((ch = reader.read()) != -1) {
                if (ch=='A' || ch=='C' || ch=='G' || ch=='T') {
                    char c = (char)ch;
                    nuc.add(c);

                    if (i >= 2) {
                        int s = nuc.size();
                        newCodon = new Codon(nuc.get(s-3), nuc.get(s-2),
                                                nuc.get(s-1));
                        bass.add(new AminoAcid(newCodon, mapping));
                        i = 0;
                    } else {
                        i++;
                    } // if else
                } // if
            } // while
        } catch (IOException e) {
            System.err.println("Caught IOException: " + e.getMessage());
            System.exit(0);
        }
    }