A family of mammalian protocadherin (Pcdh) proteins is encoded by three closely linked gene clusters (alpha, beta, and gamma). Multiple alpha and gamma Pcdh mRNAs are expressed in distinct patterns in the nervous system and are generated by alternative pre-mRNA splicing between different "variable" exons and three "constant" exons within each cluster. We show that each Pcdh variable exon is preceded by a promoter and that promoter choice determines which variable exon is included in a Pcdh mRNA. In addition, we provide evidence that alternative splicing of variable exons within a gene cluster occurs via a cis-splicing mechanism. However, virtually every variable exon can engage in trans-splicing with constant exons from another cluster, albeit at a far lower level.