626
664
genomicend = genomicstart + Sequence_fulllength(genomicseg);
628
path = Stage2_compute(&stage2_source,&stage2_indexsize,
629
Sequence_trimpointer(queryseq),Sequence_trimpointer(queryuc),
630
Sequence_trimlength(queryseq),/*query_offset*/0,
632
Sequence_fullpointer(genomicseg),Sequence_fullpointer(genomicuc),
633
genomicstart,genomicend,/*mappingstart*/genomicstart,/*mappingend*/genomicend,
634
/*plusp*/watsonp,/*genomiclength*/Sequence_fulllength(genomicseg),
637
oligoindices_major,noligoindices_major,/*proceed_pctcoverage*/0.5,
638
pairpool,diagpool,sufflookback,nsufflookback,maxintronlen_bound,
639
/*localp*/true,/*skip_repetitive_p*/true,use_shifted_canonical_p,
640
/*favor_right_p*/false,debug_graphic_p,diagnosticp,
641
worker_stopwatch,diag_debug);
642
if (diag_debug == true) {
643
stage3list = path; /* really diagonals */
645
} else if (path != NULL) {
646
debug(printf("Beginning Stage3_compute\n"));
648
if (canonical_mode == 0) {
650
} else if (canonical_mode == 1) {
652
} else if (lowidentityp == false) {
658
Stopwatch_start(worker_stopwatch);
659
pairarray = Stage3_compute(&pairs,&npairs,&cdna_direction,&sensedir,&matches,
660
&nmatches_pretrim,&ambig_end_length_5,&ambig_end_length_3,
661
&ambig_splicetype_5,&ambig_splicetype_3,
662
&unknowns,&mismatches,&qopens,&qindels,&topens,&tindels,
663
&ncanonical,&nsemicanonical,&nnoncanonical,&defect_rate,
667
all_paths = Stage2_compute(&stage2_source,&stage2_indexsize,
668
Sequence_trimpointer(queryseq),Sequence_trimpointer(queryuc),
669
Sequence_trimlength(queryseq),/*query_offset*/0,
671
Sequence_fullpointer(genomicseg),Sequence_fullpointer(genomicuc),
672
genomicstart,genomicend,/*mappingstart*/genomicstart,/*mappingend*/genomicend,
673
/*plusp*/watsonp,/*genomiclength*/Sequence_fulllength(genomicseg),
676
oligoindices_major,noligoindices_major,/*proceed_pctcoverage*/0.5,
677
pairpool,diagpool,sufflookback,nsufflookback,maxintronlen_bound,
678
/*localp*/true,/*skip_repetitive_p*/true,use_shifted_canonical_p,
679
/*favor_right_p*/false,/*just_one_p*/false,debug_graphic_p,
680
diagnosticp,worker_stopwatch,diag_debug);
682
for (p = all_paths; p != NULL; p = List_next(p)) {
683
path = (List_T) List_head(p);
684
if (diag_debug == true) {
685
stage3list = path; /* really diagonals */
687
} else if (path != NULL) {
688
debug(printf("Beginning Stage3_compute\n"));
690
if (canonical_mode == 0) {
692
} else if (canonical_mode == 1) {
694
} else if (lowidentityp == false) {
700
Stopwatch_start(worker_stopwatch);
701
pairarray = Stage3_compute(&pairs,&npairs,&cdna_direction,&sensedir,&matches,
702
&nmatches_pretrim,&nmatches_posttrim,
703
&ambig_end_length_5,&ambig_end_length_3,
704
&ambig_splicetype_5,&ambig_splicetype_3,
705
&unknowns,&mismatches,&qopens,&qindels,&topens,&tindels,
706
&ncanonical,&nsemicanonical,&nnoncanonical,&defect_rate,
666
/*queryaaseq_ptr*/Sequence_fullpointer(queryseq),
667
/*queryseq_ptr*/Sequence_fullpointer(queryntseq),
668
/*queryuc_ptr*/Sequence_fullpointer(queryntseq),
669
/*querylength*/Sequence_fulllength(queryntseq),
670
/*skiplength*/Sequence_skiplength(queryntseq),
671
/*query_subseq_offset*/Sequence_subseq_offset(queryntseq),
709
/*queryaaseq_ptr*/Sequence_fullpointer(queryseq),
710
/*queryseq_ptr*/Sequence_fullpointer(queryntseq),
711
/*queryuc_ptr*/Sequence_fullpointer(queryntseq),
712
/*querylength*/Sequence_fulllength(queryntseq),
713
/*skiplength*/Sequence_skiplength(queryntseq),
714
/*query_subseq_offset*/Sequence_subseq_offset(queryntseq),
673
/*queryseq_ptr*/Sequence_fullpointer(queryseq),
674
/*queryuc_ptr*/Sequence_fullpointer(queryuc),
675
/*querylength*/Sequence_fulllength(queryseq),
676
/*skiplength*/Sequence_skiplength(queryseq),
677
/*query_subseq_offset*/Sequence_subseq_offset(queryseq),
716
/*queryseq_ptr*/Sequence_fullpointer(queryseq),
717
/*queryuc_ptr*/Sequence_fullpointer(queryuc),
718
/*querylength*/Sequence_fulllength(queryseq),
719
/*skiplength*/Sequence_skiplength(queryseq),
720
/*query_subseq_offset*/Sequence_subseq_offset(queryseq),
679
/*genomicseg_ptr*/Sequence_fullpointer(genomicseg),
680
/*genomicuc_ptr*/Sequence_fullpointer(genomicuc),
681
chrnum,chroffset,chrpos,
682
/*knownsplice_limit_low*/0U,/*knownsplice_limit_high*/-1U,
683
genome,/*usersegment_p*/usersegment ? true : false,
684
watsonp,/*jump_late_p*/watsonp ? false : true,
685
maxpeelback,maxpeelback_distalmedial,nullgap,
686
extramaterial_end,extramaterial_paired,
687
extraband_single,extraband_end,extraband_paired,
688
minendexon,pairpool,dynprogL,dynprogM,dynprogR,ngap,
689
stage3debug,diagnosticp,checkp,do_final_p,sense_try,sense_filter,
690
oligoindices_minor,noligoindices_minor,diagpool,
691
sufflookback,nsufflookback,maxintronlen_bound,close_indels_mode);
692
stage3_runtime = Stopwatch_stop(worker_stopwatch);
693
if (pairarray == NULL) {
695
} else if (matches < min_matches) {
697
} else if ((stage3 = Stage3_new(pairarray,pairs,npairs,cdna_direction,genomicstart,genomiclength,
698
stage2_source,stage2_indexsize,matches,unknowns,mismatches,
699
qopens,qindels,topens,tindels,ncanonical,nsemicanonical,nnoncanonical,
700
defect_rate,chrnum,chroffset,chrpos,watsonp,
701
/*skiplength*/Sequence_skiplength(queryseq),
702
/*trimlength*/Sequence_trimlength(queryseq),
703
stage3_runtime,straintype,strain,altstrain_iit)) != NULL) {
704
stage3list = List_push(stage3list,stage3);
722
/*genomicseg_ptr*/Sequence_fullpointer(genomicseg),
723
/*genomicuc_ptr*/Sequence_fullpointer(genomicuc),
724
chrnum,chroffset,chrpos,
725
/*knownsplice_limit_low*/0U,/*knownsplice_limit_high*/-1U,
726
genome,/*usersegment_p*/usersegment ? true : false,
727
watsonp,/*jump_late_p*/watsonp ? false : true,
728
maxpeelback,maxpeelback_distalmedial,nullgap,
729
extramaterial_end,extramaterial_paired,
730
extraband_single,extraband_end,extraband_paired,
731
minendexon,pairpool,dynprogL,dynprogM,dynprogR,ngap,
732
stage3debug,diagnosticp,checkp,do_final_p,sense_try,sense_filter,
733
oligoindices_minor,noligoindices_minor,diagpool,
734
sufflookback,nsufflookback,maxintronlen_bound,close_indels_mode,
735
/*paired_favor_mode*/0,/*zero_offset*/0);
736
stage3_runtime = Stopwatch_stop(worker_stopwatch);
737
if (pairarray == NULL) {
739
} else if (matches < min_matches) {
741
} else if ((stage3 = Stage3_new(pairarray,pairs,npairs,cdna_direction,genomicstart,genomiclength,
742
stage2_source,stage2_indexsize,matches,unknowns,mismatches,
743
qopens,qindels,topens,tindels,ncanonical,nsemicanonical,nnoncanonical,
744
defect_rate,chrnum,chroffset,chrpos,watsonp,
745
/*skiplength*/Sequence_skiplength(queryseq),
746
/*trimlength*/Sequence_trimlength(queryseq),
747
stage3_runtime,straintype,strain,altstrain_iit)) != NULL) {
748
stage3list = List_push(stage3list,(void *) stage3);
753
List_free(&all_paths);
708
755
Sequence_free(&genomicuc);
710
757
return stage3list;