Compare commits
5 Commits
sumatra_v1
...
master
Author | SHA1 | Date | |
---|---|---|---|
c40d884cc4 | |||
84d9d96f94 | |||
9f08b85eaf | |||
d7cd7e2677 | |||
b11748eac8 |
10
Makefile
10
Makefile
@ -1,3 +1,4 @@
|
||||
PREFIX=/usr/local
|
||||
|
||||
SOURCES = libfasta/fasta_header_parser.c \
|
||||
libfasta/fasta_seq_writer.c \
|
||||
@ -44,3 +45,12 @@ $(LIBFILE): $(OBJECTS)
|
||||
ar -cr $@ $?
|
||||
$(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
|
||||
|
||||
|
@ -162,19 +162,24 @@ void seq_fillSeqOnlyATGC(char *seq, fastaSeqPtr seqElem, int seqLen)
|
||||
{
|
||||
char* seqTemp;
|
||||
char c;
|
||||
int32_t index = 0, seqIndex = 0, len = strlen(seq);
|
||||
int32_t index = 1, seqIndex = 0, len = strlen(seq);
|
||||
char* seqAlphabets = "acgtACGT";
|
||||
int notAllATGC = 0;
|
||||
int goOnParsing = 1;
|
||||
|
||||
seqTemp = (char*) util_malloc(seqLen*sizeof(char), __FILE__, __LINE__);
|
||||
|
||||
while (index < len)
|
||||
while (goOnParsing)
|
||||
{
|
||||
c = seq[index++];
|
||||
if (strchr(seqAlphabets, c) != NULL)
|
||||
seqTemp[seqIndex++] = tolower(c);
|
||||
else if (seq[index+1]=='\0')
|
||||
goOnParsing = 0; // end of the sequence has been reached.
|
||||
else if (c != '\n')
|
||||
notAllATGC = 1;
|
||||
if (index == len)
|
||||
goOnParsing = 0;
|
||||
}
|
||||
|
||||
if (notAllATGC)
|
||||
|
@ -4,11 +4,16 @@
|
||||
#include <string.h>
|
||||
|
||||
#include <inttypes.h>
|
||||
#ifdef __SSE2__
|
||||
#include <xmmintrin.h>
|
||||
|
||||
#if defined(__SSE2__)
|
||||
#define USE_SSE2
|
||||
#elif defined(__ARM_NEON)
|
||||
#define USE_SSE2
|
||||
#include "sse2neon.h"
|
||||
#else
|
||||
// no SSE2 support, use emulation
|
||||
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
|
||||
#endif /* __SSE2__ */
|
||||
#endif
|
||||
|
||||
#ifndef MAX
|
||||
#define MAX(x,y) (((x)>(y)) ? (x):(y))
|
||||
@ -55,7 +60,7 @@ typedef union
|
||||
} uint64_v;
|
||||
|
||||
|
||||
#ifdef __SSE2__
|
||||
#ifdef USE_SSE2
|
||||
|
||||
static inline int8_t _s2_extract_epi8(__m128i r, const int p)
|
||||
{
|
||||
|
8848
libsse/sse2neon.h
Normal file
8848
libsse/sse2neon.h
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user