Temporarily switching back to older bugless fasta libs while fixing a

bug
This commit is contained in:
Celine Mercier
2017-10-15 20:41:55 +02:00
parent f9d0ac00aa
commit 6373bc1c20
36 changed files with 84 additions and 83 deletions

0
Licence_CeCILL_V2-en.txt Normal file → Executable file
View File

0
Licence_CeCILL_V2-fr.txt Normal file → Executable file
View File

0
global.mk Normal file → Executable file
View File

0
libfasta/Makefile Normal file → Executable file
View File

41
libfasta/fasta_header_handler.c Normal file → Executable file
View File

@ -69,34 +69,15 @@ char* fastaSeqPtr_header_add_field(fastaSeqPtr seq, char* name, char* value)
element_from_header* table_header_add_field(element_from_header* header, char* name, char* value) element_from_header* table_header_add_field(element_from_header* header, char* name, char* value)
{ {
int nbf; int nbf;
int i, j;
element_from_header* new_header;
nbf = atoi(header[0].value); nbf = atoi(header[0].value);
new_header = (element_from_header*) realloc(header, ((nbf+1)*sizeof(element_from_header))); nbf++;
header = (element_from_header*) realloc(header, (nbf+1)*sizeof(element_from_header));
i=0; header[nbf].name = (char*) malloc((1+strlen(name))*sizeof(char));
while ((strcmp(new_header[i].name, "definition") != 0) && (i < nbf)) strcpy(header[nbf].name, name);
i++; header[nbf].value = (char*) malloc((1+strlen(value))*sizeof(char));
strcpy(header[nbf].value, value);
if (strcmp(new_header[i].name, "definition") == 0) sprintf(header[0].value, "%d", nbf);
{ return(header);
j = nbf-1;
while (strcmp(new_header[j].name, "definition") == 0)
{
new_header[j+1].name = new_header[j].name;
new_header[j+1].value = new_header[j].value;
j--;
}
}
new_header[i].name = (char*) malloc((1+strlen(name))*sizeof(char));
strcpy(new_header[i].name, name);
new_header[i].value = (char*) malloc((1+strlen(value))*sizeof(char));
strcpy(new_header[i].value, value);
sprintf(new_header[0].value, "%d", nbf+1);
return(new_header);
} }
@ -105,7 +86,7 @@ void free_header_table(element_from_header* header)
int i; int i;
int nbf = atoi(header[0].value); int nbf = atoi(header[0].value);
for (i = 0; i < nbf; i++) for (i = 0; i <= nbf; i++)
{ {
free((header[i]).name); free((header[i]).name);
free((header[i]).value); free((header[i]).value);
@ -120,7 +101,7 @@ char* getItemFromHeader(char* name, element_from_header* header)
int nbf; int nbf;
int i; int i;
nbf = atoi(header[0].value); nbf = atoi(header[0].value);
for (i = 1; i < nbf; i++) for (i = 1; i <= nbf; i++)
{ {
if (strcmp(header[i].name,name)==0) if (strcmp(header[i].name,name)==0)
value = header[i].value; value = header[i].value;
@ -134,7 +115,7 @@ void changeValue(element_from_header* header, char* name, char* newValue)
int i; int i;
int nbf = atoi(header[0].value); int nbf = atoi(header[0].value);
for (i = 1; i < nbf; i++) for (i = 1; i <= nbf; i++)
{ {
if (strcmp(header[i].name, name)==0) if (strcmp(header[i].name, name)==0)
{ {

0
libfasta/fasta_header_handler.h Normal file → Executable file
View File

45
libfasta/fasta_header_parser.c Normal file → Executable file
View File

@ -798,7 +798,7 @@ YY_RULE_SETUP
(*p_header)[*nbf].value = (char*) malloc(sizeof(char)*size_needed); (*p_header)[*nbf].value = (char*) malloc(sizeof(char)*size_needed);
strcpy(((*p_header)[*nbf]).value,header_yytext); strcpy(((*p_header)[*nbf]).value,header_yytext);
p_header = check_and_realloc_mem_in_header_table(p_header, nbf, memory_allocated); (*nbf)++;
} }
YY_BREAK YY_BREAK
case 3: case 3:
@ -820,7 +820,7 @@ YY_RULE_SETUP
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 69 "fasta_header_parser.l" #line 69 "fasta_header_parser.l"
{ // TODO {
/*fprintf(stderr,"\n<REGNAME>{SPACE} **%s**",header_yytext);*/ /*fprintf(stderr,"\n<REGNAME>{SPACE} **%s**",header_yytext);*/
if (i != 0) if (i != 0)
field = store_in_field(field,header_yytext,&free_size,&i); field = store_in_field(field,header_yytext,&free_size,&i);
@ -886,21 +886,24 @@ case YY_STATE_EOF(REGVAL):
#line 113 "fasta_header_parser.l" #line 113 "fasta_header_parser.l"
{ {
field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i); field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i);
(*nbf)++; p_header = check_and_realloc_mem_in_header_table(p_header, nbf, memory_allocated);
end_header_table(p_header, *nbf); end_header_table(p_header, *nbf);
free(field); free(field);
BEGIN(INITIAL); BEGIN(INITIAL);
return 0; return 0;
} }
YY_BREAK YY_BREAK
case YY_STATE_EOF(REGNAME): case YY_STATE_EOF(REGNAME):
#line 122 "fasta_header_parser.l" #line 123 "fasta_header_parser.l"
{ {
(*p_header)[*nbf].name = (char*) malloc(sizeof(char)*19); /*(*p_header)[*nbf].name = (char*) malloc(sizeof(char)*19);
strcpy((*p_header)[*nbf].name,"definition"); strcpy((*p_header)[*nbf].name,"other_informations");
field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i); field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i);
(*nbf)++; p_header = check_and_realloc_mem_in_header_table(p_header, nbf, memory_allocated);
end_header_table(p_header, nbf); */
end_header_table(p_header, *nbf);
free(field); free(field);
BEGIN(INITIAL); BEGIN(INITIAL);
return 0; return 0;
@ -908,10 +911,10 @@ case YY_STATE_EOF(REGNAME):
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 133 "fasta_header_parser.l" #line 136 "fasta_header_parser.l"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 915 "<stdout>" #line 918 "<stdout>"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(REGID): case YY_STATE_EOF(REGID):
yyterminate(); yyterminate();
@ -1909,7 +1912,7 @@ void header_yyfree (void * ptr )
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 133 "fasta_header_parser.l" #line 136 "fasta_header_parser.l"
@ -1923,22 +1926,26 @@ element_from_header* header_parser_main(char *h)
int nbfields,memory_allocated; int nbfields,memory_allocated;
element_from_header* header; element_from_header* header;
char* nbfields_n; char* nbfields_n;
YY_BUFFER_STATE state; char* nbfields_v;
state=header_yy_scan_string(h); nbfields_n = (char*) malloc(9*sizeof(char));
nbfields_v = (char*) malloc(5*sizeof(char));
memory_allocated=MEMALLOCATED; memory_allocated=MEMALLOCATED;
nbfields=1;
strcpy(nbfields_n, "nbfields");
strcpy(nbfields_v, "1");
header = (element_from_header*) malloc(memory_allocated * sizeof(element_from_header)); header = (element_from_header*) malloc(memory_allocated * sizeof(element_from_header));
nbfields_n = (char*) malloc(9*sizeof(char));
strcpy(nbfields_n, "nbfields");
header[0].name = nbfields_n; header[0].name = nbfields_n;
header[0].value = nbfields_v;
// Initialize memory to store the number of fields YY_BUFFER_STATE state;
header[0].value = (char*) malloc(10*sizeof(char));
nbfields=1; state=header_yy_scan_string(h);
header_parser(&nbfields, &memory_allocated, &header); header_parser(&nbfields, &memory_allocated, &header);
@ -1949,3 +1956,5 @@ element_from_header* header_parser_main(char *h)

0
libfasta/fasta_header_parser.h Normal file → Executable file
View File

37
libfasta/fasta_header_parser.l Normal file → Executable file
View File

@ -53,7 +53,7 @@ EQUAL =
(*p_header)[*nbf].value = (char*) malloc(sizeof(char)*size_needed); (*p_header)[*nbf].value = (char*) malloc(sizeof(char)*size_needed);
strcpy(((*p_header)[*nbf]).value,yytext); strcpy(((*p_header)[*nbf]).value,yytext);
p_header = check_and_realloc_mem_in_header_table(p_header, nbf, memory_allocated); (*nbf)++;
} }
@ -66,7 +66,7 @@ EQUAL =
field = store_in_field(field,yytext,&free_size,&i); field = store_in_field(field,yytext,&free_size,&i);
} }
<REGNAME>{SPACE} { // TODO <REGNAME>{SPACE} {
/*fprintf(stderr,"\n<REGNAME>{SPACE} **%s**",yytext);*/ /*fprintf(stderr,"\n<REGNAME>{SPACE} **%s**",yytext);*/
if (i != 0) if (i != 0)
field = store_in_field(field,yytext,&free_size,&i); field = store_in_field(field,yytext,&free_size,&i);
@ -112,19 +112,22 @@ EQUAL =
<REGVAL><<EOF>> { <REGVAL><<EOF>> {
field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i); field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i);
(*nbf)++; p_header = check_and_realloc_mem_in_header_table(p_header, nbf, memory_allocated);
end_header_table(p_header, *nbf); end_header_table(p_header, *nbf);
free(field); free(field);
BEGIN(INITIAL); BEGIN(INITIAL);
return 0; return 0;
} }
<REGNAME><<EOF>> { <REGNAME><<EOF>> {
(*p_header)[*nbf].name = (char*) malloc(sizeof(char)*19); /*(*p_header)[*nbf].name = (char*) malloc(sizeof(char)*19);
strcpy((*p_header)[*nbf].name,"definition"); strcpy((*p_header)[*nbf].name,"other_informations");
field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i); field = store_in_header_table(field, &((*p_header)[*nbf].value), &free_size, &i);
(*nbf)++; p_header = check_and_realloc_mem_in_header_table(p_header, nbf, memory_allocated);
end_header_table(p_header, nbf); */
end_header_table(p_header, *nbf);
free(field); free(field);
BEGIN(INITIAL); BEGIN(INITIAL);
return 0; return 0;
@ -142,22 +145,26 @@ element_from_header* header_parser_main(char *h)
int nbfields,memory_allocated; int nbfields,memory_allocated;
element_from_header* header; element_from_header* header;
char* nbfields_n; char* nbfields_n;
YY_BUFFER_STATE state; char* nbfields_v;
state=yy_scan_string(h); nbfields_n = (char*) malloc(9*sizeof(char));
nbfields_v = (char*) malloc(5*sizeof(char));
memory_allocated=MEMALLOCATED; memory_allocated=MEMALLOCATED;
nbfields=1;
strcpy(nbfields_n, "nbfields");
strcpy(nbfields_v, "1");
header = (element_from_header*) malloc(memory_allocated * sizeof(element_from_header)); header = (element_from_header*) malloc(memory_allocated * sizeof(element_from_header));
nbfields_n = (char*) malloc(9*sizeof(char));
strcpy(nbfields_n, "nbfields");
header[0].name = nbfields_n; header[0].name = nbfields_n;
header[0].value = nbfields_v;
// Initialize memory to store the number of fields YY_BUFFER_STATE state;
header[0].value = (char*) malloc(10*sizeof(char));
nbfields=1; state=yy_scan_string(h);
header_parser(&nbfields, &memory_allocated, &header); header_parser(&nbfields, &memory_allocated, &header);
@ -167,3 +174,5 @@ element_from_header* header_parser_main(char *h)
} }

7
libfasta/fasta_seq_writer.c Normal file → Executable file
View File

@ -52,7 +52,7 @@ void printOnlyHeaderFromTable(element_from_header* header, FILE* output)
fprintf(output,">%s ",header[1].value); fprintf(output,">%s ",header[1].value);
for (i = 2; i < nbf; i++) for (i = 2; i <= nbf; i++)
{ {
if (strcmp(header[i].name, "definition") != 0) if (strcmp(header[i].name, "definition") != 0)
{ {
@ -60,10 +60,11 @@ void printOnlyHeaderFromTable(element_from_header* header, FILE* output)
fprintf(output,"="); fprintf(output,"=");
fprintf(output,"%s; ",header[i].value); fprintf(output,"%s; ",header[i].value);
} }
else if (strcmp(header[i].name, "definition") == 0)
fprintf(output,"%s ", header[i].value);
} }
if (strcmp(header[nbf].name, "definition") == 0)
fprintf(output,"%s; ",header[nbf].value);
fprintf(output,"\n"); fprintf(output,"\n");
} }

0
libfasta/fasta_seq_writer.h Normal file → Executable file
View File

5
libfasta/header_mem_handler.c Normal file → Executable file
View File

@ -76,7 +76,7 @@ element_from_header** check_and_realloc_mem_in_header_table(element_from_header*
{ {
(*nbf)++; (*nbf)++;
if ((*nbf)+1 == *memory_allocated) if (*nbf == *memory_allocated)
{ {
(*memory_allocated)++; (*memory_allocated)++;
*p_header = (element_from_header*) realloc(*p_header, (*memory_allocated) * sizeof(element_from_header)); *p_header = (element_from_header*) realloc(*p_header, (*memory_allocated) * sizeof(element_from_header));
@ -87,6 +87,7 @@ element_from_header** check_and_realloc_mem_in_header_table(element_from_header*
void end_header_table(element_from_header** p_header, int nbf) void end_header_table(element_from_header** p_header, int nbf)
{ {
*p_header = (element_from_header*) realloc(*p_header, nbf * sizeof(element_from_header)); nbf = nbf - 1;
//fprintf(stderr, "nbf = %d", nbf);
sprintf((*p_header)->value, "%d", nbf); sprintf((*p_header)->value, "%d", nbf);
} }

0
libfasta/header_mem_handler.h Normal file → Executable file
View File

0
libfasta/sequence.c Normal file → Executable file
View File

0
libfasta/sequence.h Normal file → Executable file
View File

0
libfile/Makefile Normal file → Executable file
View File

0
libfile/fileHandling.c Normal file → Executable file
View File

0
libfile/fileHandling.h Normal file → Executable file
View File

0
liblcs/Makefile Normal file → Executable file
View File

0
liblcs/_lcs.ext.1.c Normal file → Executable file
View File

0
liblcs/_lcs.ext.2.c Normal file → Executable file
View File

0
liblcs/_lcs.ext.3.c Normal file → Executable file
View File

0
liblcs/_lcs.h Normal file → Executable file
View File

0
liblcs/_lcs_fast.h Normal file → Executable file
View File

0
liblcs/banded_LCS_alignment.c Normal file → Executable file
View File

0
liblcs/banded_LCS_alignment.h Normal file → Executable file
View File

0
liblcs/sse_banded_LCS_alignment.c Normal file → Executable file
View File

0
liblcs/sse_banded_LCS_alignment.h Normal file → Executable file
View File

0
liblcs/upperband.c Normal file → Executable file
View File

0
liblcs/upperband.h Normal file → Executable file
View File

0
libsse/_sse.h Normal file → Executable file
View File

0
libutils/Makefile Normal file → Executable file
View File

0
libutils/debug.c Normal file → Executable file
View File

0
libutils/debug.h Normal file → Executable file
View File

0
libutils/utilities.c Normal file → Executable file
View File

0
libutils/utilities.h Normal file → Executable file
View File