 +			kputsn("NA", 2, str);
 +		}
 +		kputc(',', str);
-+		kputw(ngaps, str); // ztz2
-+		kputc(',', str);
-+		kputw(nextends, str); // ztz3
-+		kputc(',', str);
 +		if(p->sub >= 0) {
-+			kputw(p->score - p->sub, str); // ztz4
++			kputw(p->score - p->sub, str); // ztz2
 +		} else {
 +			kputsn("NA", 2, str);
 +		}
 +		kputc(',', str);
-+		kputw(p->osub, str); // ztz5
++		kputw(p->osub, str); // ztz3
 +		kputc(',', str);
-+		kputw(p->pair_score, str); // ztz6
++		kputw(p->pair_score, str); // ztz4
 +		kputc(',', str);
 +		if(p->pair_sub >= 0) {
-+			kputw(p->pair_score - p->pair_sub, str); // ztz7
++			kputw(p->pair_score - p->pair_sub, str); // ztz5
 +		} else {
 +			kputsn("NA", 2, str);
 +		}
 +		kputc(',', str);
-+		kputw(p->n_comp, str); // ztz8
++		kputw(p->seedlen0, str); // ztz6
 +		kputc(',', str);
-+		kputw(p->seedlen0, str); // ztz9
++		kputw(p->sub_n, str); // ztz7
 +		kputc(',', str);
-+		kputw(p->sub_n, str); // ztz10
++		kputw(p->osub_n, str); // ztz8
 +		kputc(',', str);
-+		kputw(p->osub_n, str); // ztz11
++		kputw(p->pair_nsub, str); // ztz9
 +		kputc(',', str);
-+		kputw(p->pair_nsub, str); // ztz12
++		kputw((int)(p->frac_rep * 1000.0), str); // ztz10
 +		kputc(',', str);
-+		kputw((int)(p->frac_rep * 1000.0), str); // ztz13
++		kputw((int)(p->pair_frac_rep * 1000.0), str); // ztz11
 +		kputc(',', str);
-+		kputw((int)(p->pair_frac_rep * 1000.0), str); // ztz14
++		kputw((int)(p->seedcov * 1000.0), str); // ztz12
 +		kputc(',', str);
-+		kputw((int)(p->seedcov * 1000.0), str); // ztz15
-+		kputc(',', str);
-+		kputw((int)(p->pair_seedcov * 1000.0), str); // ztz16
++		kputw((int)(p->pair_seedcov * 1000.0), str); // ztz13
 +	}
  	kputc('\n', str);
  }
  
-@@ -1129,8 +1184,17 @@ mem_aln_t mem_reg2aln(const mem_opt_t *o
+@@ -1129,8 +1173,17 @@ mem_aln_t mem_reg2aln(const mem_opt_t *o
  	a.rid = bns_pos2rid(bns, pos);
  	assert(a.rid == ar->rid);
  	a.pos = pos - bns->anns[a.rid].offset;

diff -rupN -x Xcode -x .git bwa/bwamem.c bwa-mod/bwamem.c
--- bwa/bwamem.c	2015-07-08 13:14:28.000000000 -0400
+++ bwa-mod/bwamem.c	2016-07-30 14:52:44.000000000 -0400
@@ -512,6 +512,8 @@ static void mem_mark_primary_se_core(con
 			int e_min = a[j].qe < a[i].qe? a[j].qe : a[i].qe;
 			if (e_min > b_max) { // have overlap

 				if (e_min - b_max >= min_l * opt->mask_level) { // significant overlap
 					if (a[j].sub == 0) a[j].sub = a[i].score;
 					if (a[j].score - a[i].score <= tmp && (a[j].is_alt || !a[i].is_alt))
@@ -942,6 +944,48 @@ void mem_aln2sam(const mem_opt_t *opt, c
 		for (i = tmp; i < str->l; ++i) // replace TAB in the comment to SPACE
 			if (str->s[i] == '\t') str->s[i] = ' ';
 	}
