Poly-ADP-ribosyltransferase that mediates poly-ADP-ribosylation of proteins and plays a key role in DNA repair. Mainly mediates glutamate and aspartate ADP-ribosylation of target proteins: the ADP-D-ribosyl group of NAD(+) is transferred to the acceptor carboxyl group of glutamate and aspartate residues and further ADP-ribosyl groups are transferred to the 2'-position of the terminal adenosine moiety, building up a polymer with an average chain length of 20-30 units. NAD(+) + (ADP-D-ribosyl)n-acceptor = nicotinamide + (ADP-D-ribosyl)n+1-acceptor + H(+). L-aspartyl-[protein] + NAD(+) = 4-O-(ADP-D-ribosyl)-L-aspartyl-[protein] + nicotinamide L-glutamyl-[protein] + NAD(+) = 5-O-(ADP-D-ribosyl)-L-glutamyl-[protein] + nicotinamide The ADP-D-ribosyl group of NAD(+) is transferred to an acceptor carboxyl group on a histone or the enzyme itself, and further ADP-ribosyl groups are transferred to the 2'-position of the terminal adenosine moiety, building up a polymer with an average chain length of 20-30 units.