def __init__(self, seq, id, extension_handler, rc = None): # type: (str, str, ExtensionHandler, Optional[NewLine]) -> None self.extensionHandler = extension_handler self.seq = seq self.id = id # type: str self.circular = False self.name_printer = None self.max_extension = False if rc is None: self.initial = AlignmentStorage() self.correct_segments = SegmentStorage() self.completely_resolved = SegmentStorage() self.disjointig_alignments = AlignmentStorage() self.read_alignments = ReadAlignmentStorage() self.listeners = [self.initial, self.correct_segments, self.completely_resolved, self.disjointig_alignments, self.read_alignments, extension_handler] # type: List[LineListener] rc = NewLine(basic.RC(seq), basic.Reverse(self.id), extension_handler.rc, self) #type: NewLine self.rc = rc self.addListener(ReadAlignmentListener(self)) # self.initial.add(AlignmentPiece.Identical(self.asSegment().asContig().asSegment(), self.asSegment())) else: self.initial = rc.initial.rc # type: AlignmentStorage self.correct_segments = rc.correct_segments.rc # type: SegmentStorage self.completely_resolved = rc.completely_resolved.rc # type: SegmentStorage self.disjointig_alignments = rc.disjointig_alignments.rc # type: AlignmentStorage self.read_alignments = rc.read_alignments.rc # type: ReadAlignmentStorage self.listeners = [listener.rc for listener in rc.listeners] # type: List[LineListener] Contig.__init__(self, seq, id, rc) self.rc = rc #type: NewLine self.knot = None # type: Knot
def __init__(self, seq, id, rc=None): # type: (str, str, Optional[Disjointig]) -> None self.seq = seq self.id = id if rc is None: self.read_alignments = AlignmentStorage() # type: AlignmentStorage rc = Disjointig(basic.RC(seq), basic.Reverse(id), self) # type: Disjointig self.rc = rc else: self.rc = rc self.read_alignments = self.rc.read_alignments.rc # type: AlignmentStorage Contig.__init__(self, seq, id, rc) self.rc = rc # type:Disjointig