From 7d2db00b223e53a85e55d1660595d3b98f8bdb09 Mon Sep 17 00:00:00 2001 From: Veronique Legrand <vlegrand@pasteur.fr> Date: Thu, 28 Jul 2016 17:36:27 +0200 Subject: [PATCH] fixed compilation issues under linux gcc4.7.4 --- src/Filter.hpp | 3 +++ src/ROCKparams.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++ src/ROCKparams.h | 59 ++-------------------------------------------- 3 files changed, 62 insertions(+), 57 deletions(-) diff --git a/src/Filter.hpp b/src/Filter.hpp index 5ecea76..5e4bd34 100644 --- a/src/Filter.hpp +++ b/src/Filter.hpp @@ -6,6 +6,9 @@ */ #ifndef FILTER_HPP_ #define FILTER_HPP_ +#include <errno.h> +#include <sys/time.h> +#include <sys/resource.h> #include "CountMinSketch.hpp" #include "ReadProcessor.h" diff --git a/src/ROCKparams.cpp b/src/ROCKparams.cpp index 947c64c..813374d 100644 --- a/src/ROCKparams.cpp +++ b/src/ROCKparams.cpp @@ -222,3 +222,60 @@ int ROCKparams::processInOutFileArgs(const std::vector<string>& v_input_lines,st } return EXIT_SUCCESS; } + +void ROCKparams::initFromMainOptsArgs(int argc,char ** argv) { + int i; + std::vector<string> v_input_lines; + std::vector<string> v_output_lines; + + while((i = getopt(argc, argv, "i:o:l:k:c:C:g:n:v")) != -1) { + switch(i) { + case 'i': + input_file=optarg;break; + case 'c': + parms.kappa_prime=atoi(optarg);break; + case 'h': + usage(EXIT_SUCCESS); break; + case 'o': + output_file=optarg; break; + case 'C': + parms.kappa=atoi(optarg); + if (parms.kappa<=0 || parms.kappa>get_mask<unsigned short>::value) { + cout<<"Bad value for kappa. Must choose kappa so that 0<kappa<="<<get_mask<unsigned short>::value<<endl; + usage(EXIT_FAILURE); + } + break; + case 'l': + parms.lambda = atoi(optarg); + if (parms.lambda<=0) { + cout<<"Bad value for lambda. Choose a value that is >0 or let ROCK choose for you."<<endl; + usage(EXIT_FAILURE); + } + break; + case 'k': + k=atoi(optarg); + if (k<=0 || k>32) { + cout<<"Bad value for k. Must choose k so that 0<k<=32."<<endl; + usage(EXIT_FAILURE); + } + break; + case 'n': + nb_k_mers=atoi(optarg);break; // number of distinct k-mers + case 'g': + // cout<<optarg<<endl; + g=atoi(optarg); + break; + case 'v': + verbose_mode=1; + break; + default: + usage(EXIT_FAILURE); break; } + } + processMainArgs(optind, argc, argv,v_input_lines); + optArgConsistency(input_file,output_file,g,parms,nb_k_mers,v_input_lines); + if (nb_k_mers) { + expected_collision_proba=getCollisionProba(nb_k_mers,parms.lambda); + } + if (v_input_lines.empty() && (loadInOutFileArgs(input_file,output_file,v_input_lines,v_output_lines)==EXIT_FAILURE)) throw EXIT_FAILURE; + if (processInOutFileArgs(v_input_lines,v_output_lines,single_files,v_PE_files,f_id)!=EXIT_SUCCESS) throw EXIT_FAILURE; + } diff --git a/src/ROCKparams.h b/src/ROCKparams.h index 5448008..a970a5f 100644 --- a/src/ROCKparams.h +++ b/src/ROCKparams.h @@ -42,7 +42,7 @@ class ROCKparams{ void computeLambda(); - void processMainArgs(int optind, const int argc, char ** argv,std::vector<string>& v_input_lines); + void processMainArgs(int optind, int argc, char ** argv,std::vector<string>& v_input_lines); int loadInOutFileArgs(const std::string& input_file,const std::string& output_file,std::vector<string>& v_input_lines,std::vector<string>& v_output_lines); int loadFileArgs(const std::string& afile,std::vector<string>& v_lines); void removePathfromFName(string& FName); @@ -79,62 +79,7 @@ public: - void initFromMainOptsArgs(int argc,char * argv[]) { - int i; - std::vector<string> v_input_lines; - std::vector<string> v_output_lines; - - while((i = getopt(argc, argv, "i:o:l:k:c:C:g:n:v")) != -1) { - switch(i) { - case 'i': - input_file=optarg;break; - case 'c': - parms.kappa_prime=atoi(optarg);break; - case 'h': - usage(EXIT_SUCCESS); break; - case 'o': - output_file=optarg; break; - case 'C': - parms.kappa=atoi(optarg); - if (parms.kappa<=0 || parms.kappa>get_mask<unsigned short>::value) { - cout<<"Bad value for kappa. Must choose kappa so that 0<kappa<="<<get_mask<unsigned short>::value<<endl; - usage(EXIT_FAILURE); - } - break; - case 'l': - parms.lambda = atoi(optarg); - if (parms.lambda<=0) { - cout<<"Bad value for lambda. Choose a value that is >0 or let ROCK choose for you."<<endl; - usage(EXIT_FAILURE); - } - break; - case 'k': - k=atoi(optarg); - if (k<=0 || k>32) { - cout<<"Bad value for k. Must choose k so that 0<k<=32."<<endl; - usage(EXIT_FAILURE); - } - break; - case 'n': - nb_k_mers=atoi(optarg);break; // number of distinct k-mers - case 'g': - // cout<<optarg<<endl; - g=atoi(optarg); - break; - case 'v': - verbose_mode=1; - break; - default: - usage(EXIT_FAILURE); break; } - } - processMainArgs(optind, argc, argv,v_input_lines); - optArgConsistency(input_file,output_file,g,parms,nb_k_mers,v_input_lines); - if (nb_k_mers) { - expected_collision_proba=getCollisionProba(nb_k_mers,parms.lambda); - } - if (v_input_lines.empty() && (loadInOutFileArgs(input_file,output_file,v_input_lines,v_output_lines)==EXIT_FAILURE)) throw EXIT_FAILURE; - if (processInOutFileArgs(v_input_lines,v_output_lines,single_files,v_PE_files,f_id)!=EXIT_SUCCESS) throw EXIT_FAILURE; - } + void initFromMainOptsArgs(int argc,char ** argv); CMSparams getCMSparams() { return parms; -- GitLab