1. A method of preparing a cDNA library comprising the following method steps: a. preparing an oligonucleotide library comprising all possible combinations of 61 codons that encode the 20 essential amino acids and each oligonucleotide has an orientation sequence wherein the orientation sequence is selected from the group consisting of a 5′ end start codon, a 3′ end stop codon, a 3′ end antisense start codon, a 5′ end antisense stop codon, a 5′ end two codon restriction endonuclease recognition sequence, a 3′ end two codon restriction endonuclease recognition sequence, a 5′ end antisense two codon restriction endonuclease recognition sequence, and a 3′ end antisense two codon restriction endonuclease recognition sequence and wherein the length of each oligonucleotide is a multiple of three based on the codon length, b. mixing an mRNA sample containing a plurality of different mRNA molecules with the oligonucleotide library of method step a wherein the orientation sequence orients each oligonucleotide, c. incubating the mixture of method step b with oligo-d(T)s and reagents needed for reverse transcription under conditions suitable for mRNA reverse transcription thereby producing first strands of a cDNA library, d. incubating the first strands of a cDNA library of method step c with reagents needed for cDNA synthesis under conditions suitable for cDNA synthesis thereby producing a double stranded cDNA library, e. amplifying the double stranded cDNA library of method step d via polymerase chain reaction, and f. isolating each cDNA of method step e.