cleaning
This commit is contained in:
@ -1,18 +0,0 @@
|
|||||||
CC = gcc
|
|
||||||
CFLAGS = -c -Wall
|
|
||||||
LDFLAGS =
|
|
||||||
SOURCES = obicount.c ../obidmscolumn.c
|
|
||||||
OBJECTS = $(SOURCES:.c=.o)
|
|
||||||
EXECUTABLE = obicount
|
|
||||||
|
|
||||||
all: $(SOURCES) $(EXECUTABLE)
|
|
||||||
|
|
||||||
$(EXECUTABLE): $(OBJECTS)
|
|
||||||
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(CFLAGS) $< -o $@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm *o
|
|
||||||
rm $(EXECUTABLE)
|
|
@ -1,87 +0,0 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/mman.h> /* mmap() is defined in this header */
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#include "../obitypes.h"
|
|
||||||
#include "../obidmscolumn.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Computes the size to map.
|
|
||||||
*
|
|
||||||
* * @param OBIDMSColumn_file The file to map.
|
|
||||||
* @return The size to map.
|
|
||||||
*/
|
|
||||||
int get_size_to_map(int OBIDMSColumn_file)
|
|
||||||
// compute size to map : file size minus size of the header
|
|
||||||
{
|
|
||||||
int size;
|
|
||||||
struct stat s;
|
|
||||||
|
|
||||||
fstat(OBIDMSColumn_file, &s);
|
|
||||||
size = (s.st_size) - HEADER_SIZE;
|
|
||||||
return(size);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Computes and prints the total number of sequences by summing their counts.
|
|
||||||
*
|
|
||||||
* * @param The count file.
|
|
||||||
*/
|
|
||||||
int main(int argc, char const *argv[])
|
|
||||||
{
|
|
||||||
char* map;
|
|
||||||
int size;
|
|
||||||
int OBIDMSColumn_file;
|
|
||||||
int count;
|
|
||||||
char c;
|
|
||||||
char num_str[10] = "";
|
|
||||||
int num_int;
|
|
||||||
int i,j;
|
|
||||||
|
|
||||||
// initialize variables
|
|
||||||
OBIDMSColumn_file = open(argv[1], O_RDONLY); //read only
|
|
||||||
count = 0;
|
|
||||||
j = 0;
|
|
||||||
|
|
||||||
// compute size to map
|
|
||||||
size = get_size_to_map(OBIDMSColumn_file);
|
|
||||||
|
|
||||||
// map the data
|
|
||||||
map = obi_map_read_only(OBIDMSColumn_file, HEADER_SIZE, size);
|
|
||||||
|
|
||||||
// sum the counts
|
|
||||||
for (i=0; i<size; i++)
|
|
||||||
{
|
|
||||||
c = map[i];
|
|
||||||
|
|
||||||
if (c != SEPARATOR) // reading lines
|
|
||||||
{
|
|
||||||
num_str[j] = c;
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (c == SEPARATOR) // end of a line
|
|
||||||
{
|
|
||||||
num_int = atoi(num_str); // turn number from character string to int
|
|
||||||
count = count + num_int; // add the number to the sum
|
|
||||||
j = 0;
|
|
||||||
num_str[j] = '\0';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// print the final count of sequences
|
|
||||||
fprintf(stderr, "Sequence count = %d\n", count);
|
|
||||||
|
|
||||||
// unmap
|
|
||||||
obi_unmap(size);
|
|
||||||
|
|
||||||
// close file
|
|
||||||
close(OBIDMSColumn_file);
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
}
|
|
Reference in New Issue
Block a user