https://github.com/sanger-pathogens/gubbins
Revision 155d08a07dca63f8aad89390933c132eaebda861 authored by andrewjpage on 02 September 2014, 08:29:19 UTC, committed by andrewjpage on 02 September 2014, 08:29:19 UTC
Catch too few sequences
Tip revision: 155d08a07dca63f8aad89390933c132eaebda861 authored by andrewjpage on 02 September 2014, 08:29:19 UTC
Merge pull request #106 from andrewjpage/catch_too_few_sequences
Merge pull request #106 from andrewjpage/catch_too_few_sequences
Tip revision: 155d08a
check_gubbins.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <check.h>
#include "check_parse_phylip.h"
#include "helper_methods.h"
#include "gubbins.h"
START_TEST (check_gubbins_no_recombinations)
{
remove("../tests/data/no_recombinations.tre");
cp("../tests/data/no_recombinations.tre", "../tests/data/no_recombinations.original.tre");
run_gubbins("../tests/data/no_recombinations.aln.vcf", "../tests/data/no_recombinations.tre","../tests/data/no_recombinations.aln.snp_sites.aln",3,"../tests/data/no_recombinations.aln.snp_sites.aln");
fail_unless(file_exists("../tests/data/no_recombinations.tre.tab") == 1);
fail_unless(file_exists("../tests/data/no_recombinations.tre.vcf") == 1);
fail_unless(file_exists("../tests/data/no_recombinations.tre.phylip") == 1);
fail_unless(file_exists("../tests/data/no_recombinations.tre.snp_sites.aln") == 1);
fail_unless(file_exists("../tests/data/no_recombinations.tre.stats") == 1);
fail_unless(file_exists("../tests/data/no_recombinations.tre.gff") == 1);
fail_unless(number_of_recombinations_in_file("../tests/data/no_recombinations.tre.tab") == 0);
fail_unless(compare_files("../tests/data/no_recombinations.tre","../tests/data/no_recombinations.expected.tre") == 1);
fail_unless(compare_files("../tests/data/no_recombinations.tre.branch_snps.tab","../tests/data/no_recombinations.tre.branch_snps.expected.tab") == 1);
remove("../tests/data/no_recombinations.tre");
remove("../tests/data/no_recombinations.tre.tab");
remove("../tests/data/no_recombinations.tre.vcf");
remove("../tests/data/no_recombinations.tre.phylip");
remove("../tests/data/no_recombinations.tre.stats");
remove("../tests/data/no_recombinations.tre.gff");
remove("../tests/data/no_recombinations.tre.snp_sites.aln");
remove("../tests/data/no_recombinations.tre.branch_snps.tab");
}
END_TEST
START_TEST (check_gubbins_one_recombination)
{
remove("../tests/data/one_recombination.tre");
cp("../tests/data/one_recombination.tre", "../tests/data/one_recombination.original.tre");
run_gubbins("../tests/data/one_recombination.aln.vcf", "../tests/data/one_recombination.tre","../tests/data/one_recombination.aln.snp_sites.aln",3,"../tests/data/one_recombination.aln.snp_sites.aln");
fail_unless(file_exists("../tests/data/one_recombination.tre.tab") == 1);
fail_unless(file_exists("../tests/data/one_recombination.tre.vcf") == 1);
fail_unless(file_exists("../tests/data/one_recombination.tre.phylip") == 1);
fail_unless(file_exists("../tests/data/one_recombination.tre.stats") == 1);
fail_unless(file_exists("../tests/data/one_recombination.tre.gff") == 1);
fail_unless(file_exists("../tests/data/one_recombination.tre.snp_sites.aln") == 1);
fail_unless(number_of_recombinations_in_file("../tests/data/one_recombination.tre.tab") == 1);
fail_unless(compare_files("../tests/data/one_recombination.tre.vcf","../tests/data/one_recombination.expected.vcf") == 1);
fail_unless(compare_files("../tests/data/one_recombination.tre.stats","../tests/data/one_recombination.expected.stats") == 1);
fail_unless(compare_files("../tests/data/one_recombination.tre.branch_snps.tab","../tests/data/one_recombination.tre.branch_snps.expected.tab") == 1);
fail_unless(compare_files("../tests/data/one_recombination.tre.tab","../tests/data/one_recombination.tre.expected.tab") == 1);
fail_unless(compare_files("../tests/data/one_recombination.tre.gff","../tests/data/one_recombination.tre.expected.gff") == 1);
remove("../tests/data/one_recombination.tre");
remove("../tests/data/one_recombination.tre.tab");
remove("../tests/data/one_recombination.tre.vcf");
remove("../tests/data/one_recombination.tre.phylip");
remove("../tests/data/one_recombination.tre.stats");
remove("../tests/data/one_recombination.tre.gff");
remove("../tests/data/one_recombination.tre.snp_sites.aln");
remove("../tests/data/one_recombination.tre.branch_snps.tab");
}
END_TEST
START_TEST (check_gubbins_multiple_recombinations)
{
remove("../tests/data/multiple_recombinations.tre");
cp("../tests/data/multiple_recombinations.tre", "../tests/data/multiple_recombinations.original.tre");
run_gubbins("../tests/data/multiple_recombinations.aln.vcf", "../tests/data/multiple_recombinations.tre","../tests/data/multiple_recombinations.aln.snp_sites.aln",3,"../tests/data/multiple_recombinations.aln.snp_sites.aln");
fail_unless(file_exists("../tests/data/multiple_recombinations.tre.tab") == 1);
fail_unless(file_exists("../tests/data/multiple_recombinations.tre.vcf") == 1);
fail_unless(file_exists("../tests/data/multiple_recombinations.tre.phylip") == 1);
fail_unless(file_exists("../tests/data/multiple_recombinations.tre.stats") == 1);
fail_unless(file_exists("../tests/data/multiple_recombinations.tre.gff") == 1);
fail_unless(file_exists("../tests/data/multiple_recombinations.tre.snp_sites.aln") == 1);
fail_unless(number_of_recombinations_in_file("../tests/data/multiple_recombinations.tre.tab") == 3);
fail_unless(compare_files("../tests/data/multiple_recombinations.tre","../tests/data/multiple_recombinations.expected.tre") == 1);
fail_unless(compare_files("../tests/data/multiple_recombinations.tre.branch_snps.tab","../tests/data/multiple_recombinations.tre.branch_snps.expected.tab") == 1);
remove("../tests/data/multiple_recombinations.tre");
remove("../tests/data/multiple_recombinations.tre.tab");
remove("../tests/data/multiple_recombinations.tre.vcf");
remove("../tests/data/multiple_recombinations.tre.phylip");
remove("../tests/data/multiple_recombinations.tre.stats");
remove("../tests/data/multiple_recombinations.tre.gff");
remove("../tests/data/multiple_recombinations.tre.snp_sites.aln");
remove("../tests/data/multiple_recombinations.tre.branch_snps.tab");
}
END_TEST
Suite * run_gubbins_suite(void)
{
Suite *s = suite_create ("Checking the gubbins functionality");
TCase *tc_gubbins = tcase_create ("check_gubbins_produces_files");
tcase_add_test (tc_gubbins, check_gubbins_no_recombinations);
//tcase_add_test (tc_gubbins, check_gubbins_one_recombination);
tcase_add_test (tc_gubbins, check_gubbins_multiple_recombinations);
suite_add_tcase (s, tc_gubbins);
return s;
}
Computing file changes ...