def deepcopy(self, id_modifier): copy_ptr = libsbol.copyDNAComponent(self.ptr, id_modifier) copy_uri = self.uri + id_modifier copy = DNAComponent(self.doc, copy_uri, copy_ptr) seq_copy_ptr = libsbol.getDNAComponentSequence(copy_ptr) if seq_copy_ptr: seq_copy_uri = libsbol.getDNASequenceURI(seq_copy_ptr) seq_copy = DNASequence(self.doc, seq_copy_uri, ptr=seq_copy_ptr) for i_ann in range(libsbol.getNumSequenceAnnotationsFor(copy.ptr)): SA_copy_ptr = libsbol.getNthSequenceAnnotationFor(copy.ptr, i_ann) SA_copy_uri = libsbol.getSequenceAnnotationURI(SA_copy_ptr) SA_copy = SequenceAnnotation(self.doc, SA_copy_uri, ptr=SA_copy_ptr) return copy
def sequence(self): ptr = libsbol.getDNAComponentSequence(self.ptr) return self.doc._proxy(ptr)