コード例 #1
0
def trans_window_setup():
    n = argparse.Namespace()
    gene = Gene('1', 1, 9999, name='KRAS', strand=STRAND.POS)
    n.pre_transcript = PreTranscript(
        gene=gene, exons=[(1001, 1100), (1401, 1500), (1701, 1750), (3001, 4000)]
    )
    gene.unspliced_transcripts.append(n.pre_transcript)
    for spl in n.pre_transcript.generate_splicing_patterns():
        n.pre_transcript.transcripts.append(Transcript(n.pre_transcript, spl))
    n.annotations = {gene.chr: [gene]}
    n.genome_evidence = MockObject(
        annotations={},
        read_length=100,
        max_expected_fragment_size=550,
        config={**DEFAULTS, 'validate.call_error': 11},
    )
    n.trans_evidence = MockObject(
        annotations={},
        read_length=100,
        max_expected_fragment_size=550,
        overlapping_transcripts={n.pre_transcript},
        config={**DEFAULTS, 'validate.call_error': 11},
    )
    setattr(
        n.trans_evidence,
        '_select_transcripts',
        lambda *pos: n.trans_evidence.overlapping_transcripts,
    )
    setattr(
        n.trans_evidence,
        'traverse',
        partial(TranscriptomeEvidence.traverse, n.trans_evidence),
    )
    return n
コード例 #2
0
 def setUp(self):
     gene = Gene('1', 1, 9999, name='KRAS', strand=STRAND.POS)
     self.pre_transcript = PreTranscript(gene=gene,
                                         exons=[(1001, 1100), (1401, 1500),
                                                (1701, 1750), (3001, 4000)])
     gene.unspliced_transcripts.append(self.pre_transcript)
     for spl in self.pre_transcript.generate_splicing_patterns():
         self.pre_transcript.transcripts.append(
             Transcript(self.pre_transcript, spl))
     self.annotations = {gene.chr: [gene]}
     self.genome_evidence = MockObject(annotations={},
                                       read_length=100,
                                       max_expected_fragment_size=550,
                                       call_error=11)
     self.trans_evidence = MockObject(
         annotations={},
         read_length=100,
         max_expected_fragment_size=550,
         call_error=11,
         overlapping_transcripts={self.pre_transcript},
     )
     setattr(
         self.trans_evidence,
         '_select_transcripts',
         lambda *pos: self.trans_evidence.overlapping_transcripts,
     )
     setattr(
         self.trans_evidence,
         'traverse',
         partial(TranscriptomeEvidence.traverse, self.trans_evidence),
     )
コード例 #3
0
 def test_shift_overaligned_left(self):
     # qwertyuiopasdf---kkkkkdf------ghjklzxcvbnm
     # ..........      ................
     gene = Gene('1', 1, 1000, strand='+')
     transcript = PreTranscript(exons=[(1, 14), (22, 28)], gene=gene, strand='+')
     for spl_patt in transcript.generate_splicing_patterns():
         transcript.transcripts.append(Transcript(transcript, spl_patt))
     gene.transcripts.append(transcript)
     read = SamRead(
         reference_name='1',
         reference_start=0,
         cigar=_cigar.convert_string_to_cigar('12=7D14='),
         query_sequence='qwertyuiopasdfghjklzxcvbnm',
     )
     evidence = TranscriptomeEvidence(
         annotations={},
         reference_genome={'1': MockObject(seq='qwertyuiopasdfkkkkkdfghjklzxcvbnmsbcdefhi')},
         bam_cache=MockObject(get_read_reference_name=lambda r: r.reference_name),
         break1=Breakpoint('1', 1, orient='L', strand='+'),
         break2=Breakpoint('1', 10, orient='R', strand='+'),
         read_length=75,
         stdev_fragment_size=75,
         median_fragment_size=220,
     )
     evidence.overlapping_transcripts.add(transcript)
     new_read = evidence.standardize_read(read)
     assert new_read.cigar == _cigar.convert_string_to_cigar('14=7N12=')
コード例 #4
0
 def test_many_small_exons(self):
     g = Gene('fake', 17271277, 17279592, strand='+')
     pre_transcript = PreTranscript(
         gene=g,
         exons=[
             (17271277, 17271984),
             (17272649, 17272709),
             (17275586, 17275681),
             (17275769, 17275930),
             (17276692, 17276817),
             (17277168, 17277388),  # 220
             (17277845, 17277888),  # 44
             (17278293, 17278378),  # 86
             (17279229, 17279592)  # 364
         ])
     g.transcripts.append(pre_transcript)
     for patt in pre_transcript.generate_splicing_patterns():
         pre_transcript.transcripts.append(Transcript(pre_transcript, patt))
     b = Breakpoint(chr='fake', start=17279591, orient=ORIENT.LEFT)
     self.assertEqual(Interval(17277321, 17279701),
                      self.transcriptome_window(b, [pre_transcript]))