Commits

Anonymous committed c30fcb9

Fixed SpeciesConnector to execute mkdir in UNIX.

Comments (0)

Files changed (11)

 	      || exit 1; \
 	  fi; \
 	done
-	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	-find $(distdir) -type d ! -perm -755 -exec chmod u+rwx,go+rx {} \; -o \
 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
 fi
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile tools/Answerer/Makefile tools/Cliquer/Makefile tools/Clinician/Makefile tools/Clusterer/Makefile tools/Clusters2Dab/Makefile tools/COALESCE/Makefile tools/Combiner/Makefile tools/DChecker/Makefile tools/Dat2Dab/Makefile tools/Dat2Graph/Makefile tools/Data2Bnt/Makefile tools/Data2Features/Makefile tools/Data2Sql/Makefile tools/DataDumper/Makefile tools/Distancer/Makefile tools/Explainer/Makefile tools/Filterer/Makefile tools/Funcaeologist/Makefile tools/Funcifier/Makefile tools/Funcographer/Makefile tools/Hubber/Makefile tools/KNNImputer/Makefile tools/Mat2Txt/Makefile tools/MCluster/Makefile tools/Matcher/Makefile tools/MIer/Makefile tools/Normalizer/Makefile tools/Orthologer/Makefile tools/Overlapper/Makefile tools/PCLPlotter/Makefile tools/Randomizer/Makefile tools/Seqs2Ngrams/Makefile tools/SMRF/Makefile tools/SVDer/Makefile tools/Synthesizer/Makefile tools/Txt2Bin/Makefile tools/BNConverter/Makefile tools/BNCreator/Makefile tools/BNEvaluator/Makefile tools/BNFunc/Makefile tools/BNTester/Makefile tools/BNTruster/Makefile tools/BNs2Txt/Makefile tools/BNUnraveler/Makefile tools/BNWeaver/Makefile tools/Contexter/Makefile tools/Counter/Makefile tools/Data2DB/Makefile tools/DSLConverter/Makefile tools/Dab2Dad/Makefile tools/Edges2Posteriors/Makefile tools/MEFIT/Makefile tools/Data2Svm/Makefile tools/SVMer/Makefile tools/VWer/Makefile tools/OntoShell/Makefile tools/BNServer/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ac_config_files="$ac_config_files Makefile src/Makefile tools/Makefile tools/Answerer/Makefile tools/Cliquer/Makefile tools/Clinician/Makefile tools/Clusterer/Makefile tools/Clusters2Dab/Makefile tools/COALESCE/Makefile tools/Combiner/Makefile tools/DChecker/Makefile tools/Dat2Dab/Makefile tools/Dat2Graph/Makefile tools/Data2Bnt/Makefile tools/Data2Features/Makefile tools/Data2Sql/Makefile tools/DataDumper/Makefile tools/Distancer/Makefile tools/Explainer/Makefile tools/Filterer/Makefile tools/Funcaeologist/Makefile tools/Funcifier/Makefile tools/Funcographer/Makefile tools/Hubber/Makefile tools/KNNImputer/Makefile tools/Mat2Txt/Makefile tools/MCluster/Makefile tools/Matcher/Makefile tools/MIer/Makefile tools/Normalizer/Makefile tools/Orthologer/Makefile tools/Overlapper/Makefile tools/PCLPlotter/Makefile tools/Randomizer/Makefile tools/Seqs2Ngrams/Makefile tools/SMRF/Makefile tools/SVDer/Makefile tools/Synthesizer/Makefile tools/Txt2Bin/Makefile tools/BNConverter/Makefile tools/BNCreator/Makefile tools/SpeciesConnector/Makefile tools/BNEvaluator/Makefile tools/BNFunc/Makefile tools/BNTester/Makefile tools/BNTruster/Makefile tools/BNs2Txt/Makefile tools/BNUnraveler/Makefile tools/BNWeaver/Makefile tools/Contexter/Makefile tools/Counter/Makefile tools/Data2DB/Makefile tools/DSLConverter/Makefile tools/Dab2Dad/Makefile tools/Edges2Posteriors/Makefile tools/MEFIT/Makefile tools/Data2Svm/Makefile tools/SVMer/Makefile tools/VWer/Makefile tools/OntoShell/Makefile tools/BNServer/Makefile"
 
 
 
   "tools/Txt2Bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Txt2Bin/Makefile" ;;
   "tools/BNConverter/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/BNConverter/Makefile" ;;
   "tools/BNCreator/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/BNCreator/Makefile" ;;
+  "tools/SpeciesConnector/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/SpeciesConnector/Makefile" ;;
   "tools/BNEvaluator/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/BNEvaluator/Makefile" ;;
   "tools/BNFunc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/BNFunc/Makefile" ;;
   "tools/BNTester/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/BNTester/Makefile" ;;
 		 tools/Txt2Bin/Makefile \
                  tools/BNConverter/Makefile \
 		 tools/BNCreator/Makefile \
+		 tools/SpeciesConnector/Makefile \
 		 tools/BNEvaluator/Makefile \
 		 tools/BNFunc/Makefile \
 		 tools/BNTester/Makefile \

tools/Distancer/cmdline.c

 /*
   File autogenerated by gengetopt version 2.22
   generated with the following command:
-  /shared/hg/sleipnir/extlib/gengetopt-2.22/bin/gengetopt -iDistancer.ggo --default-optional -u -N -e 
+  /shared/users/psarder/sleipnir/trunk/../extlib/gengetopt-2.22/bin/gengetopt -iDistancer.ggo --default-optional -u -N -e 
 
   The developers of gengetopt consider the fixed text that goes in all
   gengetopt output files to be in the public domain:

tools/Makefile.am

     SMILE_TOOLS_SUBDIRS = \
           BNConverter \
 	  BNCreator \
+	  SpeciesConnector \
 	  BNEvaluator \
 	  BNFunc \
 	  BNTester \

tools/Normalizer/cmdline.c

 /*
   File autogenerated by gengetopt version 2.22
   generated with the following command:
-  /shared/hg/sleipnir/extlib/gengetopt-2.22/bin/gengetopt -iNormalizer.ggo --default-optional -u -N -e 
+  /shared/users/psarder/sleipnir/trunk/../extlib/gengetopt-2.22/bin/gengetopt -iNormalizer.ggo --default-optional -u -N -e 
 
   The developers of gengetopt consider the fixed text that goes in all
   gengetopt output files to be in the public domain:

tools/SpeciesConnector/SpeciesConnector.cpp

 				continue;
 			mapZeros[ vecstrZeros[ 0 ] ] = atoi( vecstrZeros[ 1 ].c_str( ) ); } }
 
-	vector<vector<float>>					vecPrior;
-	vector<vector<vector<float>>>			vecDataGSpZero;
-	vector<vector<vector<float>>>			vecDataGSpOne;
-	vector<vector<string>>					vecvecSpDat;
+	vector<vector<float> >					vecPrior;
+	vector<vector<vector<float> > >			vecDataGSpZero;
+	vector<vector<vector<float> > >			vecDataGSpOne;
+	vector<vector<string> >					vecvecSpDat;
 	CDataMatrix		MatCPT;
 	vector<string>	vecstrFiles;
 
 				vecDataGSpOne[ i ][ j ][ k ] = MatCPT.Get( k , 1 );}}
 		vecstrFiles.clear( );}
 
-	vector<vector<vector<vector<float>>>>		vec4OSpGSp;
+	vector<vector<vector<vector<float> > > >		vec4OSpGSp;
 	vec4OSpGSp.resize( sArgs.inputs_num/2 );
 
 	for( iDatOne = 0; iDatOne < vecstrInputs.size( ); ++iDatOne ) {
 	DatOut10.Open( vecstrlInputs );
 	
 	for( i = 0; i < NGibbs; ++i ){ 
-		vector<vector<size_t>>		vecvecDSp;
+		vector<vector<size_t> >		vecvecDSp;
 		vecvecDSp.resize( sArgs.inputs_num/2 );
 		for( j = 0; j < sArgs.inputs_num/2; ++j ){
 //			const vector<float>&	vecdCur	= ( vecTSamples[j] ? vecDataGSpOne : vecDataGSpZero );
 							DatOut10.Set( j, k, 1 );
 						else
 							DatOut10.Set( j, k, ++DatOut10.Get( j, k ) );}}}}	
-	}
-	
+	}	
+
 	_mkdir( sArgs.directory_arg );
-	
-	vector<vector<vector<vector<float>>>>		vec4FSpGSp;
+
+	vector<vector<vector<vector<float> > > >		vec4FSpGSp;
 	vec4FSpGSp.resize( sArgs.inputs_num/2 );
 	
 	for( iDatOne = 0; iDatOne < vecstrInputs.size( ); ++iDatOne ) {
 
     for( iDatOne = 0; iDatOne < vec4FSpGSp.size( ); ++iDatOne ) {
         for( iDatTwo = ( iDatOne + 1 ); iDatTwo < vec4FSpGSp[ iDatOne ].size( ); ++iDatTwo ) {
-            vector<vector<float>>			vecvecFTJoint;
+            vector<vector<float> >			vecvecFTJoint;
             float							MaxFJoint = 0;
             size_t							ZeroFCount = 0;
             vecvecFTJoint.resize( vec4FSpGSp[ iDatOne ][ iDatTwo ].size( ) );
                     vec4FSpGSp[ iDatOne ][ iDatTwo ][ i ][ j ] = vecvecFTJoint[ i ][ j ] / vecFValueOnep[ i ];
                     vec4FSpGSp[ iDatTwo ][ iDatOne ][ i ][ j ] = vecvecFTJoint[ j ][ i ] / vecFValueTwop[ i ];}}}}
     
-    vector<vector<string>>		vecvecstrInputs;
+    vector<vector<string> >		vecvecstrInputs;
     size_t						countstrInputs;
     vecvecstrInputs.resize( vecvecSpDat.size( ) );
     countstrInputs = 0;
             countstrInputs++;}}
 
     vector<string>				vecstrFInputs;
-    vector<vector<size_t>>		InputMaps;				
+    vector<vector<size_t> >		InputMaps;				
     vecstrFInputs.resize( countstrInputs );
     countstrInputs = 0;
     InputMaps.resize( vecvecstrInputs.size( ) );
         DatOutB[ i ] = new CDat( );
         DatOutB[ i ]->Open( vecstrFGenes );}
 
-    vector<vector<vector<size_t>>>		vec3GeneIndex;
+    vector<vector<vector<size_t> > >		vec3GeneIndex;
     vec3GeneIndex.resize( vecvecstrInputs.size( ) );
     for( i = 0; i < vecvecstrInputs.size( ); ++i ){
         vec3GeneIndex[ i ].resize( vecvecstrInputs[ i ].size( ) );
 	delete DatOutCSH[ i ];
 	delete DatOutB[ i ];}	
 	
-	return 0;}
+	return 0;}

tools/SpeciesConnector/SpeciesConnector.ggo

-package	"SpeciesConnector"
-version	"1.0"
-purpose	"Cross species connection calculator."
-
-section "Main"
-option	"ndirectory" n	"Input directory"
-						string	typestr="directory"	default="."
-option	"directory"	d	"Output directory"
-						string	typestr="directory"	default="."
-option	"gibbs"		g	"Gibbs run"
-						int	default="100000"
-
-section "Network Features"
-option	"zero"		z	"Zero missing values"
-						flag	off
-option	"zeros"		Z	"Read zeroed node IDs/outputs from the given file"
-						string	typestr="filename"
-
-section "Optional"
-option	"genex"		G	"Gene exclusion file"
-						string	typestr="filename"
-option	"subsample"	s	"Maximum pairs to subsample"
-						int	default="100000"
-option	"memmap"	m	"Memory map input/output"
-						flag	off
-option	"random"	r	"Seed random generator"
-						int	default="0"
-option	"verbosity"	v	"Message verbosity"
+package	"SpeciesConnector"
+version	"1.0"
+purpose	"Cross species connection calculator."
+
+section "Main"
+option	"ndirectory" n	"Input directory"
+						string	typestr="directory"	default="."
+option	"directory"	d	"Output directory"
+						string	typestr="directory"	default="."
+option	"gibbs"		g	"Gibbs run"
+						int	default="100000"
+
+section "Network Features"
+option	"zero"		z	"Zero missing values"
+						flag	off
+option	"zeros"		Z	"Read zeroed node IDs/outputs from the given file"
+						string	typestr="filename"
+
+section "Optional"
+option	"genex"		G	"Gene exclusion file"
+						string	typestr="filename"
+option	"subsample"	s	"Maximum pairs to subsample"
+						int	default="100000"
+option	"memmap"	m	"Memory map input/output"
+						flag	off
+option	"random"	r	"Seed random generator"
+						int	default="0"
+option	"verbosity"	v	"Message verbosity"
 						int	default="5"

tools/SpeciesConnector/cmdline.c

-/*
-  File autogenerated by gengetopt version 2.22
-  generated with the following command:
-  ..\..\..\..\extlib\proj\vs2008\release\gengetopt.exe -u --default-optional -N -e --output-dir=c:\Users\Pinaki Sarder\Documents\Visual Studio 2008\Projects\sleipnir\trunk\tools\SpeciesConnector\ -i ..\..\..\tools\SpeciesConnector\SpeciesConnector.ggo 
-
-  The developers of gengetopt consider the fixed text that goes in all
-  gengetopt output files to be in the public domain:
-  we make no copyright claims on it.
-*/
-
-/* If we use autoconf.  */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "getopt.h"
-
-#include "cmdline.h"
-
-const char *gengetopt_args_info_purpose = "Cross species connection calculator.";
-
-const char *gengetopt_args_info_usage = "Usage: SpeciesConnector [OPTIONS]... [FILES]...";
-
-const char *gengetopt_args_info_description = "";
-
-const char *gengetopt_args_info_help[] = {
-  "  -h, --help                  Print help and exit",
-  "  -V, --version               Print version and exit",
-  "\nMain:",
-  "  -n, --ndirectory=directory  Input directory  (default=`.')",
-  "  -d, --directory=directory   Output directory  (default=`.')",
-  "  -g, --gibbs=INT             Gibbs run  (default=`100000')",
-  "\nNetwork Features:",
-  "  -z, --zero                  Zero missing values  (default=off)",
-  "  -Z, --zeros=filename        Read zeroed node IDs/outputs from the given file",
-  "\nOptional:",
-  "  -G, --genex=filename        Gene exclusion file",
-  "  -s, --subsample=INT         Maximum pairs to subsample  (default=`100000')",
-  "  -m, --memmap                Memory map input/output  (default=off)",
-  "  -r, --random=INT            Seed random generator  (default=`0')",
-  "  -v, --verbosity=INT         Message verbosity  (default=`5')",
-    0
-};
-
-typedef enum {ARG_NO
-  , ARG_FLAG
-  , ARG_STRING
-  , ARG_INT
-} cmdline_parser_arg_type;
-
-static
-void clear_given (struct gengetopt_args_info *args_info);
-static
-void clear_args (struct gengetopt_args_info *args_info);
-
-static int
-cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
-                        struct cmdline_parser_params *params, const char *additional_error);
-
-
-static char *
-gengetopt_strdup (const char *s);
-
-static
-void clear_given (struct gengetopt_args_info *args_info)
-{
-  args_info->help_given = 0 ;
-  args_info->version_given = 0 ;
-  args_info->ndirectory_given = 0 ;
-  args_info->directory_given = 0 ;
-  args_info->gibbs_given = 0 ;
-  args_info->zero_given = 0 ;
-  args_info->zeros_given = 0 ;
-  args_info->genex_given = 0 ;
-  args_info->subsample_given = 0 ;
-  args_info->memmap_given = 0 ;
-  args_info->random_given = 0 ;
-  args_info->verbosity_given = 0 ;
-}
-
-static
-void clear_args (struct gengetopt_args_info *args_info)
-{
-  args_info->ndirectory_arg = gengetopt_strdup (".");
-  args_info->ndirectory_orig = NULL;
-  args_info->directory_arg = gengetopt_strdup (".");
-  args_info->directory_orig = NULL;
-  args_info->gibbs_arg = 100000;
-  args_info->gibbs_orig = NULL;
-  args_info->zero_flag = 0;
-  args_info->zeros_arg = NULL;
-  args_info->zeros_orig = NULL;
-  args_info->genex_arg = NULL;
-  args_info->genex_orig = NULL;
-  args_info->subsample_arg = 100000;
-  args_info->subsample_orig = NULL;
-  args_info->memmap_flag = 0;
-  args_info->random_arg = 0;
-  args_info->random_orig = NULL;
-  args_info->verbosity_arg = 5;
-  args_info->verbosity_orig = NULL;
-  
-}
-
-static
-void init_args_info(struct gengetopt_args_info *args_info)
-{
-
-
-  args_info->help_help = gengetopt_args_info_help[0] ;
-  args_info->version_help = gengetopt_args_info_help[1] ;
-  args_info->ndirectory_help = gengetopt_args_info_help[3] ;
-  args_info->directory_help = gengetopt_args_info_help[4] ;
-  args_info->gibbs_help = gengetopt_args_info_help[5] ;
-  args_info->zero_help = gengetopt_args_info_help[7] ;
-  args_info->zeros_help = gengetopt_args_info_help[8] ;
-  args_info->genex_help = gengetopt_args_info_help[10] ;
-  args_info->subsample_help = gengetopt_args_info_help[11] ;
-  args_info->memmap_help = gengetopt_args_info_help[12] ;
-  args_info->random_help = gengetopt_args_info_help[13] ;
-  args_info->verbosity_help = gengetopt_args_info_help[14] ;
-  
-}
-
-void
-cmdline_parser_print_version (void)
-{
-  printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION);
-}
-
-static void print_help_common(void) {
-  cmdline_parser_print_version ();
-
-  if (strlen(gengetopt_args_info_purpose) > 0)
-    printf("\n%s\n", gengetopt_args_info_purpose);
-
-  if (strlen(gengetopt_args_info_usage) > 0)
-    printf("\n%s\n", gengetopt_args_info_usage);
-
-  printf("\n");
-
-  if (strlen(gengetopt_args_info_description) > 0)
-    printf("%s\n", gengetopt_args_info_description);
-}
-
-void
-cmdline_parser_print_help (void)
-{
-  int i = 0;
-  print_help_common();
-  while (gengetopt_args_info_help[i])
-    printf("%s\n", gengetopt_args_info_help[i++]);
-}
-
-void
-cmdline_parser_init (struct gengetopt_args_info *args_info)
-{
-  clear_given (args_info);
-  clear_args (args_info);
-  init_args_info (args_info);
-
-  args_info->inputs = NULL;
-  args_info->inputs_num = 0;
-}
-
-void
-cmdline_parser_params_init(struct cmdline_parser_params *params)
-{
-  if (params)
-    { 
-      params->override = 0;
-      params->initialize = 1;
-      params->check_required = 1;
-      params->check_ambiguity = 0;
-      params->print_errors = 1;
-    }
-}
-
-struct cmdline_parser_params *
-cmdline_parser_params_create(void)
-{
-  struct cmdline_parser_params *params = 
-    (struct cmdline_parser_params *)malloc(sizeof(struct cmdline_parser_params));
-  cmdline_parser_params_init(params);  
-  return params;
-}
-
-static void
-free_string_field (char **s)
-{
-  if (*s)
-    {
-      free (*s);
-      *s = 0;
-    }
-}
-
-
-static void
-cmdline_parser_release (struct gengetopt_args_info *args_info)
-{
-  unsigned int i;
-  free_string_field (&(args_info->ndirectory_arg));
-  free_string_field (&(args_info->ndirectory_orig));
-  free_string_field (&(args_info->directory_arg));
-  free_string_field (&(args_info->directory_orig));
-  free_string_field (&(args_info->gibbs_orig));
-  free_string_field (&(args_info->zeros_arg));
-  free_string_field (&(args_info->zeros_orig));
-  free_string_field (&(args_info->genex_arg));
-  free_string_field (&(args_info->genex_orig));
-  free_string_field (&(args_info->subsample_orig));
-  free_string_field (&(args_info->random_orig));
-  free_string_field (&(args_info->verbosity_orig));
-  
-  
-  for (i = 0; i < args_info->inputs_num; ++i)
-    free (args_info->inputs [i]);
-
-  if (args_info->inputs_num)
-    free (args_info->inputs);
-
-  clear_given (args_info);
-}
-
-
-static void
-write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[])
-{
-  if (arg) {
-    fprintf(outfile, "%s=\"%s\"\n", opt, arg);
-  } else {
-    fprintf(outfile, "%s\n", opt);
-  }
-}
-
-
-int
-cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
-{
-  int i = 0;
-
-  if (!outfile)
-    {
-      fprintf (stderr, "%s: cannot dump options to stream\n", CMDLINE_PARSER_PACKAGE);
-      return EXIT_FAILURE;
-    }
-
-  if (args_info->help_given)
-    write_into_file(outfile, "help", 0, 0 );
-  if (args_info->version_given)
-    write_into_file(outfile, "version", 0, 0 );
-  if (args_info->ndirectory_given)
-    write_into_file(outfile, "ndirectory", args_info->ndirectory_orig, 0);
-  if (args_info->directory_given)
-    write_into_file(outfile, "directory", args_info->directory_orig, 0);
-  if (args_info->gibbs_given)
-    write_into_file(outfile, "gibbs", args_info->gibbs_orig, 0);
-  if (args_info->zero_given)
-    write_into_file(outfile, "zero", 0, 0 );
-  if (args_info->zeros_given)
-    write_into_file(outfile, "zeros", args_info->zeros_orig, 0);
-  if (args_info->genex_given)
-    write_into_file(outfile, "genex", args_info->genex_orig, 0);
-  if (args_info->subsample_given)
-    write_into_file(outfile, "subsample", args_info->subsample_orig, 0);
-  if (args_info->memmap_given)
-    write_into_file(outfile, "memmap", 0, 0 );
-  if (args_info->random_given)
-    write_into_file(outfile, "random", args_info->random_orig, 0);
-  if (args_info->verbosity_given)
-    write_into_file(outfile, "verbosity", args_info->verbosity_orig, 0);
-  
-
-  i = EXIT_SUCCESS;
-  return i;
-}
-
-int
-cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
-{
-  FILE *outfile;
-  int i = 0;
-
-  outfile = fopen(filename, "w");
-
-  if (!outfile)
-    {
-      fprintf (stderr, "%s: cannot open file for writing: %s\n", CMDLINE_PARSER_PACKAGE, filename);
-      return EXIT_FAILURE;
-    }
-
-  i = cmdline_parser_dump(outfile, args_info);
-  fclose (outfile);
-
-  return i;
-}
-
-void
-cmdline_parser_free (struct gengetopt_args_info *args_info)
-{
-  cmdline_parser_release (args_info);
-}
-
-/** @brief replacement of strdup, which is not standard */
-char *
-gengetopt_strdup (const char *s)
-{
-  char *result = NULL;
-  if (!s)
-    return result;
-
-  result = (char*)malloc(strlen(s) + 1);
-  if (result == (char*)0)
-    return (char*)0;
-  strcpy(result, s);
-  return result;
-}
-
-int
-cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info)
-{
-  return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
-}
-
-int
-cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info,
-                   struct cmdline_parser_params *params)
-{
-  int result;
-  result = cmdline_parser_internal (argc, argv, args_info, params, NULL);
-
-  return result;
-}
-
-int
-cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
-{
-  int result;
-  struct cmdline_parser_params params;
-  
-  params.override = override;
-  params.initialize = initialize;
-  params.check_required = check_required;
-  params.check_ambiguity = 0;
-  params.print_errors = 1;
-
-  result = cmdline_parser_internal (argc, argv, args_info, &params, NULL);
-
-  return result;
-}
-
-int
-cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name)
-{
-  return EXIT_SUCCESS;
-}
-
-
-static char *package_name = 0;
-
-/**
- * @brief updates an option
- * @param field the generic pointer to the field to update
- * @param orig_field the pointer to the orig field
- * @param field_given the pointer to the number of occurrence of this option
- * @param prev_given the pointer to the number of occurrence already seen
- * @param value the argument for this option (if null no arg was specified)
- * @param possible_values the possible values for this option (if specified)
- * @param default_value the default value (in case the option only accepts fixed values)
- * @param arg_type the type of this option
- * @param check_ambiguity @see cmdline_parser_params.check_ambiguity
- * @param override @see cmdline_parser_params.override
- * @param no_free whether to free a possible previous value
- * @param multiple_option whether this is a multiple option
- * @param long_opt the corresponding long option
- * @param short_opt the corresponding short option (or '-' if none)
- * @param additional_error possible further error specification
- */
-static
-int update_arg(void *field, char **orig_field,
-               unsigned int *field_given, unsigned int *prev_given, 
-               char *value, char *possible_values[], const char *default_value,
-               cmdline_parser_arg_type arg_type,
-               int check_ambiguity, int override,
-               int no_free, int multiple_option,
-               const char *long_opt, char short_opt,
-               const char *additional_error)
-{
-  char *stop_char = 0;
-  const char *val = value;
-  int found;
-  char **string_field;
-
-  stop_char = 0;
-  found = 0;
-
-  if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given)))
-    {
-      if (short_opt != '-')
-        fprintf (stderr, "%s: `--%s' (`-%c') option given more than once%s\n", 
-               package_name, long_opt, short_opt,
-               (additional_error ? additional_error : ""));
-      else
-        fprintf (stderr, "%s: `--%s' option given more than once%s\n", 
-               package_name, long_opt,
-               (additional_error ? additional_error : ""));
-      return 1; /* failure */
-    }
-
-    
-  if (field_given && *field_given && ! override)
-    return 0;
-  if (prev_given)
-    (*prev_given)++;
-  if (field_given)
-    (*field_given)++;
-  if (possible_values)
-    val = possible_values[found];
-
-  switch(arg_type) {
-  case ARG_FLAG:
-    *((int *)field) = !*((int *)field);
-    break;
-  case ARG_INT:
-    if (val) *((int *)field) = strtol (val, &stop_char, 0);
-    break;
-  case ARG_STRING:
-    if (val) {
-      string_field = (char **)field;
-      if (!no_free && *string_field)
-        free (*string_field); /* free previous string */
-      *string_field = gengetopt_strdup (val);
-    }
-    break;
-  default:
-    break;
-  };
-
-  /* check numeric conversion */
-  switch(arg_type) {
-  case ARG_INT:
-    if (val && !(stop_char && *stop_char == '\0')) {
-      fprintf(stderr, "%s: invalid numeric value: %s\n", package_name, val);
-      return 1; /* failure */
-    }
-    break;
-  default:
-    ;
-  };
-
-  /* store the original value */
-  switch(arg_type) {
-  case ARG_NO:
-  case ARG_FLAG:
-    break;
-  default:
-    if (value && orig_field) {
-      if (no_free) {
-        *orig_field = value;
-      } else {
-        if (*orig_field)
-          free (*orig_field); /* free previous string */
-        *orig_field = gengetopt_strdup (value);
-      }
-    }
-  };
-
-  return 0; /* OK */
-}
-
-
-int
-cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
-                        struct cmdline_parser_params *params, const char *additional_error)
-{
-  int c;	/* Character of the parsed option.  */
-
-  int error = 0;
-  struct gengetopt_args_info local_args_info;
-  
-  int override;
-  int initialize;
-  int check_required;
-  int check_ambiguity;
-  
-  package_name = argv[0];
-  
-  override = params->override;
-  initialize = params->initialize;
-  check_required = params->check_required;
-  check_ambiguity = params->check_ambiguity;
-
-  if (initialize)
-    cmdline_parser_init (args_info);
-
-  cmdline_parser_init (&local_args_info);
-
-  optarg = 0;
-  optind = 0;
-  opterr = params->print_errors;
-  optopt = '?';
-
-  while (1)
-    {
-      int option_index = 0;
-
-      static struct option long_options[] = {
-        { "help",	0, NULL, 'h' },
-        { "version",	0, NULL, 'V' },
-        { "ndirectory",	1, NULL, 'n' },
-        { "directory",	1, NULL, 'd' },
-        { "gibbs",	1, NULL, 'g' },
-        { "zero",	0, NULL, 'z' },
-        { "zeros",	1, NULL, 'Z' },
-        { "genex",	1, NULL, 'G' },
-        { "subsample",	1, NULL, 's' },
-        { "memmap",	0, NULL, 'm' },
-        { "random",	1, NULL, 'r' },
-        { "verbosity",	1, NULL, 'v' },
-        { NULL,	0, NULL, 0 }
-      };
-
-      c = getopt_long (argc, argv, "hVn:d:g:zZ:G:s:mr:v:", long_options, &option_index);
-
-      if (c == -1) break;	/* Exit from `while (1)' loop.  */
-
-      switch (c)
-        {
-        case 'h':	/* Print help and exit.  */
-          cmdline_parser_print_help ();
-          cmdline_parser_free (&local_args_info);
-          exit (EXIT_SUCCESS);
-
-        case 'V':	/* Print version and exit.  */
-        
-        
-          if (update_arg( 0 , 
-               0 , &(args_info->version_given),
-              &(local_args_info.version_given), optarg, 0, 0, ARG_NO,
-              check_ambiguity, override, 0, 0,
-              "version", 'V',
-              additional_error))
-            goto failure;
-          cmdline_parser_free (&local_args_info);
-          return 0;
-        
-          break;
-        case 'n':	/* Input directory.  */
-        
-        
-          if (update_arg( (void *)&(args_info->ndirectory_arg), 
-               &(args_info->ndirectory_orig), &(args_info->ndirectory_given),
-              &(local_args_info.ndirectory_given), optarg, 0, ".", ARG_STRING,
-              check_ambiguity, override, 0, 0,
-              "ndirectory", 'n',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'd':	/* Output directory.  */
-        
-        
-          if (update_arg( (void *)&(args_info->directory_arg), 
-               &(args_info->directory_orig), &(args_info->directory_given),
-              &(local_args_info.directory_given), optarg, 0, ".", ARG_STRING,
-              check_ambiguity, override, 0, 0,
-              "directory", 'd',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'g':	/* Gibbs run.  */
-        
-        
-          if (update_arg( (void *)&(args_info->gibbs_arg), 
-               &(args_info->gibbs_orig), &(args_info->gibbs_given),
-              &(local_args_info.gibbs_given), optarg, 0, "100000", ARG_INT,
-              check_ambiguity, override, 0, 0,
-              "gibbs", 'g',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'z':	/* Zero missing values.  */
-        
-        
-          if (update_arg((void *)&(args_info->zero_flag), 0, &(args_info->zero_given),
-              &(local_args_info.zero_given), optarg, 0, 0, ARG_FLAG,
-              check_ambiguity, override, 1, 0, "zero", 'z',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'Z':	/* Read zeroed node IDs/outputs from the given file.  */
-        
-        
-          if (update_arg( (void *)&(args_info->zeros_arg), 
-               &(args_info->zeros_orig), &(args_info->zeros_given),
-              &(local_args_info.zeros_given), optarg, 0, 0, ARG_STRING,
-              check_ambiguity, override, 0, 0,
-              "zeros", 'Z',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'G':	/* Gene exclusion file.  */
-        
-        
-          if (update_arg( (void *)&(args_info->genex_arg), 
-               &(args_info->genex_orig), &(args_info->genex_given),
-              &(local_args_info.genex_given), optarg, 0, 0, ARG_STRING,
-              check_ambiguity, override, 0, 0,
-              "genex", 'G',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 's':	/* Maximum pairs to subsample.  */
-        
-        
-          if (update_arg( (void *)&(args_info->subsample_arg), 
-               &(args_info->subsample_orig), &(args_info->subsample_given),
-              &(local_args_info.subsample_given), optarg, 0, "100000", ARG_INT,
-              check_ambiguity, override, 0, 0,
-              "subsample", 's',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'm':	/* Memory map input/output.  */
-        
-        
-          if (update_arg((void *)&(args_info->memmap_flag), 0, &(args_info->memmap_given),
-              &(local_args_info.memmap_given), optarg, 0, 0, ARG_FLAG,
-              check_ambiguity, override, 1, 0, "memmap", 'm',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'r':	/* Seed random generator.  */
-        
-        
-          if (update_arg( (void *)&(args_info->random_arg), 
-               &(args_info->random_orig), &(args_info->random_given),
-              &(local_args_info.random_given), optarg, 0, "0", ARG_INT,
-              check_ambiguity, override, 0, 0,
-              "random", 'r',
-              additional_error))
-            goto failure;
-        
-          break;
-        case 'v':	/* Message verbosity.  */
-        
-        
-          if (update_arg( (void *)&(args_info->verbosity_arg), 
-               &(args_info->verbosity_orig), &(args_info->verbosity_given),
-              &(local_args_info.verbosity_given), optarg, 0, "5", ARG_INT,
-              check_ambiguity, override, 0, 0,
-              "verbosity", 'v',
-              additional_error))
-            goto failure;
-        
-          break;
-
-        case 0:	/* Long option with no short option */
-        case '?':	/* Invalid option.  */
-          /* `getopt_long' already printed an error message.  */
-          goto failure;
-
-        default:	/* bug: option not considered.  */
-          fprintf (stderr, "%s: option unknown: %c%s\n", CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error : ""));
-          abort ();
-        } /* switch */
-    } /* while */
-
-
-
-
-  cmdline_parser_release (&local_args_info);
-
-  if ( error )
-    return (EXIT_FAILURE);
-
-  if (optind < argc)
-    {
-      int i = 0 ;
-      int found_prog_name = 0;
-      /* whether program name, i.e., argv[0], is in the remaining args
-         (this may happen with some implementations of getopt,
-          but surely not with the one included by gengetopt) */
-
-      i = optind;
-      while (i < argc)
-        if (argv[i++] == argv[0]) {
-          found_prog_name = 1;
-          break;
-        }
-      i = 0;
-
-      args_info->inputs_num = argc - optind - found_prog_name;
-      args_info->inputs =
-        (char **)(malloc ((args_info->inputs_num)*sizeof(char *))) ;
-      while (optind < argc)
-        if (argv[optind++] != argv[0])
-          args_info->inputs[ i++ ] = gengetopt_strdup (argv[optind-1]) ;
-    }
-
-  return 0;
-
-failure:
-  
-  cmdline_parser_release (&local_args_info);
-  return (EXIT_FAILURE);
-}
+/*
+  File autogenerated by gengetopt version 2.22
+  generated with the following command:
+  ..\..\..\..\extlib\proj\vs2008\release\gengetopt.exe -u --default-optional -N -e --output-dir=c:\Users\Pinaki Sarder\Documents\Visual Studio 2008\Projects\sleipnir\trunk\tools\SpeciesConnector\ -i ..\..\..\tools\SpeciesConnector\SpeciesConnector.ggo 
+
+  The developers of gengetopt consider the fixed text that goes in all
+  gengetopt output files to be in the public domain:
+  we make no copyright claims on it.
+*/
+
+/* If we use autoconf.  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "getopt.h"
+
+#include "cmdline.h"
+
+const char *gengetopt_args_info_purpose = "Cross species connection calculator.";
+
+const char *gengetopt_args_info_usage = "Usage: SpeciesConnector [OPTIONS]... [FILES]...";
+
+const char *gengetopt_args_info_description = "";
+
+const char *gengetopt_args_info_help[] = {
+  "  -h, --help                  Print help and exit",
+  "  -V, --version               Print version and exit",
+  "\nMain:",
+  "  -n, --ndirectory=directory  Input directory  (default=`.')",
+  "  -d, --directory=directory   Output directory  (default=`.')",
+  "  -g, --gibbs=INT             Gibbs run  (default=`100000')",
+  "\nNetwork Features:",
+  "  -z, --zero                  Zero missing values  (default=off)",
+  "  -Z, --zeros=filename        Read zeroed node IDs/outputs from the given file",
+  "\nOptional:",
+  "  -G, --genex=filename        Gene exclusion file",
+  "  -s, --subsample=INT         Maximum pairs to subsample  (default=`100000')",
+  "  -m, --memmap                Memory map input/output  (default=off)",
+  "  -r, --random=INT            Seed random generator  (default=`0')",
+  "  -v, --verbosity=INT         Message verbosity  (default=`5')",
+    0
+};
+
+typedef enum {ARG_NO
+  , ARG_FLAG
+  , ARG_STRING
+  , ARG_INT
+} cmdline_parser_arg_type;
+
+static
+void clear_given (struct gengetopt_args_info *args_info);
+static
+void clear_args (struct gengetopt_args_info *args_info);
+
+static int
+cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
+                        struct cmdline_parser_params *params, const char *additional_error);
+
+
+static char *
+gengetopt_strdup (const char *s);
+
+static
+void clear_given (struct gengetopt_args_info *args_info)
+{
+  args_info->help_given = 0 ;
+  args_info->version_given = 0 ;
+  args_info->ndirectory_given = 0 ;
+  args_info->directory_given = 0 ;
+  args_info->gibbs_given = 0 ;
+  args_info->zero_given = 0 ;
+  args_info->zeros_given = 0 ;
+  args_info->genex_given = 0 ;
+  args_info->subsample_given = 0 ;
+  args_info->memmap_given = 0 ;
+  args_info->random_given = 0 ;
+  args_info->verbosity_given = 0 ;
+}
+
+static
+void clear_args (struct gengetopt_args_info *args_info)
+{
+  args_info->ndirectory_arg = gengetopt_strdup (".");
+  args_info->ndirectory_orig = NULL;
+  args_info->directory_arg = gengetopt_strdup (".");
+  args_info->directory_orig = NULL;
+  args_info->gibbs_arg = 100000;
+  args_info->gibbs_orig = NULL;
+  args_info->zero_flag = 0;
+  args_info->zeros_arg = NULL;
+  args_info->zeros_orig = NULL;
+  args_info->genex_arg = NULL;
+  args_info->genex_orig = NULL;
+  args_info->subsample_arg = 100000;
+  args_info->subsample_orig = NULL;
+  args_info->memmap_flag = 0;
+  args_info->random_arg = 0;
+  args_info->random_orig = NULL;
+  args_info->verbosity_arg = 5;
+  args_info->verbosity_orig = NULL;
+  
+}
+
+static
+void init_args_info(struct gengetopt_args_info *args_info)
+{
+
+
+  args_info->help_help = gengetopt_args_info_help[0] ;
+  args_info->version_help = gengetopt_args_info_help[1] ;
+  args_info->ndirectory_help = gengetopt_args_info_help[3] ;
+  args_info->directory_help = gengetopt_args_info_help[4] ;
+  args_info->gibbs_help = gengetopt_args_info_help[5] ;
+  args_info->zero_help = gengetopt_args_info_help[7] ;
+  args_info->zeros_help = gengetopt_args_info_help[8] ;
+  args_info->genex_help = gengetopt_args_info_help[10] ;
+  args_info->subsample_help = gengetopt_args_info_help[11] ;
+  args_info->memmap_help = gengetopt_args_info_help[12] ;
+  args_info->random_help = gengetopt_args_info_help[13] ;
+  args_info->verbosity_help = gengetopt_args_info_help[14] ;
+  
+}
+
+void
+cmdline_parser_print_version (void)
+{
+  printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION);
+}
+
+static void print_help_common(void) {
+  cmdline_parser_print_version ();
+
+  if (strlen(gengetopt_args_info_purpose) > 0)
+    printf("\n%s\n", gengetopt_args_info_purpose);
+
+  if (strlen(gengetopt_args_info_usage) > 0)
+    printf("\n%s\n", gengetopt_args_info_usage);
+
+  printf("\n");
+
+  if (strlen(gengetopt_args_info_description) > 0)
+    printf("%s\n", gengetopt_args_info_description);
+}
+
+void
+cmdline_parser_print_help (void)
+{
+  int i = 0;
+  print_help_common();
+  while (gengetopt_args_info_help[i])
+    printf("%s\n", gengetopt_args_info_help[i++]);
+}
+
+void
+cmdline_parser_init (struct gengetopt_args_info *args_info)
+{
+  clear_given (args_info);
+  clear_args (args_info);
+  init_args_info (args_info);
+
+  args_info->inputs = NULL;
+  args_info->inputs_num = 0;
+}
+
+void
+cmdline_parser_params_init(struct cmdline_parser_params *params)
+{
+  if (params)
+    { 
+      params->override = 0;
+      params->initialize = 1;
+      params->check_required = 1;
+      params->check_ambiguity = 0;
+      params->print_errors = 1;
+    }
+}
+
+struct cmdline_parser_params *
+cmdline_parser_params_create(void)
+{
+  struct cmdline_parser_params *params = 
+    (struct cmdline_parser_params *)malloc(sizeof(struct cmdline_parser_params));
+  cmdline_parser_params_init(params);  
+  return params;
+}
+
+static void
+free_string_field (char **s)
+{
+  if (*s)
+    {
+      free (*s);
+      *s = 0;
+    }
+}
+
+
+static void
+cmdline_parser_release (struct gengetopt_args_info *args_info)
+{
+  unsigned int i;
+  free_string_field (&(args_info->ndirectory_arg));
+  free_string_field (&(args_info->ndirectory_orig));
+  free_string_field (&(args_info->directory_arg));
+  free_string_field (&(args_info->directory_orig));
+  free_string_field (&(args_info->gibbs_orig));
+  free_string_field (&(args_info->zeros_arg));
+  free_string_field (&(args_info->zeros_orig));
+  free_string_field (&(args_info->genex_arg));
+  free_string_field (&(args_info->genex_orig));
+  free_string_field (&(args_info->subsample_orig));
+  free_string_field (&(args_info->random_orig));
+  free_string_field (&(args_info->verbosity_orig));
+  
+  
+  for (i = 0; i < args_info->inputs_num; ++i)
+    free (args_info->inputs [i]);
+
+  if (args_info->inputs_num)
+    free (args_info->inputs);
+
+  clear_given (args_info);
+}
+
+
+static void
+write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[])
+{
+  if (arg) {
+    fprintf(outfile, "%s=\"%s\"\n", opt, arg);
+  } else {
+    fprintf(outfile, "%s\n", opt);
+  }
+}
+
+
+int
+cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
+{
+  int i = 0;
+
+  if (!outfile)
+    {
+      fprintf (stderr, "%s: cannot dump options to stream\n", CMDLINE_PARSER_PACKAGE);
+      return EXIT_FAILURE;
+    }
+
+  if (args_info->help_given)
+    write_into_file(outfile, "help", 0, 0 );
+  if (args_info->version_given)
+    write_into_file(outfile, "version", 0, 0 );
+  if (args_info->ndirectory_given)
+    write_into_file(outfile, "ndirectory", args_info->ndirectory_orig, 0);
+  if (args_info->directory_given)
+    write_into_file(outfile, "directory", args_info->directory_orig, 0);
+  if (args_info->gibbs_given)
+    write_into_file(outfile, "gibbs", args_info->gibbs_orig, 0);
+  if (args_info->zero_given)
+    write_into_file(outfile, "zero", 0, 0 );
+  if (args_info->zeros_given)
+    write_into_file(outfile, "zeros", args_info->zeros_orig, 0);
+  if (args_info->genex_given)
+    write_into_file(outfile, "genex", args_info->genex_orig, 0);
+  if (args_info->subsample_given)
+    write_into_file(outfile, "subsample", args_info->subsample_orig, 0);
+  if (args_info->memmap_given)
+    write_into_file(outfile, "memmap", 0, 0 );
+  if (args_info->random_given)
+    write_into_file(outfile, "random", args_info->random_orig, 0);
+  if (args_info->verbosity_given)
+    write_into_file(outfile, "verbosity", args_info->verbosity_orig, 0);
+  
+
+  i = EXIT_SUCCESS;
+  return i;
+}
+
+int
+cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
+{
+  FILE *outfile;
+  int i = 0;
+
+  outfile = fopen(filename, "w");
+
+  if (!outfile)
+    {
+      fprintf (stderr, "%s: cannot open file for writing: %s\n", CMDLINE_PARSER_PACKAGE, filename);
+      return EXIT_FAILURE;
+    }
+
+  i = cmdline_parser_dump(outfile, args_info);
+  fclose (outfile);
+
+  return i;
+}
+
+void
+cmdline_parser_free (struct gengetopt_args_info *args_info)
+{
+  cmdline_parser_release (args_info);
+}
+
+/** @brief replacement of strdup, which is not standard */
+char *
+gengetopt_strdup (const char *s)
+{
+  char *result = NULL;
+  if (!s)
+    return result;
+
+  result = (char*)malloc(strlen(s) + 1);
+  if (result == (char*)0)
+    return (char*)0;
+  strcpy(result, s);
+  return result;
+}
+
+int
+cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info)
+{
+  return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
+}
+
+int
+cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info,
+                   struct cmdline_parser_params *params)
+{
+  int result;
+  result = cmdline_parser_internal (argc, argv, args_info, params, NULL);
+
+  return result;
+}
+
+int
+cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
+{
+  int result;
+  struct cmdline_parser_params params;
+  
+  params.override = override;
+  params.initialize = initialize;
+  params.check_required = check_required;
+  params.check_ambiguity = 0;
+  params.print_errors = 1;
+
+  result = cmdline_parser_internal (argc, argv, args_info, &params, NULL);
+
+  return result;
+}
+
+int
+cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name)
+{
+  return EXIT_SUCCESS;
+}
+
+
+static char *package_name = 0;
+
+/**
+ * @brief updates an option
+ * @param field the generic pointer to the field to update
+ * @param orig_field the pointer to the orig field
+ * @param field_given the pointer to the number of occurrence of this option
+ * @param prev_given the pointer to the number of occurrence already seen
+ * @param value the argument for this option (if null no arg was specified)
+ * @param possible_values the possible values for this option (if specified)
+ * @param default_value the default value (in case the option only accepts fixed values)
+ * @param arg_type the type of this option
+ * @param check_ambiguity @see cmdline_parser_params.check_ambiguity
+ * @param override @see cmdline_parser_params.override
+ * @param no_free whether to free a possible previous value
+ * @param multiple_option whether this is a multiple option
+ * @param long_opt the corresponding long option
+ * @param short_opt the corresponding short option (or '-' if none)
+ * @param additional_error possible further error specification
+ */
+static
+int update_arg(void *field, char **orig_field,
+               unsigned int *field_given, unsigned int *prev_given, 
+               char *value, char *possible_values[], const char *default_value,
+               cmdline_parser_arg_type arg_type,
+               int check_ambiguity, int override,
+               int no_free, int multiple_option,
+               const char *long_opt, char short_opt,
+               const char *additional_error)
+{
+  char *stop_char = 0;
+  const char *val = value;
+  int found;
+  char **string_field;
+
+  stop_char = 0;
+  found = 0;
+
+  if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given)))
+    {
+      if (short_opt != '-')
+        fprintf (stderr, "%s: `--%s' (`-%c') option given more than once%s\n", 
+               package_name, long_opt, short_opt,
+               (additional_error ? additional_error : ""));
+      else
+        fprintf (stderr, "%s: `--%s' option given more than once%s\n", 
+               package_name, long_opt,
+               (additional_error ? additional_error : ""));
+      return 1; /* failure */
+    }
+
+    
+  if (field_given && *field_given && ! override)
+    return 0;
+  if (prev_given)
+    (*prev_given)++;
+  if (field_given)
+    (*field_given)++;
+  if (possible_values)
+    val = possible_values[found];
+
+  switch(arg_type) {
+  case ARG_FLAG:
+    *((int *)field) = !*((int *)field);
+    break;
+  case ARG_INT:
+    if (val) *((int *)field) = strtol (val, &stop_char, 0);
+    break;
+  case ARG_STRING:
+    if (val) {
+      string_field = (char **)field;
+      if (!no_free && *string_field)
+        free (*string_field); /* free previous string */
+      *string_field = gengetopt_strdup (val);
+    }
+    break;
+  default:
+    break;
+  };
+
+  /* check numeric conversion */
+  switch(arg_type) {
+  case ARG_INT:
+    if (val && !(stop_char && *stop_char == '\0')) {
+      fprintf(stderr, "%s: invalid numeric value: %s\n", package_name, val);
+      return 1; /* failure */
+    }
+    break;
+  default:
+    ;
+  };
+
+  /* store the original value */
+  switch(arg_type) {
+  case ARG_NO:
+  case ARG_FLAG:
+    break;
+  default:
+    if (value && orig_field) {
+      if (no_free) {
+        *orig_field = value;
+      } else {
+        if (*orig_field)
+          free (*orig_field); /* free previous string */
+        *orig_field = gengetopt_strdup (value);
+      }
+    }
+  };
+
+  return 0; /* OK */
+}
+
+
+int
+cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
+                        struct cmdline_parser_params *params, const char *additional_error)
+{
+  int c;	/* Character of the parsed option.  */
+
+  int error = 0;
+  struct gengetopt_args_info local_args_info;
+  
+  int override;
+  int initialize;
+  int check_required;
+  int check_ambiguity;
+  
+  package_name = argv[0];
+  
+  override = params->override;
+  initialize = params->initialize;
+  check_required = params->check_required;
+  check_ambiguity = params->check_ambiguity;
+
+  if (initialize)
+    cmdline_parser_init (args_info);
+
+  cmdline_parser_init (&local_args_info);
+
+  optarg = 0;
+  optind = 0;
+  opterr = params->print_errors;
+  optopt = '?';
+
+  while (1)
+    {
+      int option_index = 0;
+
+      static struct option long_options[] = {
+        { "help",	0, NULL, 'h' },
+        { "version",	0, NULL, 'V' },
+        { "ndirectory",	1, NULL, 'n' },
+        { "directory",	1, NULL, 'd' },
+        { "gibbs",	1, NULL, 'g' },
+        { "zero",	0, NULL, 'z' },
+        { "zeros",	1, NULL, 'Z' },
+        { "genex",	1, NULL, 'G' },
+        { "subsample",	1, NULL, 's' },
+        { "memmap",	0, NULL, 'm' },
+        { "random",	1, NULL, 'r' },
+        { "verbosity",	1, NULL, 'v' },
+        { NULL,	0, NULL, 0 }
+      };
+
+      c = getopt_long (argc, argv, "hVn:d:g:zZ:G:s:mr:v:", long_options, &option_index);
+
+      if (c == -1) break;	/* Exit from `while (1)' loop.  */
+
+      switch (c)
+        {
+        case 'h':	/* Print help and exit.  */
+          cmdline_parser_print_help ();
+          cmdline_parser_free (&local_args_info);
+          exit (EXIT_SUCCESS);
+
+        case 'V':	/* Print version and exit.  */
+        
+        
+          if (update_arg( 0 , 
+               0 , &(args_info->version_given),
+              &(local_args_info.version_given), optarg, 0, 0, ARG_NO,
+              check_ambiguity, override, 0, 0,
+              "version", 'V',
+              additional_error))
+            goto failure;
+          cmdline_parser_free (&local_args_info);
+          return 0;
+        
+          break;
+        case 'n':	/* Input directory.  */
+        
+        
+          if (update_arg( (void *)&(args_info->ndirectory_arg), 
+               &(args_info->ndirectory_orig), &(args_info->ndirectory_given),
+              &(local_args_info.ndirectory_given), optarg, 0, ".", ARG_STRING,
+              check_ambiguity, override, 0, 0,
+              "ndirectory", 'n',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'd':	/* Output directory.  */
+        
+        
+          if (update_arg( (void *)&(args_info->directory_arg), 
+               &(args_info->directory_orig), &(args_info->directory_given),
+              &(local_args_info.directory_given), optarg, 0, ".", ARG_STRING,
+              check_ambiguity, override, 0, 0,
+              "directory", 'd',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'g':	/* Gibbs run.  */
+        
+        
+          if (update_arg( (void *)&(args_info->gibbs_arg), 
+               &(args_info->gibbs_orig), &(args_info->gibbs_given),
+              &(local_args_info.gibbs_given), optarg, 0, "100000", ARG_INT,
+              check_ambiguity, override, 0, 0,
+              "gibbs", 'g',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'z':	/* Zero missing values.  */
+        
+        
+          if (update_arg((void *)&(args_info->zero_flag), 0, &(args_info->zero_given),
+              &(local_args_info.zero_given), optarg, 0, 0, ARG_FLAG,
+              check_ambiguity, override, 1, 0, "zero", 'z',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'Z':	/* Read zeroed node IDs/outputs from the given file.  */
+        
+        
+          if (update_arg( (void *)&(args_info->zeros_arg), 
+               &(args_info->zeros_orig), &(args_info->zeros_given),
+              &(local_args_info.zeros_given), optarg, 0, 0, ARG_STRING,
+              check_ambiguity, override, 0, 0,
+              "zeros", 'Z',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'G':	/* Gene exclusion file.  */
+        
+        
+          if (update_arg( (void *)&(args_info->genex_arg), 
+               &(args_info->genex_orig), &(args_info->genex_given),
+              &(local_args_info.genex_given), optarg, 0, 0, ARG_STRING,
+              check_ambiguity, override, 0, 0,
+              "genex", 'G',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 's':	/* Maximum pairs to subsample.  */
+        
+        
+          if (update_arg( (void *)&(args_info->subsample_arg), 
+               &(args_info->subsample_orig), &(args_info->subsample_given),
+              &(local_args_info.subsample_given), optarg, 0, "100000", ARG_INT,
+              check_ambiguity, override, 0, 0,
+              "subsample", 's',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'm':	/* Memory map input/output.  */
+        
+        
+          if (update_arg((void *)&(args_info->memmap_flag), 0, &(args_info->memmap_given),
+              &(local_args_info.memmap_given), optarg, 0, 0, ARG_FLAG,
+              check_ambiguity, override, 1, 0, "memmap", 'm',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'r':	/* Seed random generator.  */
+        
+        
+          if (update_arg( (void *)&(args_info->random_arg), 
+               &(args_info->random_orig), &(args_info->random_given),
+              &(local_args_info.random_given), optarg, 0, "0", ARG_INT,
+              check_ambiguity, override, 0, 0,
+              "random", 'r',
+              additional_error))
+            goto failure;
+        
+          break;
+        case 'v':	/* Message verbosity.  */
+        
+        
+          if (update_arg( (void *)&(args_info->verbosity_arg), 
+               &(args_info->verbosity_orig), &(args_info->verbosity_given),
+              &(local_args_info.verbosity_given), optarg, 0, "5", ARG_INT,
+              check_ambiguity, override, 0, 0,
+              "verbosity", 'v',
+              additional_error))
+            goto failure;
+        
+          break;
+
+        case 0:	/* Long option with no short option */
+        case '?':	/* Invalid option.  */
+          /* `getopt_long' already printed an error message.  */
+          goto failure;
+
+        default:	/* bug: option not considered.  */
+          fprintf (stderr, "%s: option unknown: %c%s\n", CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error : ""));
+          abort ();
+        } /* switch */
+    } /* while */
+
+
+
+
+  cmdline_parser_release (&local_args_info);
+
+  if ( error )
+    return (EXIT_FAILURE);
+
+  if (optind < argc)
+    {
+      int i = 0 ;
+      int found_prog_name = 0;
+      /* whether program name, i.e., argv[0], is in the remaining args
+         (this may happen with some implementations of getopt,
+          but surely not with the one included by gengetopt) */
+
+      i = optind;
+      while (i < argc)
+        if (argv[i++] == argv[0]) {
+          found_prog_name = 1;
+          break;
+        }
+      i = 0;
+
+      args_info->inputs_num = argc - optind - found_prog_name;
+      args_info->inputs =
+        (char **)(malloc ((args_info->inputs_num)*sizeof(char *))) ;
+      while (optind < argc)
+        if (argv[optind++] != argv[0])
+          args_info->inputs[ i++ ] = gengetopt_strdup (argv[optind-1]) ;
+    }
+
+  return 0;
+
+failure:
+  
+  cmdline_parser_release (&local_args_info);
+  return (EXIT_FAILURE);
+}

tools/SpeciesConnector/cmdline.h

-/** @file cmdline.h
- *  @brief The header file for the command line option parser
- *  generated by GNU Gengetopt version 2.22
- *  http://www.gnu.org/software/gengetopt.
- *  DO NOT modify this file, since it can be overwritten
- *  @author GNU Gengetopt by Lorenzo Bettini */
-
-#ifndef CMDLINE_H
-#define CMDLINE_H
-
-/* If we use autoconf.  */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h> /* for FILE */
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#ifndef CMDLINE_PARSER_PACKAGE
-/** @brief the program name */
-#define CMDLINE_PARSER_PACKAGE "SpeciesConnector"
-#endif
-
-#ifndef CMDLINE_PARSER_VERSION
-/** @brief the program version */
-#define CMDLINE_PARSER_VERSION "1.0"
-#endif
-
-/** @brief Where the command line options are stored */
-struct gengetopt_args_info
-{
-  const char *help_help; /**< @brief Print help and exit help description.  */
-  const char *version_help; /**< @brief Print version and exit help description.  */
-  char * ndirectory_arg;	/**< @brief Input directory (default='.').  */
-  char * ndirectory_orig;	/**< @brief Input directory original value given at command line.  */
-  const char *ndirectory_help; /**< @brief Input directory help description.  */
-  char * directory_arg;	/**< @brief Output directory (default='.').  */
-  char * directory_orig;	/**< @brief Output directory original value given at command line.  */
-  const char *directory_help; /**< @brief Output directory help description.  */
-  int gibbs_arg;	/**< @brief Gibbs run (default='100000').  */
-  char * gibbs_orig;	/**< @brief Gibbs run original value given at command line.  */
-  const char *gibbs_help; /**< @brief Gibbs run help description.  */
-  int zero_flag;	/**< @brief Zero missing values (default=off).  */
-  const char *zero_help; /**< @brief Zero missing values help description.  */
-  char * zeros_arg;	/**< @brief Read zeroed node IDs/outputs from the given file.  */
-  char * zeros_orig;	/**< @brief Read zeroed node IDs/outputs from the given file original value given at command line.  */
-  const char *zeros_help; /**< @brief Read zeroed node IDs/outputs from the given file help description.  */
-  char * genex_arg;	/**< @brief Gene exclusion file.  */
-  char * genex_orig;	/**< @brief Gene exclusion file original value given at command line.  */
-  const char *genex_help; /**< @brief Gene exclusion file help description.  */
-  int subsample_arg;	/**< @brief Maximum pairs to subsample (default='100000').  */
-  char * subsample_orig;	/**< @brief Maximum pairs to subsample original value given at command line.  */
-  const char *subsample_help; /**< @brief Maximum pairs to subsample help description.  */
-  int memmap_flag;	/**< @brief Memory map input/output (default=off).  */
-  const char *memmap_help; /**< @brief Memory map input/output help description.  */
-  int random_arg;	/**< @brief Seed random generator (default='0').  */
-  char * random_orig;	/**< @brief Seed random generator original value given at command line.  */
-  const char *random_help; /**< @brief Seed random generator help description.  */
-  int verbosity_arg;	/**< @brief Message verbosity (default='5').  */
-  char * verbosity_orig;	/**< @brief Message verbosity original value given at command line.  */
-  const char *verbosity_help; /**< @brief Message verbosity help description.  */
-  
-  unsigned int help_given ;	/**< @brief Whether help was given.  */
-  unsigned int version_given ;	/**< @brief Whether version was given.  */
-  unsigned int ndirectory_given ;	/**< @brief Whether ndirectory was given.  */
-  unsigned int directory_given ;	/**< @brief Whether directory was given.  */
-  unsigned int gibbs_given ;	/**< @brief Whether gibbs was given.  */
-  unsigned int zero_given ;	/**< @brief Whether zero was given.  */
-  unsigned int zeros_given ;	/**< @brief Whether zeros was given.  */
-  unsigned int genex_given ;	/**< @brief Whether genex was given.  */
-  unsigned int subsample_given ;	/**< @brief Whether subsample was given.  */
-  unsigned int memmap_given ;	/**< @brief Whether memmap was given.  */
-  unsigned int random_given ;	/**< @brief Whether random was given.  */
-  unsigned int verbosity_given ;	/**< @brief Whether verbosity was given.  */
-
-  char **inputs ; /**< @brief unamed options (options without names) */
-  unsigned inputs_num ; /**< @brief unamed options number */
-} ;
-
-/** @brief The additional parameters to pass to parser functions */
-struct cmdline_parser_params
-{
-  int override; /**< @brief whether to override possibly already present options (default 0) */
-  int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */
-  int check_required; /**< @brief whether to check that all required options were provided (default 1) */
-  int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */
-  int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
-} ;
-
-/** @brief the purpose string of the program */
-extern const char *gengetopt_args_info_purpose;
-/** @brief the usage string of the program */
-extern const char *gengetopt_args_info_usage;
-/** @brief all the lines making the help output */
-extern const char *gengetopt_args_info_help[];
-
-/**
- * The command line parser
- * @param argc the number of command line options
- * @param argv the command line options
- * @param args_info the structure where option information will be stored
- * @return 0 if everything went fine, NON 0 if an error took place
- */
-int cmdline_parser (int argc, char * const *argv,
-  struct gengetopt_args_info *args_info);
-
-/**
- * The command line parser (version with additional parameters - deprecated)
- * @param argc the number of command line options
- * @param argv the command line options
- * @param args_info the structure where option information will be stored
- * @param override whether to override possibly already present options
- * @param initialize whether to initialize the option structure my_args_info
- * @param check_required whether to check that all required options were provided
- * @return 0 if everything went fine, NON 0 if an error took place
- * @deprecated use cmdline_parser_ext() instead
- */
-int cmdline_parser2 (int argc, char * const *argv,
-  struct gengetopt_args_info *args_info,
-  int override, int initialize, int check_required);
-
-/**
- * The command line parser (version with additional parameters)
- * @param argc the number of command line options
- * @param argv the command line options
- * @param args_info the structure where option information will be stored
- * @param params additional parameters for the parser
- * @return 0 if everything went fine, NON 0 if an error took place
- */
-int cmdline_parser_ext (int argc, char * const *argv,
-  struct gengetopt_args_info *args_info,
-  struct cmdline_parser_params *params);
-
-/**
- * Save the contents of the option struct into an already open FILE stream.
- * @param outfile the stream where to dump options
- * @param args_info the option struct to dump
- * @return 0 if everything went fine, NON 0 if an error took place
- */
-int cmdline_parser_dump(FILE *outfile,
-  struct gengetopt_args_info *args_info);
-
-/**
- * Save the contents of the option struct into a (text) file.
- * This file can be read by the config file parser (if generated by gengetopt)
- * @param filename the file where to save
- * @param args_info the option struct to save
- * @return 0 if everything went fine, NON 0 if an error took place
- */
-int cmdline_parser_file_save(const char *filename,
-  struct gengetopt_args_info *args_info);
-
-/**
- * Print the help
- */
-void cmdline_parser_print_help(void);
-/**
- * Print the version
- */
-void cmdline_parser_print_version(void);
-
-/**
- * Initializes all the fields a cmdline_parser_params structure 
- * to their default values
- * @param params the structure to initialize
- */
-void cmdline_parser_params_init(struct cmdline_parser_params *params);
-
-/**
- * Allocates dynamically a cmdline_parser_params structure and initializes
- * all its fields to their default values
- * @return the created and initialized cmdline_parser_params structure
- */
-struct cmdline_parser_params *cmdline_parser_params_create(void);
-
-/**
- * Initializes the passed gengetopt_args_info structure's fields
- * (also set default values for options that have a default)
- * @param args_info the structure to initialize
- */
-void cmdline_parser_init (struct gengetopt_args_info *args_info);
-/**
- * Deallocates the string fields of the gengetopt_args_info structure
- * (but does not deallocate the structure itself)
- * @param args_info the structure to deallocate
- */
-void cmdline_parser_free (struct gengetopt_args_info *args_info);
-
-/**
- * Checks that all the required options were specified
- * @param args_info the structure to check
- * @param prog_name the name of the program that will be used to print
- *   possible errors
- * @return
- */
-int cmdline_parser_required (struct gengetopt_args_info *args_info,
-  const char *prog_name);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif /* CMDLINE_H */
+/** @file cmdline.h
+ *  @brief The header file for the command line option parser
+ *  generated by GNU Gengetopt version 2.22
+ *  http://www.gnu.org/software/gengetopt.
+ *  DO NOT modify this file, since it can be overwritten
+ *  @author GNU Gengetopt by Lorenzo Bettini */
+
+#ifndef CMDLINE_H
+#define CMDLINE_H
+
+/* If we use autoconf.  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h> /* for FILE */
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#ifndef CMDLINE_PARSER_PACKAGE
+/** @brief the program name */
+#define CMDLINE_PARSER_PACKAGE "SpeciesConnector"
+#endif
+
+#ifndef CMDLINE_PARSER_VERSION
+/** @brief the program version */
+#define CMDLINE_PARSER_VERSION "1.0"
+#endif
+
+/** @brief Where the command line options are stored */
+struct gengetopt_args_info
+{
+  const char *help_help; /**< @brief Print help and exit help description.  */
+  const char *version_help; /**< @brief Print version and exit help description.  */
+  char * ndirectory_arg;	/**< @brief Input directory (default='.').  */
+  char * ndirectory_orig;	/**< @brief Input directory original value given at command line.  */
+  const char *ndirectory_help; /**< @brief Input directory help description.  */
+  char * directory_arg;	/**< @brief Output directory (default='.').  */
+  char * directory_orig;	/**< @brief Output directory original value given at command line.  */
+  const char *directory_help; /**< @brief Output directory help description.  */
+  int gibbs_arg;	/**< @brief Gibbs run (default='100000').  */
+  char * gibbs_orig;	/**< @brief Gibbs run original value given at command line.  */
+  const char *gibbs_help; /**< @brief Gibbs run help description.  */
+  int zero_flag;	/**< @brief Zero missing values (default=off).  */
+  const char *zero_help; /**< @brief Zero missing values help description.  */
+  char * zeros_arg;	/**< @brief Read zeroed node IDs/outputs from the given file.  */
+  char * zeros_orig;	/**< @brief Read zeroed node IDs/outputs from the given file original value given at command line.  */
+  const char *zeros_help; /**< @brief Read zeroed node IDs/outputs from the given file help description.  */
+  char * genex_arg;	/**< @brief Gene exclusion file.  */
+  char * genex_orig;	/**< @brief Gene exclusion file original value given at command line.  */
+  const char *genex_help; /**< @brief Gene exclusion file help description.  */
+  int subsample_arg;	/**< @brief Maximum pairs to subsample (default='100000').  */
+  char * subsample_orig;	/**< @brief Maximum pairs to subsample original value given at command line.  */
+  const char *subsample_help; /**< @brief Maximum pairs to subsample help description.  */
+  int memmap_flag;	/**< @brief Memory map input/output (default=off).  */
+  const char *memmap_help; /**< @brief Memory map input/output help description.  */
+  int random_arg;	/**< @brief Seed random generator (default='0').  */
+  char * random_orig;	/**< @brief Seed random generator original value given at command line.  */
+  const char *random_help; /**< @brief Seed random generator help description.  */
+  int verbosity_arg;	/**< @brief Message verbosity (default='5').  */
+  char * verbosity_orig;	/**< @brief Message verbosity original value given at command line.  */
+  const char *verbosity_help; /**< @brief Message verbosity help description.  */
+  
+  unsigned int help_given ;	/**< @brief Whether help was given.  */
+  unsigned int version_given ;	/**< @brief Whether version was given.  */
+  unsigned int ndirectory_given ;	/**< @brief Whether ndirectory was given.  */
+  unsigned int directory_given ;	/**< @brief Whether directory was given.  */
+  unsigned int gibbs_given ;	/**< @brief Whether gibbs was given.  */
+  unsigned int zero_given ;	/**< @brief Whether zero was given.  */
+  unsigned int zeros_given ;	/**< @brief Whether zeros was given.  */
+  unsigned int genex_given ;	/**< @brief Whether genex was given.  */
+  unsigned int subsample_given ;	/**< @brief Whether subsample was given.  */
+  unsigned int memmap_given ;	/**< @brief Whether memmap was given.  */
+  unsigned int random_given ;	/**< @brief Whether random was given.  */
+  unsigned int verbosity_given ;	/**< @brief Whether verbosity was given.  */
+
+  char **inputs ; /**< @brief unamed options (options without names) */
+  unsigned inputs_num ; /**< @brief unamed options number */
+} ;
+
+/** @brief The additional parameters to pass to parser functions */
+struct cmdline_parser_params
+{
+  int override; /**< @brief whether to override possibly already present options (default 0) */
+  int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */
+  int check_required; /**< @brief whether to check that all required options were provided (default 1) */
+  int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */
+  int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
+} ;
+
+/** @brief the purpose string of the program */
+extern const char *gengetopt_args_info_purpose;
+/** @brief the usage string of the program */
+extern const char *gengetopt_args_info_usage;
+/** @brief all the lines making the help output */
+extern const char *gengetopt_args_info_help[];
+
+/**
+ * The command line parser
+ * @param argc the number of command line options
+ * @param argv the command line options
+ * @param args_info the structure where option information will be stored
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+int cmdline_parser (int argc, char * const *argv,
+  struct gengetopt_args_info *args_info);
+
+/**
+ * The command line parser (version with additional parameters - deprecated)
+ * @param argc the number of command line options
+ * @param argv the command line options
+ * @param args_info the structure where option information will be stored
+ * @param override whether to override possibly already present options
+ * @param initialize whether to initialize the option structure my_args_info
+ * @param check_required whether to check that all required options were provided
+ * @return 0 if everything went fine, NON 0 if an error took place
+ * @deprecated use cmdline_parser_ext() instead
+ */
+int cmdline_parser2 (int argc, char * const *argv,
+  struct gengetopt_args_info *args_info,
+  int override, int initialize, int check_required);
+
+/**
+ * The command line parser (version with additional parameters)
+ * @param argc the number of command line options
+ * @param argv the command line options
+ * @param args_info the structure where option information will be stored
+ * @param params additional parameters for the parser
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+int cmdline_parser_ext (int argc, char * const *argv,
+  struct gengetopt_args_info *args_info,
+  struct cmdline_parser_params *params);
+
+/**
+ * Save the contents of the option struct into an already open FILE stream.
+ * @param outfile the stream where to dump options
+ * @param args_info the option struct to dump
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+int cmdline_parser_dump(FILE *outfile,
+  struct gengetopt_args_info *args_info);
+
+/**
+ * Save the contents of the option struct into a (text) file.
+ * This file can be read by the config file parser (if generated by gengetopt)
+ * @param filename the file where to save
+ * @param args_info the option struct to save
+ * @return 0 if everything went fine, NON 0 if an error took place
+ */
+int cmdline_parser_file_save(const char *filename,
+  struct gengetopt_args_info *args_info);
+
+/**
+ * Print the help
+ */
+void cmdline_parser_print_help(void);
+/**
+ * Print the version
+ */
+void cmdline_parser_print_version(void);
+
+/**
+ * Initializes all the fields a cmdline_parser_params structure 
+ * to their default values
+ * @param params the structure to initialize
+ */
+void cmdline_parser_params_init(struct cmdline_parser_params *params);
+
+/**
+ * Allocates dynamically a cmdline_parser_params structure and initializes
+ * all its fields to their default values
+ * @return the created and initialized cmdline_parser_params structure
+ */
+struct cmdline_parser_params *cmdline_parser_params_create(void);
+
+/**
+ * Initializes the passed gengetopt_args_info structure's fields
+ * (also set default values for options that have a default)
+ * @param args_info the structure to initialize
+ */
+void cmdline_parser_init (struct gengetopt_args_info *args_info);
+/**
+ * Deallocates the string fields of the gengetopt_args_info structure
+ * (but does not deallocate the structure itself)
+ * @param args_info the structure to deallocate
+ */
+void cmdline_parser_free (struct gengetopt_args_info *args_info);
+
+/**
+ * Checks that all the required options were specified
+ * @param args_info the structure to check
+ * @param prog_name the name of the program that will be used to print
+ *   possible errors
+ * @return
+ */
+int cmdline_parser_required (struct gengetopt_args_info *args_info,
+  const char *prog_name);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+#endif /* CMDLINE_H */

tools/SpeciesConnector/stdafx.h

 #ifndef STDAFX_H
 #define STDAFX_H
 
+#ifdef _MSC_VER
 #include <direct.h>
+#else
+#include<sys/stat.h>
+
+inline int _mkdir(char *str) {
+	return mkdir( str, S_IRWXU );}
+#endif
+
 #include <fstream>
-//#include <cstring>
-//#include <cctype>
 using namespace std;
 
 #include <pthread.h>
 #include "dataset.h"
 #include "genome.h"
 #include "meta.h"
-//#include "string.h"
 using namespace Sleipnir;
 
-#ifndef _MSC_VER
-#include <dirent.h>
-
-#define _unlink	unlink
-#endif // _MSC_VER
-
 #endif // STDAFX_H
Tip: Filter by directory path e.g. /media app.js to search