Esempio n. 1
0
END_TEST

START_TEST (valid_with_only_aln_file_output)
{
	    generate_snp_sites("../tests/data/alignment_file_one_line_per_sequence.aln",1,0,0,"");
	    fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.snp_sites.aln","alignment_file_one_line_per_sequence.aln.snp_sites.aln" ) == 1 ,"Invalid ALN file for multiple lines per seq");
	    remove("alignment_file_one_line_per_sequence.aln.snp_sites.aln");
}
Esempio n. 2
0
END_TEST

START_TEST (valid_with_phylip_outputted_with_custom_name)
{
  generate_snp_sites("../tests/data/alignment_file_one_line_per_sequence.aln",0,0,1,"some_custom_name");
  fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.phylip", "some_custom_name" ) == 1, "Custom name needs extra extension for phylip" );
  remove("some_custom_name");

}
Esempio n. 3
0
END_TEST

START_TEST (valid_with_only_aln_file_output_with_custom_name)
{
	char output_filename[100] = {"some_custom_name"};
	    generate_snp_sites("../tests/data/alignment_file_multiple_lines_per_sequence.aln",1,0,0,output_filename);
	    fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.snp_sites.aln","some_custom_name" ) == 1 ,"Only aln with custom name should be outputted");
	    remove("some_custom_name");
}
Esempio n. 4
0
END_TEST

START_TEST (valid_alignment_with_multiple_lines_per_sequence)
{
    generate_snp_sites("../tests/data/alignment_file_multiple_lines_per_sequence.aln",1,1,1,"");
    fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.vcf", "alignment_file_multiple_lines_per_sequence.aln.vcf" ) == 1, "Invalid VCF file for multiple lines per seq" );
    fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.phylip", "alignment_file_multiple_lines_per_sequence.aln.phylip" ) == 1, "Invalid Phylip file for multiple lines per seq" );
    fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.snp_sites.aln","alignment_file_multiple_lines_per_sequence.aln.snp_sites.aln" ) == 1 ,"Invalid ALN file for multiple lines per seq");
    remove("alignment_file_multiple_lines_per_sequence.aln.vcf");
    remove("alignment_file_multiple_lines_per_sequence.aln.phylip");
    remove("alignment_file_multiple_lines_per_sequence.aln.snp_sites.aln");
}
Esempio n. 5
0
END_TEST


START_TEST (valid_alignment_with_n_as_gap)
{
	  generate_snp_sites("../tests/data/alignment_file_with_n.aln",1,1,1, "");
	  fail_unless( compare_files("../tests/data/alignment_file_with_n.aln.vcf", "alignment_file_with_n.aln.vcf" ) == 1, "Invalid VCF file for 1 line per seq" );
	  fail_unless( compare_files("../tests/data/alignment_file_with_n.aln.phylip", "alignment_file_with_n.aln.phylip" ) == 1, "Invalid Phylip file for 1 line per seq" );
	  fail_unless( compare_files("../tests/data/alignment_file_with_n.aln.snp_sites.aln","alignment_file_with_n.aln.snp_sites.aln" ) == 1 , "Invalid ALN file for 1 line per seq");
	  remove("alignment_file_with_n.aln.vcf");
	  remove("alignment_file_with_n.aln.phylip");
	  remove("alignment_file_with_n.aln.snp_sites.aln");
}
Esempio n. 6
0
END_TEST



START_TEST (valid_alignment_with_one_line_per_sequence_gzipped)
{
  generate_snp_sites("../tests/data/alignment_file_one_line_per_sequence.aln.gz",1,1,1, NULL);
  fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.vcf", "alignment_file_one_line_per_sequence.aln.gz.vcf" ) == 1, "Invalid VCF file for 1 line per seq" );
  fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.phylip", "alignment_file_one_line_per_sequence.aln.gz.phylip" ) == 1, "Invalid Phylip file for 1 line per seq" );
  fail_unless( compare_files("../tests/data/alignment_file_one_line_per_sequence.aln.snp_sites.aln","alignment_file_one_line_per_sequence.aln.gz.snp_sites.aln" ) == 1 , "Invalid ALN file for 1 line per seq");
  remove("alignment_file_one_line_per_sequence.aln.gz.vcf");
  remove("alignment_file_one_line_per_sequence.aln.gz.phylip");
  remove("alignment_file_one_line_per_sequence.aln.gz.snp_sites.aln");
}
Esempio n. 7
0
int main (int argc, char **argv) {
	char multi_fasta_filename[FILENAME_MAX] = {""};
	char output_filename[FILENAME_MAX] = {""};

	int c;
	int index;
  int output_multi_fasta_file = 0;
  int output_vcf_file = 0;
  int output_phylip_file = 0;
	
	 while ((c = getopt (argc, argv, "mvpo:V")) != -1)
      switch (c)
        {
        case 'm':
          output_multi_fasta_file = 1;
          break;
        case 'v':
          output_vcf_file = 1;
          break;
        case 'V':
          print_version();
          return 0;
        case 'p':
          output_phylip_file = 1;
          break;
	      case 'o':
          strncpy(output_filename, optarg, FILENAME_MAX);
	        break;
        case 'h':
          print_usage();
          return 0;
      default:
        output_multi_fasta_file = 1;
      }
  
  if(optind < argc)
  {
    strncpy(multi_fasta_filename, argv[optind], FILENAME_MAX); 
    generate_snp_sites(multi_fasta_filename, output_multi_fasta_file, output_vcf_file, output_phylip_file, output_filename);
  }
  else
  {
    print_usage();
  }
    
	return 0;
}
Esempio n. 8
0
int main (int argc, char **argv) {
	char multi_fasta_filename[FILENAME_MAX] = {""};
	char output_filename[FILENAME_MAX] = {""};

	int c;
	int index;
  int output_multi_fasta_file = 0;
  int output_vcf_file = 0;
  int output_phylip_file = 0;
  int output_reference = 0;
	int pure_mode = 0;
  int output_monomorphic =0;
  
	 while ((c = getopt (argc, argv, "mvrbpco:V")) != -1)
      switch (c)
        {
        case 'm':
          output_multi_fasta_file = 1;
          break;
        case 'v':
          output_vcf_file = 1;
          break;
        case 'V':
          print_version();
          return 0;
        case 'p':
          output_phylip_file = 1;
          break;
        case 'r':
          output_reference = 1;
          break;
        case 'c':
          pure_mode = 1;
          break;
        case 'b':
          output_monomorphic = 1;
          break;
	      case 'o':
          strncpy(output_filename, optarg, FILENAME_MAX);
	        break;
        case 'h':
          print_usage();
          exit(EXIT_SUCCESS);
      default:
        output_multi_fasta_file = 1;
      }
      
  
  if(optind < argc)
  {  
    // check to see if the input alignment file exists
    if( access( argv[optind], F_OK ) == -1 ) {
      fprintf(stderr,"ERROR: cannot access input alignment file '%s'\n", argv[optind]);
      fflush(stderr);
      exit(EXIT_FAILURE);
    }
    
    strncpy(multi_fasta_filename, argv[optind], FILENAME_MAX); 
    
    if( pure_mode || output_monomorphic)
    {
      generate_snp_sites_with_ref_pure_mono(multi_fasta_filename,
                                  output_multi_fasta_file,
                                  output_vcf_file, output_phylip_file,
                                  output_filename,output_reference,pure_mode,output_monomorphic);
    }
    else if(output_reference ) {
      generate_snp_sites_with_ref(multi_fasta_filename,
                                  output_multi_fasta_file,
                                  output_vcf_file, output_phylip_file,
                                  output_filename);
    } else {
      generate_snp_sites(multi_fasta_filename, output_multi_fasta_file,
                         output_vcf_file, output_phylip_file,
                         output_filename);
    }
  }
  else
  {
    print_usage();
  }

	exit(EXIT_SUCCESS);
}
Esempio n. 9
0
END_TEST

START_TEST (invalid_with_uneven_file_lengths)
{
	    generate_snp_sites("../tests/data/uneven_alignment.aln",1,0,0,"");
}