INNER CODE UNIT · C

vs1

lh3/miniprot · align.c:281

		int64_t vs1 = vs0 + (r->a[i0]>>32) + 1;
		int32_t as1 = ((int32_t)r->a[i0]<<1>>1) + 1;
		int32_t nt_len, aa_len;
		ns_opt_t ns_opt = ns_opt0;
		ns_rst_t rst;
		ns_opt.flag |= NS_F_EXT_LEFT;
		ns_rst_init(&rst);
		ns_global_gs16b(km, (const char*)nt, vs1 - as, aa, as1, &ns_opt, ss, &rst);
		nt_len = rst.nt_len, aa_len = rst.aa_len;
		if (rst.aa_len != as1 && rst.nt_len < opt->max_ext && opt->io > opt->io_end) { // special casing 5'-end exon
			int64_t as_alt = vs1 - as > opt->max_ext? vs1 - opt->max_ext : as;
			ns_opt.io = opt->io_end;
			ns_global_gs16b(km, (const char*)&nt[as_alt - as], vs1 - as_alt, aa, as1, &ns_opt, ss? &ss[as_alt - as] : 0, &rst);
			if (rst.aa_len == as1)
				nt_len = rst.nt_len, aa_len = rst.aa_len;
		}
		r->vs = vs1 - nt_len;
		r->qs = as1 - aa_len;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…