3 Commits

Author SHA1 Message Date
Celine Mercier
9f08b85eaf Optimised sequence parsing (from previous commit) 2020-04-13 13:48:09 +02:00
Celine Mercier
d7cd7e2677 Made sequence parsing more robust (issue with arm64 systems) 2020-04-13 11:59:09 +02:00
Celine Mercier
b11748eac8 Cleaner installation 2019-03-27 16:07:12 +01:00
2 changed files with 17 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
PREFIX=/usr/local
SOURCES = libfasta/fasta_header_parser.c \ SOURCES = libfasta/fasta_header_parser.c \
libfasta/fasta_seq_writer.c \ libfasta/fasta_seq_writer.c \
@@ -44,3 +45,12 @@ $(LIBFILE): $(OBJECTS)
ar -cr $@ $? ar -cr $@ $?
$(RANLIB) $@ $(RANLIB) $@
install: all
install -d $(DESTDIR)$(PREFIX)/lib/
install -m 644 $(LIBFILE) $(DESTDIR)$(PREFIX)/lib/
install -d $(DESTDIR)$(PREFIX)/include/
for lib in libfasta liblcs libsse libutils libfile ; do \
install -d $(DESTDIR)$(PREFIX)/include/$$lib ; \
cp $$lib/*.h $(DESTDIR)$(PREFIX)/include/$$lib ; \
done

View File

@@ -162,19 +162,24 @@ void seq_fillSeqOnlyATGC(char *seq, fastaSeqPtr seqElem, int seqLen)
{ {
char* seqTemp; char* seqTemp;
char c; char c;
int32_t index = 0, seqIndex = 0, len = strlen(seq); int32_t index = 1, seqIndex = 0, len = strlen(seq);
char* seqAlphabets = "acgtACGT"; char* seqAlphabets = "acgtACGT";
int notAllATGC = 0; int notAllATGC = 0;
int goOnParsing = 1;
seqTemp = (char*) util_malloc(seqLen*sizeof(char), __FILE__, __LINE__); seqTemp = (char*) util_malloc(seqLen*sizeof(char), __FILE__, __LINE__);
while (index < len) while (goOnParsing)
{ {
c = seq[index++]; c = seq[index++];
if (strchr(seqAlphabets, c) != NULL) if (strchr(seqAlphabets, c) != NULL)
seqTemp[seqIndex++] = tolower(c); seqTemp[seqIndex++] = tolower(c);
else if (seq[index+1]=='\0')
goOnParsing = 0; // end of the sequence has been reached.
else if (c != '\n') else if (c != '\n')
notAllATGC = 1; notAllATGC = 1;
if (index == len)
goOnParsing = 0;
} }
if (notAllATGC) if (notAllATGC)