homooligomerization oligogenesis supraoligomer cellooligomer oligomerase oligoadenylation biopolymerization heterotetramerization telomerization heterodimerization