Alternative mRNA polyadenylation in eukaryotes: an effective regulator of gene expression