Several proteins have been shown to be post-translationally modified on a specific C-terminal cysteine residue by either of two isoprenoid biosynthetic pathway metabolites, farnesyl diphosphate or geranylgeranyl diphosphate. Three enzymes responsible for protein isoprenylation were resolved chromatographically from the cytosolic fraction of bovine brain: a farnesyl-protein transferase (FTase), which modified the cell-transforming Ras protein, and two geranyl-geranyl-protein transferases, one (GGTase-I) which modified a chimeric Ras having the C-terminal amino acid sequence of the gamma-6 subunit of heterotrimeric GTP-binding proteins, and the other (GGTase-II) which modified the Saccharomyces cerevisiae secretory GTPase protein YPT1. In a S. cerevisiae strain lacking FTase activity (ram1), both GGTases were detected at wild-type levels. In a ram2 S. cerevisiae strain devoid of FTase activity, GGTase-I activity was reduced by 67%, suggesting that GGTase-I and FTase activities derive from different enzymes but may share a common genetic feature. For the FTase and the GGTase-I activities, the C-terminal amino acid sequence of the protein substrate, the CAAX box, appeared to contain all the critical determinants for interaction with the transferase. In fact, tetrapeptides with amino acid sequences identical to the C-terminal sequences of the protein substrates for FTase or GGTase-I competed for protein isoprenylation by acting as alternative substrates. Changes in the CAAX amino acid sequence of protein substrates markedly altered their ability to serve as substrates for both FTase and GGTase-I. In addition, it appeared that FTase and GGTase-I had complementary affinities for CAAX protein substrates; that is, CAAX proteins that were good substrates for FTase were, in general, poor substrates for GGTase-I, and vice versa. In particular, a leucine residue at the C terminus influenced whether a CAAX protein was either farnesylated or geranylgeranylated preferentially. The YPT1 C terminus peptide, TGGGCC, did not compete or serve as a substrate for GGTase-II, indicating that the interaction between GGTase-II and YPT1 appeared to depend on more than the 6 C-terminal residues of the protein substrate sequence. These results identify three different isoprenyl-protein transferases that are each selective for their isoprenoid and protein substrates.