This is an automated email from the git hooks/post-receive script. malex-guest pushed a commit to branch master in repository gmap.
commit 108926cde9abc21780fab8e244044383bec55381 Author: Alexandre Mestiashvili <[email protected]> Date: Fri Feb 5 10:35:21 2016 +0100 Imported Upstream version 2015-12-31.v7 --- ChangeLog | 7 ++ src/output.c | 19 +++-- src/samprint.c | 256 ++++++++++++++++++++++++++++++--------------------------- src/samprint.h | 10 +-- src/stage2.c | 4 +- 5 files changed, 159 insertions(+), 137 deletions(-) diff --git a/ChangeLog b/ChangeLog index cb8f107..c2032b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2016-02-04 twu + + * stage2.c: Fixed termination condition for while loop + + * output.c, samprint.c, samprint.h: Added check for artificial mate in + --add-paired-nomappers mode, to set SAM flag correctly + 2016-01-21 twu * dynprog_genome.c: Fixed bug in checking bestrL before it is computed, diff --git a/src/output.c b/src/output.c index 3b59563..4afafef 100644 --- a/src/output.c +++ b/src/output.c @@ -1,4 +1,4 @@ -static char rcsid[] = "$Id: output.c 181903 2016-01-07 20:30:55Z twu $"; +static char rcsid[] = "$Id: output.c 183725 2016-02-04 00:40:15Z twu $"; #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -186,7 +186,8 @@ filestring_fromresult_sam (Filestring_T *fp_failedinput_1, Filestring_T *fp_fail SAM_print_nomapping(fp,ABBREV_NOMAPPING_1, queryseq1,/*mate*/NULL,/*acc1*/Shortread_accession(queryseq1), /*acc2*/NULL,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/0,/*npaths*/0,/*npaths_mate*/0,/*mate_chrpos*/0U, + /*first_read_p*/true,/*pathnum*/0,/*npaths*/0, + /*artificial_mate_p*/false,/*npaths_mate*/0,/*mate_chrpos*/0U, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); if (failedinput_root != NULL) { Shortread_print_query_singleend(*fp_failedinput_1,queryseq1,/*headerseq*/queryseq1); @@ -221,7 +222,7 @@ filestring_fromresult_sam (Filestring_T *fp_failedinput_1, Filestring_T *fp_fail chromosome_iit,queryseq1,/*queryseq2*/NULL, /*pairedlength*/0,chrpos,/*mate_chrpos*/0U, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/0,quality_shift, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/0,quality_shift, sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } @@ -237,7 +238,8 @@ filestring_fromresult_sam (Filestring_T *fp_failedinput_1, Filestring_T *fp_fail SAM_print_nomapping(fp,ABBREV_UNPAIRED_TRANSLOC, queryseq1,/*mate*/NULL,/*acc1*/Shortread_accession(queryseq1), /*acc2*/NULL,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/1,npaths,/*npaths_mate*/0,/*mate_chrpos*/0U, + /*first_read_p*/true,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/0,/*mate_chrpos*/0U, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); if (failedinput_root != NULL) { Shortread_print_query_singleend(*fp_failedinput_1,queryseq1,/*headerseq*/queryseq1); @@ -262,7 +264,7 @@ filestring_fromresult_sam (Filestring_T *fp_failedinput_1, Filestring_T *fp_fail chromosome_iit,queryseq1,/*queryseq2*/NULL, /*pairedlength*/0,chrpos,/*mate_chrpos*/0U, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/0,quality_shift, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/0,quality_shift, sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } } @@ -279,7 +281,8 @@ filestring_fromresult_sam (Filestring_T *fp_failedinput_1, Filestring_T *fp_fail SAM_print_nomapping(fp,ABBREV_UNPAIRED_MULT_XS, queryseq1,/*mate*/NULL,/*acc1*/Shortread_accession(queryseq1), /*acc2*/NULL,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/1,npaths,/*npaths_mate*/0,/*mate_chrpos*/0U, + /*first_read_p*/true,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/0,/*mate_chrpos*/0U, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); if (failedinput_root != NULL) { Shortread_print_query_singleend(*fp_failedinput_1,queryseq1,/*headerseq*/queryseq1); @@ -304,7 +307,7 @@ filestring_fromresult_sam (Filestring_T *fp_failedinput_1, Filestring_T *fp_fail chromosome_iit,queryseq1,/*queryseq2*/NULL, /*pairedlength*/0,chrpos,/*mate_chrpos*/0U, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/0,quality_shift, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/0,quality_shift, sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } } @@ -754,7 +757,7 @@ Output_filestring_fromresult (Filestring_T *fp_failedinput, Result_T result, Req Sequence_print_header(fp,headerseq,checksump); if (npaths == 0) { - print_npaths(fp,0,chrsubset_name, + print_npaths(fp,/*npaths*/0,chrsubset_name, /*mergedp*/false,/*chimera*/NULL,Result_failuretype(result)); diff --git a/src/samprint.c b/src/samprint.c index 2fe012c..221dd1d 100644 --- a/src/samprint.c +++ b/src/samprint.c @@ -1,4 +1,4 @@ -static char rcsid[] = "$Id: samprint.c 181904 2016-01-07 20:31:34Z twu $"; +static char rcsid[] = "$Id: samprint.c 183725 2016-02-04 00:40:15Z twu $"; #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -109,7 +109,7 @@ SAM_setup (bool add_paired_nomappers_p_in, bool paired_flag_means_concordant_p_i unsigned int SAM_compute_flag (bool plusp, Stage3end_T mate, Resulttype_T resulttype, - bool first_read_p, int pathnum, int npaths, int npaths_mate, + bool first_read_p, int pathnum, int npaths, bool artificial_mate_p, int npaths_mate, int absmq_score, int first_absmq, bool invertp, bool invert_mate_p) { unsigned int flag = 0U; @@ -136,7 +136,11 @@ SAM_compute_flag (bool plusp, Stage3end_T mate, Resulttype_T resulttype, debug(printf("SECOND_READ %d\n",SECOND_READ_P)); flag |= SECOND_READ_P; } - if (npaths_mate == 0) { + if (artificial_mate_p == true) { + debug(printf("MATE_UNMAPPED %d\n",MATE_UNMAPPED)); + flag |= MATE_UNMAPPED; + + } else if (npaths_mate == 0) { debug(printf("MATE_UNMAPPED %d\n",MATE_UNMAPPED)); flag |= MATE_UNMAPPED; @@ -202,7 +206,7 @@ SAM_compute_flag (bool plusp, Stage3end_T mate, Resulttype_T resulttype, debug(printf("NOT_PRIMARY %d\n",NOT_PRIMARY)); flag |= NOT_PRIMARY; } else { - /* Just as good as first alignment, so don't mark as secondary */ + /* Just as good as first alignment, so don't mark as altloc */ } } @@ -355,8 +359,8 @@ make_complement_buffered (char *complement, char *sequence, unsigned int length) void SAM_print_nomapping (Filestring_T fp, char *abbrev, Shortread_T queryseq, Stage3end_T mate, char *acc1, char *acc2, Univ_IIT_T chromosome_iit, Resulttype_T resulttype, bool first_read_p, - int pathnum, int npaths, int npaths_mate, Chrpos_T mate_chrpos, int quality_shift, - char *sam_read_group_id, bool invertp, bool invert_mate_p) { + int pathnum, int npaths, bool artificial_mate_p, int npaths_mate, + Chrpos_T mate_chrpos, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p) { unsigned int flag; @@ -373,7 +377,7 @@ SAM_print_nomapping (Filestring_T fp, char *abbrev, Shortread_T queryseq, Stage3 /* 5. MAPQ: Mapping quality. Picard says MAPQ should be 0 for an unmapped read */ /* 6. CIGAR */ flag = SAM_compute_flag(/*plusp (NA)*/true,mate,resulttype,first_read_p, - /*pathnum*/0,/*npaths*/0,npaths_mate, + /*pathnum*/0,/*npaths*/0,artificial_mate_p,npaths_mate, /*absmq_score*/0,/*first_absmq*/0,invertp,invert_mate_p); FPRINTF(fp,"\t%u\t*\t0\t0\t*",flag); @@ -1166,7 +1170,7 @@ print_substrings (Filestring_T fp, char *abbrev, Stage3end_T stage3end, Stage3en int absmq_score, int first_absmq, int second_absmq, int mapq_score, Shortread_T queryseq, int pairedlength, Chrpos_T chrpos, Chrpos_T mate_chrpos, int hardclip_low, int hardclip_high, - Resulttype_T resulttype, bool first_read_p, int npaths_mate, + Resulttype_T resulttype, bool first_read_p, bool artificial_mate_p, int npaths_mate, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p, bool circularp) { unsigned int flag = 0U; @@ -1209,8 +1213,8 @@ print_substrings (Filestring_T fp, char *abbrev, Stage3end_T stage3end, Stage3en /* 2. FLAG */ flag = SAM_compute_flag(plusp,mate,resulttype,first_read_p, - pathnum,npaths,npaths_mate,absmq_score,first_absmq, - invertp,invert_mate_p); + pathnum,npaths,artificial_mate_p,npaths_mate, + absmq_score,first_absmq,invertp,invert_mate_p); FPRINTF(fp,"\t%u",flag); /* 3. RNAME: chr */ @@ -2170,7 +2174,8 @@ print_halfdonor (Filestring_T fp, char *abbrev, Substring_T donor, Stage3end_T t char *acc1, char *acc2, int pathnum, int npaths, int absmq_score, int first_absmq, int second_absmq, int mapq_score, Univ_IIT_T chromosome_iit, Shortread_T queryseq, int pairedlength, Chrpos_T concordant_chrpos, Chrpos_T donor_chrpos, Chrpos_T acceptor_chrpos, Chrpos_T mate_chrpos, - int hardclip_low, int hardclip_high, Resulttype_T resulttype, bool first_read_p, int npaths_mate, + int hardclip_low, int hardclip_high, Resulttype_T resulttype, bool first_read_p, + bool artificial_mate_p, int npaths_mate, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p, bool use_hardclip_p, bool print_xt_p, int donor_sensedir, char donor_strand, char acceptor_strand, char *donor_chr, char *acceptor_chr, char donor1, char donor2, char acceptor2, char acceptor1, @@ -2202,7 +2207,7 @@ print_halfdonor (Filestring_T fp, char *abbrev, Substring_T donor, Stage3end_T t /* 2. FLAG */ flag = SAM_compute_flag(plusp,mate,resulttype,first_read_p, - pathnum,npaths,npaths_mate,absmq_score,first_absmq, + pathnum,npaths,artificial_mate_p,npaths_mate,absmq_score,first_absmq, invertp,invert_mate_p); FPRINTF(fp,"\t%u",flag); @@ -2685,7 +2690,7 @@ print_halfacceptor (Filestring_T fp, char *abbrev, Substring_T acceptor, Stage3e char *acc1, char *acc2, int pathnum, int npaths, int absmq_score, int first_absmq, int second_absmq, int mapq_score, Univ_IIT_T chromosome_iit, Shortread_T queryseq, int pairedlength, Chrpos_T concordant_chrpos, Chrpos_T donor_chrpos, Chrpos_T acceptor_chrpos, Chrpos_T mate_chrpos, - int hardclip_low, int hardclip_high, Resulttype_T resulttype, bool first_read_p, int npaths_mate, + int hardclip_low, int hardclip_high, Resulttype_T resulttype, bool first_read_p, bool artificial_mate_p, int npaths_mate, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p, bool use_hardclip_p, bool print_xt_p, int acceptor_sensedir, char donor_strand, char acceptor_strand, char *donor_chr, char *acceptor_chr, char donor1, char donor2, char acceptor2, char acceptor1, @@ -2717,7 +2722,7 @@ print_halfacceptor (Filestring_T fp, char *abbrev, Substring_T acceptor, Stage3e /* 2. FLAG */ flag = SAM_compute_flag(plusp,mate,resulttype,first_read_p, - pathnum,npaths,npaths_mate,absmq_score,first_absmq, + pathnum,npaths,artificial_mate_p,npaths_mate,absmq_score,first_absmq, invertp,invert_mate_p); FPRINTF(fp,"\t%u",flag); @@ -3193,7 +3198,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma int absmq_score, int first_absmq, int second_absmq, int mapq_score, Univ_IIT_T chromosome_iit, Shortread_T queryseq, int pairedlength, Chrpos_T mate_chrpos, int hardclip_low, int hardclip_high, - Resulttype_T resulttype, bool first_read_p, int npaths_mate, + Resulttype_T resulttype, bool first_read_p, bool artificial_mate_p, int npaths_mate, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p) { Chrpos_T donor_chrpos, acceptor_chrpos, concordant_chrpos; Substring_T donor, acceptor; @@ -3271,7 +3276,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, /*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3281,7 +3286,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, /*concordant_chrpos*/1,/*donor_chrpos*/1,acceptor_chrpos,mate_chrpos, /*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3292,7 +3297,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, hardclip_low,hardclip_high,resulttype,first_read_p, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3305,7 +3310,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, /*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3315,7 +3320,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, /*concordant_chrpos*/1,donor_chrpos,/*acceptor_chrpos*/1,mate_chrpos, /*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3326,7 +3331,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, hardclip_low,hardclip_high,resulttype,first_read_p, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3340,7 +3345,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, /*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3350,7 +3355,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, /*concordant_chrpos*/1,donor_chrpos,/*acceptor_chrpos*/1,mate_chrpos, /*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3361,7 +3366,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, hardclip_low,hardclip_high,resulttype,first_read_p, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3374,7 +3379,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, /*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3384,7 +3389,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, /*concordant_chrpos*/1,/*donor_chrpos*/1,acceptor_chrpos,mate_chrpos, /*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3395,7 +3400,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, hardclip_low,hardclip_high,resulttype,first_read_p, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3410,7 +3415,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, /*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3420,7 +3425,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, /*concordant_chrpos*/1,donor_chrpos,/*acceptor_chrpos*/1,mate_chrpos, /*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3431,7 +3436,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, hardclip_low,hardclip_high,resulttype,first_read_p, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, acceptor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3444,7 +3449,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, /*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3454,7 +3459,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, /*concordant_chrpos*/1,/*donor_chrpos*/1,acceptor_chrpos,mate_chrpos, /*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3465,7 +3470,7 @@ print_exon_exon (Filestring_T fp, char *abbrev, Stage3end_T this, Stage3end_T ma chromosome_iit,queryseq,pairedlength, concordant_chrpos,donor_chrpos,acceptor_chrpos,mate_chrpos, hardclip_low,hardclip_high,resulttype,first_read_p, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*use_hardclip_p*/true,/*print_xt_p*/true, donor_sensedir,donor_strand,acceptor_strand,donor_chr,acceptor_chr, donor1,donor2,acceptor2,acceptor1,donor_prob,acceptor_prob, @@ -3489,8 +3494,8 @@ SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, int absmq_score, int first_absmq, int second_absmq, int mapq_score, Univ_IIT_T chromosome_iit, Shortread_T queryseq, Shortread_T queryseq_mate, int pairedlength, Chrpos_T chrpos, Chrpos_T mate_chrpos, int clipdir, int hardclip5_low, int hardclip5_high, int hardclip3_low, int hardclip3_high, - Resulttype_T resulttype, bool first_read_p, - int npaths_mate, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p, + Resulttype_T resulttype, bool first_read_p, bool artificial_mate_p, int npaths_mate, + int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p, bool merge_samechr_p) { Hittype_T hittype; unsigned int flag; @@ -3504,8 +3509,8 @@ SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, /* Also, can use this test here because --quiet-if-excessive cases go directly to SAM_print_nomapping */ if (npaths == 0) { SAM_print_nomapping(fp,abbrev,queryseq,mate,acc1,acc2,chromosome_iit,resulttype,first_read_p, - /*pathnum*/0,/*npaths*/0,npaths_mate,mate_chrpos,quality_shift, - sam_read_group_id,invertp,invert_mate_p); + /*pathnum*/0,/*npaths*/0,artificial_mate_p,npaths_mate,mate_chrpos, + quality_shift,sam_read_group_id,invertp,invert_mate_p); if (fp_failedinput != NULL) { if (first_read_p == true) { @@ -3537,8 +3542,8 @@ SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, } flag = SAM_compute_flag(Stage3end_plusp(this),mate,resulttype,first_read_p, - pathnum,npaths,npaths_mate,absmq_score,first_absmq, - invertp,invert_mate_p); + pathnum,npaths,artificial_mate_p,npaths_mate, + absmq_score,first_absmq,invertp,invert_mate_p); querylength = Shortread_fulllength(queryseq); if ((circularpos = Stage3end_circularpos(this)) > 0 @@ -3614,13 +3619,13 @@ SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, print_exon_exon(fp,abbrev,this,mate,acc1,acc2,pathnum,npaths, absmq_score,first_absmq,second_absmq,mapq_score,chromosome_iit,queryseq,pairedlength, mate_chrpos,hardclip5_low,hardclip5_high,resulttype,/*first_read_p*/true, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p); } else { print_exon_exon(fp,abbrev,this,mate,acc1,acc2,pathnum,npaths, absmq_score,first_absmq,second_absmq,mapq_score,chromosome_iit,queryseq,pairedlength, mate_chrpos,hardclip3_low,hardclip3_high,resulttype,/*first_read_p*/false, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p); } @@ -3635,24 +3640,24 @@ SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, print_substrings(fp,abbrev,this,mate,acc1,acc2,pathnum,npaths, absmq_score,first_absmq,second_absmq,mapq_score,queryseq,pairedlength, chrpos,mate_chrpos,/*hardclip_low*/0,/*hardclip_high*/querylength-circularpos, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*circularp*/true); print_substrings(fp,abbrev,this,mate,acc1,acc2,pathnum,npaths, absmq_score,first_absmq,second_absmq,mapq_score,queryseq,pairedlength, /*chrpos*/1,mate_chrpos,/*hardclip_low*/circularpos,/*hardclip_high*/0, - resulttype,first_read_p,npaths_mate,quality_shift,sam_read_group_id, + resulttype,first_read_p,artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*circularp*/true); } else if (first_read_p == true) { print_substrings(fp,abbrev,this,mate,acc1,acc2,pathnum,npaths, absmq_score,first_absmq,second_absmq,mapq_score,queryseq,pairedlength, chrpos,mate_chrpos,hardclip5_low,hardclip5_high,resulttype,/*first_read_p*/true, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*circularp*/false); } else { print_substrings(fp,abbrev,this,mate,acc1,acc2,pathnum,npaths, absmq_score,first_absmq,second_absmq,mapq_score,queryseq,pairedlength, chrpos,mate_chrpos,hardclip3_low,hardclip3_high,resulttype,/*first_read_p*/false, - npaths_mate,quality_shift,sam_read_group_id, + artificial_mate_p,npaths_mate,quality_shift,sam_read_group_id, invertp,invert_mate_p,/*circularp*/false); } } @@ -3696,12 +3701,14 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f Filestring_set_split_output(fp,OUTPUT_NM); SAM_print_nomapping(fp,ABBREV_NOMAPPING_1,queryseq1,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/0,/*npaths*/0,/*npaths_mate*/0, + /*first_read_p*/true,/*pathnum*/0,/*npaths*/0, + /*artificial_mate_p*/false,/*npaths_mate*/0, /*mate_chrpos*/0U,quality_shift, sam_read_group_id,invert_first_p,invert_second_p); SAM_print_nomapping(fp,ABBREV_NOMAPPING_2,queryseq2,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/false,/*pathnum*/0,/*npaths*/0,/*npaths_mate*/0, + /*first_read_p*/false,/*pathnum*/0,/*npaths*/0, + /*artificial_mate_p*/false,/*npaths_mate*/0, /*mate_chrpos*/0U,quality_shift, sam_read_group_id,invert_second_p,invert_first_p); @@ -3754,7 +3761,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, clipdir,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_first_p,invert_second_p, merge_samechr_p); @@ -3766,7 +3773,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, clipdir,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_second_p,invert_first_p, merge_samechr_p); @@ -3785,7 +3792,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f } /* merging changes resulttype from UNPAIRED_UNIQ to SINGLEEND_UNIQ */ flag = SAM_compute_flag(Stage3end_plusp(hit5),/*mate*/NULL,/*resulttype*/SINGLEEND_UNIQ,/*first_read_p*/true, - /*pathnum*/1,/*npaths*/1,/*npaths_mate*/0, + /*pathnum*/1,/*npaths*/1,/*artificial_mate_p*/false,/*npaths_mate*/0, Stage3pair_absmq_score(stage3pair),first_absmq,/*invertp*/false, /*invert_mate_p*/false); Filestring_set_split_output(fp,OUTPUT_UU); @@ -3823,15 +3830,15 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f SAM_print_nomapping(fp,ABBREV_CONCORDANT_TRANSLOC, queryseq1,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/1,npaths,/*npaths_mate*/npaths, - /*mate_chrpos*/0U,quality_shift, - sam_read_group_id,invert_first_p,invert_second_p); + /*first_read_p*/true,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/npaths,/*mate_chrpos*/0U, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p); SAM_print_nomapping(fp,ABBREV_CONCORDANT_TRANSLOC, queryseq2,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/false,/*pathnum*/1,npaths,/*npaths_mate*/npaths, - /*mate_chrpos*/0U,quality_shift, - sam_read_group_id,invert_second_p,invert_first_p); + /*first_read_p*/false,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/npaths,/*mate_chrpos*/0U, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p); } else { /* Stage3pair_eval(stage3pairarray,npaths,maxpaths_report,queryseq1,queryseq2); */ @@ -3868,7 +3875,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, clipdir,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_first_p,invert_second_p, merge_samechr_p); @@ -3880,7 +3887,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, clipdir,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_second_p,invert_first_p, merge_samechr_p); } @@ -3895,13 +3902,15 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f SAM_print_nomapping(fp,ABBREV_CONCORDANT_MULT_XS, queryseq1,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/1,npaths,/*npaths_mate*/npaths, + /*first_read_p*/true,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/npaths, /*mate_chrpos*/0U,quality_shift, sam_read_group_id,invert_first_p,invert_second_p); SAM_print_nomapping(fp,ABBREV_CONCORDANT_MULT_XS, queryseq2,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/false,/*pathnum*/1,npaths,/*npaths_mate*/npaths, + /*first_read_p*/false,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/npaths, /*mate_chrpos*/0U,quality_shift, sam_read_group_id,invert_second_p,invert_first_p); @@ -3946,7 +3955,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, clipdir,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_first_p,invert_second_p, merge_samechr_p); @@ -3958,7 +3967,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, clipdir,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_second_p,invert_first_p, merge_samechr_p); @@ -3977,7 +3986,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f } /* merging changes resulttype from UNPAIRED_UNIQ to SINGLEEND_UNIQ */ flag = SAM_compute_flag(Stage3end_plusp(hit5),/*mate*/NULL,/*resulttype*/SINGLEEND_UNIQ,/*first_read_p*/true, - /*pathnum*/1,/*npaths*/1,/*npaths_mate*/0, + /*pathnum*/1,/*npaths*/1,/*artificial_mate_p*/false,/*npaths_mate*/0, Stage3pair_absmq_score(stage3pair),first_absmq,/*invertp*/false, /*invert_mate_p*/false); Pair_print_sam(fp,ABBREV_CONCORDANT_MULT,pairarray,npairs,/*cigar_tokens*/NULL,/*gmap_intronp*/false, @@ -4044,7 +4053,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_first_p,invert_second_p, merge_samechr_p); @@ -4056,7 +4065,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_second_p,invert_first_p, merge_samechr_p); @@ -4069,13 +4078,15 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f SAM_print_nomapping(fp,ABBREV_PAIRED_MULT_XS, queryseq1,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/1,npaths,/*npaths_mate*/npaths, + /*first_read_p*/true,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/npaths, /*mate_chrpos*/0U,quality_shift, sam_read_group_id,invert_first_p,invert_second_p); SAM_print_nomapping(fp,ABBREV_PAIRED_MULT_XS, queryseq2,/*mate*/(Stage3end_T) NULL, acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/false,/*pathnum*/1,npaths,/*npaths_mate*/npaths, + /*first_read_p*/false,/*pathnum*/1,npaths, + /*artificial_mate_p*/false,/*npaths_mate*/npaths, /*mate_chrpos*/0U,quality_shift, sam_read_group_id,invert_second_p,invert_first_p); @@ -4104,7 +4115,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_first_p,invert_second_p, merge_samechr_p); @@ -4116,7 +4127,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, Stage3pair_pairlength(stage3pair),/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,hardclip5_low,hardclip5_high,hardclip3_low,hardclip3_high, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths, + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths, quality_shift,sam_read_group_id,invert_second_p,invert_first_p, merge_samechr_p); } @@ -4150,7 +4161,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/1,quality_shift,sam_read_group_id, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/1,quality_shift,sam_read_group_id, invert_first_p,invert_second_p,merge_samechr_p); /* Note: Do not act on add_paired_nomappers_p, since the two reads are artificially paired up already */ @@ -4163,7 +4174,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/1,quality_shift,sam_read_group_id, + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/1,quality_shift,sam_read_group_id, invert_second_p,invert_first_p,merge_samechr_p); } else if (resulttype == UNPAIRED_MULT || resulttype == UNPAIRED_TRANSLOC) { @@ -4222,8 +4233,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); stage3 = stage3array2[pathnum-1]; SAM_print(fp,fp_failedinput_2,abbrev,stage3,/*mate*/stage3array1[pathnum-1],acc1,acc2,pathnum,npaths_max, @@ -4232,8 +4243,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } /* Print remaining results with non-mappers */ @@ -4251,13 +4262,13 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/true,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); /* matching nomapper for second end */ SAM_print_nomapping(fp,abbrev,queryseq2,/*mate*/stage3,acc1,acc2,chromosome_iit, - resulttype,/*first_read_p*/false,pathnum,/*npaths*/npaths_max,/*npaths_mate*/npaths_max, - /*mate_chrpos*/chrpos5, + resulttype,/*first_read_p*/false,pathnum,npaths_max, + /*artificial_mate_p*/false,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos5, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); } @@ -4271,8 +4282,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /* matching nomapper for first end */ SAM_print_nomapping(fp,abbrev,queryseq1,/*mate*/stage3,acc1,acc2,chromosome_iit, - resulttype,/*first_read_p*/true,pathnum,/*npaths*/npaths_max,/*npaths_mate*/npaths_max, - /*mate_chrpos*/chrpos3, + resulttype,/*first_read_p*/true,pathnum,npaths_max, + /*artificial_mate_p*/false,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos3, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); SAM_print(fp,fp_failedinput_2,abbrev,stage3,/*mate*/NULL,acc1,acc2,pathnum,npaths_max, @@ -4281,8 +4292,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/true,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } } @@ -4311,14 +4322,14 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths2,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths2, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } else if (quiet_if_excessive_p && npaths1 > maxpaths_report) { /* Just printing one end as nomapping */ SAM_print_nomapping(fp,abbrev,queryseq1,mate,acc1,acc2,chromosome_iit, - resulttype,/*first_read_p*/true,/*pathnum*/1,npaths1,/*npaths_mate*/npaths2, - /*mate_chrpos*/chrpos3, + resulttype,/*first_read_p*/true,/*pathnum*/1,npaths1, + /*artificial_mate_p*/false,/*npaths_mate*/npaths2,/*mate_chrpos*/chrpos3, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); } else { @@ -4334,8 +4345,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths2,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths2, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } } @@ -4365,14 +4376,14 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths1,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths1, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } else if (quiet_if_excessive_p && npaths2 > maxpaths_report) { /* Just printing one end as nomapping */ SAM_print_nomapping(fp,abbrev,queryseq2,mate,acc1,acc2,chromosome_iit, - resulttype,/*first_read_p*/false,/*pathnum*/1,npaths2,/*npaths_mate*/npaths1, - /*mate_chrpos*/chrpos5, + resulttype,/*first_read_p*/false,/*pathnum*/1,npaths2, + /*artificial_mate_p*/false,/*npaths_mate*/npaths1,/*mate_chrpos*/chrpos5, quality_shift,sam_read_group_id,invert_second_p,invert_first_p); } else { @@ -4388,8 +4399,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths1,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths1, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } } } @@ -4471,8 +4482,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /* Handle nomappers with each mapped mate */ } else { SAM_print_nomapping(fp,abbrev,queryseq1,mate,acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/0,npaths1,/*npaths_mate*/npaths2, - /*mate_chrpos*/chrpos3, + /*first_read_p*/true,/*pathnum*/0,npaths1, + /*artificial_mate_p*/false,/*npaths_mate*/npaths2,/*mate_chrpos*/chrpos3, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); } @@ -4493,10 +4504,11 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/true,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); SAM_print_nomapping(fp,abbrev,queryseq2,/*mate*/stage3,acc1,acc2,chromosome_iit, - resulttype,/*first_read_p*/false,/*pathnum*/1,/*npaths*/npaths_max,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos5, + resulttype,/*first_read_p*/false,/*pathnum*/1,npaths1, + /*artificial_mate_p*/false,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos5, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); } else { SAM_print(fp,fp_failedinput_1,abbrev,stage3,mate,acc1,acc2,/*pathnum*/1,npaths1, @@ -4505,8 +4517,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths2,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths2, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } } else if (quiet_if_excessive_p && npaths1 > maxpaths_report) { @@ -4516,8 +4528,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /* Handle nomappers with each mapped mate */ } else { SAM_print_nomapping(fp,abbrev,queryseq1,mate,acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/true,/*pathnum*/1,npaths1,/*npaths_mate*/npaths2, - /*mate_chrpos*/chrpos3, + /*first_read_p*/true,/*pathnum*/1,npaths1, + /*artificial_mate_p*/false,/*npaths_mate*/npaths2,/*mate_chrpos*/chrpos3, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); } @@ -4534,7 +4546,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f npaths_max = npaths1; /* since npaths2 == 0 */ SAM_print_nomapping(fp,abbrev,queryseq2,/*mate*/stage3,acc1,acc2,chromosome_iit, resulttype,/*first_read_p*/false,pathnum, - /*npaths*/npaths_max,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos5, + npaths1,/*artificial_mate_p*/false,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos5, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); SAM_print(fp,fp_failedinput_1,abbrev,stage3,mate,acc1,acc2,pathnum,npaths_max, Stage3end_absmq_score(stage3),first_absmq1,second_absmq1, @@ -4542,7 +4554,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, + resulttype,/*first_read_p*/true,/*artificial_mate_p*/true,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, invert_first_p,invert_second_p,merge_samechr_p); } else { @@ -4552,8 +4564,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq1,/*queryseq_mate*/queryseq2, /*pairedlength*/0U,/*chrpos*/chrpos5,/*mate_chrpos*/chrpos3, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/true,/*npaths_mate*/npaths2,quality_shift,sam_read_group_id, - invert_first_p,invert_second_p,merge_samechr_p); + resulttype,/*first_read_p*/true,/*artificial_mate_p*/false,/*npaths_mate*/npaths2, + quality_shift,sam_read_group_id,invert_first_p,invert_second_p,merge_samechr_p); } } } @@ -4579,8 +4591,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /* Handle nomappers with each mapped mate */ } else { SAM_print_nomapping(fp,abbrev,queryseq2,mate,acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/false,/*pathnum*/0,npaths2,/*npaths_mate*/npaths1, - /*mate_chrpos*/chrpos5, + /*first_read_p*/false,/*pathnum*/0,npaths2, + /*artificial_mate_p*/false,/*npaths_mate*/npaths1,/*mate_chrpos*/chrpos5, quality_shift,sam_read_group_id,invert_second_p,invert_first_p); } @@ -4597,7 +4609,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f npaths_max = npaths2; /* since npaths1 == 0 */ SAM_print_nomapping(fp,abbrev,queryseq2,/*mate*/stage3,acc1,acc2,chromosome_iit, resulttype,/*first_read_p*/true,/*pathnum*/1, - /*npaths*/npaths_max,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos3, + npaths2,/*artificial_mate_p*/false,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos3, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); SAM_print(fp,fp_failedinput_2,abbrev,stage3,mate,acc1,acc2,/*pathnum*/1,npaths_max, Stage3end_absmq_score(stage3),first_absmq2,/*second_absmq2*/0, @@ -4605,8 +4617,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/true,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } else { SAM_print(fp,fp_failedinput_2,abbrev,stage3,mate,acc1,acc2,/*pathnum*/1,npaths2, @@ -4615,8 +4627,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths1,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths1, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } } else if (quiet_if_excessive_p && npaths2 > maxpaths_report) { @@ -4626,8 +4638,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /* Handle nomappers with each mapped mate */ } else { SAM_print_nomapping(fp,abbrev,queryseq2,mate,acc1,acc2,chromosome_iit,resulttype, - /*first_read_p*/false,/*pathnum*/1,npaths2,/*npaths_mate*/npaths1, - /*mate_chrpos*/chrpos5, + /*first_read_p*/false,/*pathnum*/1,npaths2, + /*artificial_mate_p*/false,/*npaths_mate*/npaths1,/*mate_chrpos*/chrpos5, quality_shift,sam_read_group_id,invert_second_p,invert_first_p); } @@ -4644,7 +4656,7 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f npaths_max = npaths2; /* since npaths1 == 0 */ SAM_print_nomapping(fp,abbrev,queryseq2,/*mate*/stage3,acc1,acc2,chromosome_iit, resulttype,/*first_read_p*/true,pathnum, - /*npaths*/npaths_max,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos3, + npaths2,/*artificial_mate_p*/false,/*npaths_mate*/npaths_max,/*mate_chrpos*/chrpos3, quality_shift,sam_read_group_id,invert_first_p,invert_second_p); SAM_print(fp,fp_failedinput_2,abbrev,stage3,mate,acc1,acc2,pathnum,npaths_max, Stage3end_absmq_score(stage3),first_absmq2,second_absmq2, @@ -4652,8 +4664,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths_max,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/true,/*npaths_mate*/npaths_max, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } else { SAM_print(fp,fp_failedinput_2,abbrev,stage3,mate,acc1,acc2,pathnum,npaths2, @@ -4662,8 +4674,8 @@ SAM_print_paired (Filestring_T fp, Filestring_T fp_failedinput_1, Filestring_T f /*queryseq*/queryseq2,/*queryseq_mate*/queryseq1, /*pairedlength*/0U,/*chrpos*/chrpos3,/*mate_chrpos*/chrpos5, /*clipdir*/0,/*hardclip5_low*/0,/*hardclip5_high*/0,/*hardclip3_low*/0,/*hardclip3_high*/0, - resulttype,/*first_read_p*/false,/*npaths_mate*/npaths1,quality_shift,sam_read_group_id, - invert_second_p,invert_first_p,merge_samechr_p); + resulttype,/*first_read_p*/false,/*artificial_mate_p*/false,/*npaths_mate*/npaths1, + quality_shift,sam_read_group_id,invert_second_p,invert_first_p,merge_samechr_p); } } } diff --git a/src/samprint.h b/src/samprint.h index 9723497..4170329 100644 --- a/src/samprint.h +++ b/src/samprint.h @@ -1,4 +1,4 @@ -/* $Id: samprint.h 181904 2016-01-07 20:31:34Z twu $ */ +/* $Id: samprint.h 183725 2016-02-04 00:40:15Z twu $ */ #ifndef SAMPRINT_INCLUDED #define SAMPRINT_INCLUDED @@ -35,14 +35,14 @@ SAM_compute_chrpos (int hardclip_low, int hardclip_high, Stage3end_T this, int q extern unsigned int SAM_compute_flag (bool plusp, Stage3end_T mate, Resulttype_T resulttype, - bool first_read_p, int pathnum, int npaths, int npaths_mate, + bool first_read_p, int pathnum, int npaths, bool artificial_mate_p, int npaths_mate, int absmq_score, int first_absmq, bool invertp, bool invert_mate_p); extern void SAM_print_nomapping (Filestring_T fp, char *abbrev, Shortread_T queryseq, Stage3end_T mate, char *acc1, char *acc2, Univ_IIT_T chromosome_iit, Resulttype_T resulttype, bool first_read_p, - int pathnum, int npaths, int npaths_mate, Chrpos_T mate_chrpos, - int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p); + int pathnum, int npaths, bool artificial_mate_p, int npaths_mate, + Chrpos_T mate_chrpos, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p); extern void SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, @@ -50,7 +50,7 @@ SAM_print (Filestring_T fp, Filestring_T fp_failedinput, char *abbrev, int absmq_score, int first_absmq, int second_absmq, int mapq_score, Univ_IIT_T chromosome_iit, Shortread_T queryseq, Shortread_T queryseq2, int pairedlength, Chrpos_T chrpos, Chrpos_T mate_chrpos, int clipdir, int hardclip5_low, int hardclip5_high, int hardclip3_low, int hardclip3_high, - Resulttype_T resulttype, bool first_read_p, int npaths_mate, int quality_shift, + Resulttype_T resulttype, bool first_read_p, bool artificial_mate_p, int npaths_mate, int quality_shift, char *sam_read_group_id, bool invertp, bool invert_mate_p, bool merge_samechr_p); extern void diff --git a/src/stage2.c b/src/stage2.c index acbc11c..c0e0e63 100644 --- a/src/stage2.c +++ b/src/stage2.c @@ -1,4 +1,4 @@ -static char rcsid[] = "$Id: stage2.c 166741 2015-06-02 01:24:48Z twu $"; +static char rcsid[] = "$Id: stage2.c 183727 2016-02-04 00:40:29Z twu $"; #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -2163,7 +2163,7 @@ score_querypos_lookforward_mult ( } } - while (hiti < nhits) { + while (hiti >= 0) { /* Adjacent position not found for hiti */ currlink = &(links[querypos][hiti + low_hit]); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/gmap.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
