Exemple #1
0
END_TEST


START_TEST (compare_same_chr)
{
	region_t reg_1, reg_2, reg_3;
	
	reg_1.chromosome = "4";
	reg_1.start_position = 1000;
	reg_1.end_position = 2000;
	
	reg_2.chromosome = "4";
	reg_2.start_position = 5000;
	reg_2.end_position = 27000;
	
	reg_3.chromosome = "4";
	reg_3.start_position = 16000;
	reg_3.end_position = 17000;
	
	
	fail_unless(compare_regions(&reg_1, &reg_2, region_ordering, num_chromosomes) < 0,
		    "Region 4:1000-2000 must be considered less than 4:5000-27000");
	fail_unless(compare_regions(&reg_1, &reg_3, region_ordering, num_chromosomes) < 0,
		    "Region 4:1000-2000 must be considered less than 4:16000-17000");
	fail_unless(compare_regions(&reg_2, &reg_3, region_ordering, num_chromosomes) < 0,
		    "Region 4:5000-27000 must be considered less than 4:16000-17000");
}
Exemple #2
0
static int test_walkbits1_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	unsigned int j;
	size_t i;

	printf("           ");

	for (j = 0; j < UL_LEN * 2; j++) {
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		p1 = (ulv *) bufa;
		p2 = (ulv *) bufb;
		printf("setting %3u", j);

		for (i = 0; i < count; i++) {
			if (j < UL_LEN) { /* Walk it up. */
				*p1++ = *p2++ = UL_ONEBITS ^ (ONE << j);
			} else { /* Walk it back down. */
				*p1++ = *p2++ = UL_ONEBITS ^
					(ONE << (UL_LEN * 2 - j - 1));
			}
		}
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		printf("testing %3u", j);

		if (compare_regions(bufa, bufb, count)) {
			return -1;
		}
	}
	printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");

	return 0;
}
Exemple #3
0
static int test_blockseq_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	unsigned int j;
	size_t i;

	printf("           ");

	for (j = 0; j < 256; j++) {
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		p1 = (ulv *) bufa;
		p2 = (ulv *) bufb;
		printf("setting %3u", j);

		for (i = 0; i < count; i++) {
			*p1++ = *p2++ = (ul) UL_BYTE(j);
		}
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		printf("testing %3u", j);

		if (compare_regions(bufa, bufb, count)) {
			return -1;
		}
	}
	printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");

	return 0;
}
Exemple #4
0
static int test_solidbits_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	unsigned int j;
	ul q;
	size_t i;

	printf("           ");

	for (j = 0; j < 64; j++) {
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		q = (j % 2) == 0 ? UL_ONEBITS : 0;
		printf("setting %3u", j);

		p1 = (ulv *) bufa;
		p2 = (ulv *) bufb;
		for (i = 0; i < count; i++) {
			*p1++ = *p2++ = (i % 2) == 0 ? q : ~q;
		}
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		printf("testing %3u", j);

		if (compare_regions(bufa, bufb, count)) {
			return -1;
		}
	}
	printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");

	return 0;
}
Exemple #5
0
static int test_checkerboard_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	unsigned int j;
	ul q;
	size_t i;

	printf("           ");

	for (j = 0; j < 64; j++) {
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		q = (j % 2) == 0 ? CHECKERBOARD1 : CHECKERBOARD2;
		printf("setting %3u", j);

		p1 = (ulv *) bufa;
		p2 = (ulv *) bufb;
		for (i = 0; i < count; i++) {
			*p1++ = *p2++ = (i % 2) == 0 ? q : ~q;
		}
		printf("\b\b\b\b\b\b\b\b\b\b\b");
		printf("testing %3u", j);

		if (compare_regions(bufa, bufb, count)) {
			return -1;
		}
	}
	printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");

	return 0;
}
Exemple #6
0
int test_bitflip_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    unsigned int j, k;
    ul q;
    size_t i;

	printf("           ");
    fflush(stdout);
    for (k = 0; k < UL_LEN; k++)
	{
        q = 0x00000001 << k;
        for (j = 0; j < 8; j++)
		{
    	    printf("\b\b\b\b\b\b\b\b\b\b\b");
            q = ~q;
            printf("setting %3u", k * 8 + j);
            fflush(stdout);
            for (i = 0; i < count; i++) {
                bufa[i] = bufb[i] = (i % 2) == 0 ? q : ~q;
            }
            printf("\b\b\b\b\b\b\b\b\b\b\b");
            printf("testing %3u", k * 8 + j);
            fflush(stdout);
            if (compare_regions(bufa, bufb, count))
			{
                return -1;
            }
        }
    }
    printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");
    fflush(stdout);
    return 0;
}
Exemple #7
0
static int test_bitflip_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	unsigned int j, k;
	ul q;
	size_t i;

	printf("           ");

	for (k = 0; k < UL_LEN; k++) {
		q = ONE << k;
		for (j = 0; j < 8; j++) {
			printf("\b\b\b\b\b\b\b\b\b\b\b");
			q = ~q;
			printf("setting %3u", k * 8 + j);

			p1 = (ulv *) bufa;
			p2 = (ulv *) bufb;
			for (i = 0; i < count; i++) {
				*p1++ = *p2++ = (i % 2) == 0 ? q : ~q;
			}
			printf("\b\b\b\b\b\b\b\b\b\b\b");
			printf("testing %3u", k * 8 + j);

			if (compare_regions(bufa, bufb, count)) {
				return -1;
			}
		}
	}
	printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");

	return 0;
}
Exemple #8
0
int test_walkbits1_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    unsigned int j;
    size_t i;

	printf("           ");
    fflush(stdout);
    for (j = 0; j < UL_LEN * 2; j++)
	{
	    printf("\b\b\b\b\b\b\b\b\b\b\b");
		printf("setting %3u", j);
        fflush(stdout);
        for (i = 0; i < count; i++)
		{
            if (j < UL_LEN)
			{ /* Walk it up. */
                bufa[i] = bufb[i] = UL_ONEBITS ^ (0x00000001 << j);
            } else
			{ /* Walk it back down. */
                bufa[i] = bufb[i] = UL_ONEBITS ^ (0x00000001 << (UL_LEN * 2 - j - 1));
            }
        }
        printf("\b\b\b\b\b\b\b\b\b\b\b");
        printf("testing %3u", j);
        fflush(stdout);
        if (compare_regions(bufa, bufb, count))
		{
            return -1;
        }
    }
    printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");
    fflush(stdout);
    return 0;
}
Exemple #9
0
int test_blockseq_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    unsigned int j;
    size_t i;

	printf("           ");
    fflush(stdout);
    for (j = 0; j < 256; j++)
	{
	    printf("\b\b\b\b\b\b\b\b\b\b\b");
        printf("setting %3u", j);
        fflush(stdout);
        for (i = 0; i < count; i++)
		{
            bufa[i] = bufb[i] = (ul) UL_BYTE(j);
        }
        printf("\b\b\b\b\b\b\b\b\b\b\b");
        printf("testing %3u", j);
        fflush(stdout);
        if (compare_regions(bufa, bufb, count))
		{
            return -1;
        }
    }
    printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");
    fflush(stdout);
    return 0;
}
Exemple #10
0
int test_checkerboard_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    unsigned int j;
    ul q;
    size_t i;

	printf("           ");
    fflush(stdout);
    for (j = 0; j < 64; j++)
	{
	    printf("\b\b\b\b\b\b\b\b\b\b\b");
        q = (j % 2) == 0 ? CHECKERBOARD1 : CHECKERBOARD2;
        printf("setting %3u", j);
        fflush(stdout);
        for (i = 0; i < count; i++)
		{
            bufa[i] = bufb[i] = (i % 2) == 0 ? q : ~q;
        }
        printf("\b\b\b\b\b\b\b\b\b\b\b");
        printf("testing %3u", j);
        fflush(stdout);
        if (compare_regions(bufa, bufb, count))
		{
            return -1;
        }
    }
    printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");
    fflush(stdout);
    return 0;
}
Exemple #11
0
int test_solidbits_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    unsigned int j;
    ul q;
    size_t i;

	printf("           ");
    fflush(stdout);
    for (j = 0; j < 64; j++)
	{
	    printf("\b\b\b\b\b\b\b\b\b\b\b");
        q = (j % 2) == 0 ? UL_ONEBITS : 0;
        printf("setting %3u", j);
        fflush(stdout);
        for (i = 0; i < count; i++)
		{
            bufa[i] = bufb[i] = (i % 2) == 0 ? q : ~q;
        }
        printf("\b\b\b\b\b\b\b\b\b\b\b");
        printf("testing %3u", j);
        fflush(stdout);
        if (compare_regions(bufa, bufb, count))
		{
            return -1;
        }
    }
    printf("\b\b\b\b\b\b\b\b\b\b\b           \b\b\b\b\b\b\b\b\b\b\b");
    fflush(stdout);
    return 0;
}
Exemple #12
0
int test_seqinc_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    size_t i;
    ul q = rand_ul();

    for (i = 0; i < count; i++)
	{
        bufa[i] = bufb[i] = (i + q);
    }
    return compare_regions(bufa, bufb, count);
}
Exemple #13
0
static int test_seqinc_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	size_t i;
	ul q = rand_ul();

	for (i = 0; i < count; i++) {
		*p1++ = *p2++ = (i + q);
	}
	return compare_regions(bufa, bufb, count);
}
Exemple #14
0
int test_or_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    size_t i;
    ul q = rand_ul();

    for (i = 0; i < count; i++)
	{
        bufa[i] |= q;
        bufb[i] |= q;
    }
    return compare_regions(bufa, bufb, count);
}
Exemple #15
0
int test_and_comparison(ulv *bufa, ulv *bufb, size_t count) {
    ulv *p1 = bufa;
    ulv *p2 = bufb;
    size_t i;
    ul q = rand_ul();

    for (i = 0; i < count; i++) {
        *p1++ &= q;
        *p2++ &= q;
    }
    return compare_regions(bufa, bufb, count);
}
Exemple #16
0
int test_random_value(ulv *bufa, ulv *bufb, size_t count) {
    ulv *p1 = bufa;
    ulv *p2 = bufb;
    size_t i;
    
    for (i = 0; i < count; i++) {
        *p1++ = *p2++ = rand_ul();
        if (!(i % PROGRESSOFTEN)) {
        }
    }
    print("\b \b");
    return compare_regions(bufa, bufb, count);
}
Exemple #17
0
END_TEST


START_TEST (compare_same_chr_same_start_position) {
    region_t reg_1, reg_2, reg_3;

    reg_1.chromosome = "2";
    reg_1.start_position = 10000;
    reg_1.end_position = 20000;

    reg_2.chromosome = "2";
    reg_2.start_position = 10000;
    reg_2.end_position = 20000;

    reg_3.chromosome = "2";
    reg_3.start_position = 10000;
    reg_3.end_position = 15000;

    fail_unless(compare_regions(&reg_1, &reg_2, region_ordering, num_chromosomes) == 0,
                "Regions 2:10000-20000 and 2:10000-20000 must be considered equal");
    fail_unless(compare_regions(&reg_2, &reg_3, region_ordering, num_chromosomes) == 0,
                "Region 2:10000-20000 and 2:10000-15000 must be considered equal");
}
Exemple #18
0
static int test_div_comparison(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	size_t i;
	ul q = rand_ul();

	for (i = 0; i < count; i++) {
		if (!q) {
			q++;
		}
		*p1++ /= q;
		*p2++ /= q;
	}
	return compare_regions(bufa, bufb, count);
}
Exemple #19
0
int test_div_comparison(ulv *bufa, ulv *bufb, size_t count)
{
    size_t i;
    ul q = rand_ul();

    for (i = 0; i < count; i++)
	{
        if (!q)
		{
            q++;
        }
        bufa[i] /= q;
        bufb[i] /= q;
    }
    return compare_regions(bufa, bufb, count);
}
Exemple #20
0
int test_random_value(ulv *bufa, ulv *bufb, size_t count)
{
    ul j = 0;
    size_t i;

	putchar(' ');
    fflush(stdout);
    for (i = 0; i < count; i++)
	{
        bufa[i] = bufb[i] = rand_ul();
		if (!(i % PROGRESSOFTEN))
		{
			putchar('\b');
			putchar(progress[++j % PROGRESSLEN]);
            fflush(stdout);
		}
    }
	printf("\b \b");
    fflush(stdout);
    return compare_regions(bufa, bufb, count);
}
Exemple #21
0
static int test_random_value(ulv *bufa, ulv *bufb, size_t count)
{
	ulv *p1 = bufa;
	ulv *p2 = bufb;
	ul j = 0;
	size_t i;

	putchar(' ');

	for (i = 0; i < count; i++) {
		*p1++ = *p2++ = rand_ul();
		if (!(i % PROGRESSOFTEN)) {
			putchar('\b');
			putchar(progress[++j % PROGRESSLEN]);

		}
	}
	printf("\b \b");

	return compare_regions(bufa, bufb, count);
}
Exemple #22
0
END_TEST


START_TEST (compare_diff_args)
{
    region_t reg_1, reg_2, reg_3, reg_4;

    reg_1.chromosome = "2";
    reg_1.start_position = 10000;
    reg_1.end_position = 20000;

    reg_2.chromosome = "4";
    reg_2.start_position = 5000;
    reg_2.end_position = 7000;

    reg_3.chromosome = "4";
    reg_3.start_position = 15000;
    reg_3.end_position = 27000;

    reg_4.chromosome = "X";
    reg_4.start_position = 3000;
    reg_4.end_position = 8000;


    fail_unless(compare_regions(&reg_1, &reg_2, region_ordering, num_chromosomes) < 0,
                "Region 2:10000-20000 must be considered less than 4:5000-7000");
    fail_unless(compare_regions(&reg_1, &reg_3, region_ordering, num_chromosomes) < 0,
                "Region 2:10000-20000 must be considered less than 4:15000-27000");
    fail_unless(compare_regions(&reg_1, &reg_4, region_ordering, num_chromosomes) < 0,
                "Region 2:10000-20000 must be considered less than X:3000-8000");

    fail_unless(compare_regions(&reg_2, &reg_3, region_ordering, num_chromosomes) < 0,
                "Region 4:5000-7000 must be considered less than 4:15000-17000");
    fail_unless(compare_regions(&reg_2, &reg_4, region_ordering, num_chromosomes) < 0,
                "Region 4:5000-27000 must be considered less than X:3000-8000");

    fail_unless(compare_regions(&reg_3, &reg_4, region_ordering, num_chromosomes) < 0,
                "Region 4:1500-27000 must be considered less than X:3000-8000");
}