Skip to content
Snippets Groups Projects
Commit 166a2d99 authored by Veronique Legrand's avatar Veronique Legrand
Browse files

work in progress; adding -p option to be aple to process PE separately in some cases

parent 91c02af3
No related branches found
No related tags found
No related merge requests found
Pipeline #80736 failed
...@@ -324,7 +324,7 @@ void ROCKparams::initFromMainOptsArgs(int argc,char ** argv) { ...@@ -324,7 +324,7 @@ void ROCKparams::initFromMainOptsArgs(int argc,char ** argv) {
// static int PE_separately=1; // static int PE_separately=1;
float proba=k_max_collision_proba; float proba=k_max_collision_proba;
while((i = getopt(argc, argv, "i:o:l:k:c:C:n:vhq:m:f:")) != -1) { while((i = getopt(argc, argv, "i:o:l:k:c:C:n:vhpq:m:f:")) != -1) {
switch(i) { switch(i) {
case 0: case 0:
break; break;
...@@ -369,6 +369,9 @@ void ROCKparams::initFromMainOptsArgs(int argc,char ** argv) { ...@@ -369,6 +369,9 @@ void ROCKparams::initFromMainOptsArgs(int argc,char ** argv) {
char * t; char * t;
//cout<<optarg<<endl; //cout<<optarg<<endl;
nb_k_mers=strtoul(optarg,&t,10);break; // number of distinct k-mers nb_k_mers=strtoul(optarg,&t,10);break; // number of distinct k-mers
case 'p':
process_PE_separately=1;
break;
case 'v': case 'v':
verbose_mode=1; verbose_mode=1;
break; break;
......
...@@ -70,6 +70,7 @@ class ROCKparams{ ...@@ -70,6 +70,7 @@ class ROCKparams{
unsigned long nb_k_mers; // expected number of k-mers in input data if specified by the user. unsigned long nb_k_mers; // expected number of k-mers in input data if specified by the user.
int k; // size of the k-mers int k; // size of the k-mers
int verbose_mode; int verbose_mode;
int process_PE_separately;
std::string input_file,output_file; std::string input_file,output_file;
std::vector<IO_fq_files> single_files; std::vector<IO_fq_files> single_files;
...@@ -119,6 +120,7 @@ public: ...@@ -119,6 +120,7 @@ public:
qual_thres.nucl_score_threshold=k_phred_32; qual_thres.nucl_score_threshold=k_phred_32;
qual_thres.k=k; qual_thres.k=k;
verbose_mode=0; verbose_mode=0;
process_PE_separately=0;
cms_size=0; cms_size=0;
expected_collision_proba=0.0; //! collision probability that is computed at the beginning of ROCK from the expected number of distinct k-mers provided by the user. expected_collision_proba=0.0; //! collision probability that is computed at the beginning of ROCK from the expected number of distinct k-mers provided by the user.
parms.max_filter_size=getNodePhysMemory()/100.0*90-defaultGRPMAXSize; // Prefer not to use all the machine's memory parms.max_filter_size=getNodePhysMemory()/100.0*90-defaultGRPMAXSize; // Prefer not to use all the machine's memory
......
...@@ -149,7 +149,7 @@ void getDNASeqstr(FqBaseBackend* fq_files_be [], ...@@ -149,7 +149,7 @@ void getDNASeqstr(FqBaseBackend* fq_files_be [],
} }
void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,DnaSeqStr a_seqs[2]) { void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,DnaSeqStr a_seqs[2], int process_PE_separately) {
int nb_expected_k_mers,nb_expected_k_mers_PE1,nb_expected_k_mers_PE2=0; int nb_expected_k_mers,nb_expected_k_mers_PE1,nb_expected_k_mers_PE2=0;
nb_expected_k_mers_PE1=a_seqs[0].length+1-k; nb_expected_k_mers_PE1=a_seqs[0].length+1-k;
nbrKmerDecompo.idx_start_PE2=0; nbrKmerDecompo.idx_start_PE2=0;
...@@ -162,7 +162,7 @@ void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKme ...@@ -162,7 +162,7 @@ void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKme
read_p.getKMerNumbers(start_dna_str,a_seqs[0].length,nbrKmerDecompo.single_or_PE_val); read_p.getKMerNumbers(start_dna_str,a_seqs[0].length,nbrKmerDecompo.single_or_PE_val);
if (a_seqs[1].length) { // case of PE reads if (a_seqs[1].length) { // case of PE reads
nbrKmerDecompo.idx_start_PE2=nb_expected_k_mers_PE1; if (process_PE_separately) nbrKmerDecompo.idx_start_PE2=nb_expected_k_mers_PE1;
start_dna_str=a_seqs[1].fq_record_buf+a_seqs[1].start_idx; start_dna_str=a_seqs[1].fq_record_buf+a_seqs[1].start_idx;
read_p.getKMerNumbers(start_dna_str,a_seqs[1].length,nbrKmerDecompo.single_or_PE_val); read_p.getKMerNumbers(start_dna_str,a_seqs[1].length,nbrKmerDecompo.single_or_PE_val);
} }
......
...@@ -36,6 +36,6 @@ void getDNASeqstr(FqBaseBackend* [], ...@@ -36,6 +36,6 @@ void getDNASeqstr(FqBaseBackend* [],
void init_DnaSeqStr(DnaSeqStr * dna_seq); void init_DnaSeqStr(DnaSeqStr * dna_seq);
void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,DnaSeqStr a_seqs[2]); void decomposeReadInKMerNums(ReadProcessor& read_p, T_read_numericValues& nbrKmerDecompo,int k,DnaSeqStr a_seqs[2],int process_PE_separately=0);
#endif /* READ_UTILS_H_ */ #endif /* READ_UTILS_H_ */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment