From 353364cfca10ca6c01437465d3a53532009d978f Mon Sep 17 00:00:00 2001 From: martinahansen Date: Thu, 21 Aug 2008 03:55:34 +0000 Subject: [PATCH] fixed bug in vmatch_index git-svn-id: http://biopieces.googlecode.com/svn/trunk@214 74ccb610-7750-0410-82ae-013aeee3265d --- code_c/Maasha/src/gmon.out | Bin 97 -> 733461 bytes code_c/Maasha/src/inc/fasta.h | 4 ++++ code_c/Maasha/src/lib/fasta.c | 28 ++++++++++++++++++++++++++++ code_c/Maasha/src/test/test_fasta.c | 9 +++++++++ code_perl/Maasha/Match.pm | 2 +- 5 files changed, 42 insertions(+), 1 deletion(-) diff --git a/code_c/Maasha/src/gmon.out b/code_c/Maasha/src/gmon.out index 4c6cbd904a128d373eb5d6be0553ab95b4623bdf..330a6bccc856ca1d05e582236919b7d9644035e2 100644 GIT binary patch literal 733461 zcmeI(JxT*X6ae5CV?YEug%nXx!7>p~;7@I36YZ1;Dy{(&i@imTU~8A!B84aL2x4iY zg$HmZiG|pUkZ<74zTwU8GGDdu*wN$rXg(qiQ_Q8vqjlH2ZCziU 32 && x < 127 ) ? TRUE : FALSE @@ -15,6 +16,9 @@ typedef struct _seq_entry seq_entry; /* Count all entries in a FASTA file given a file pointer. */ size_t fasta_count( FILE *fp ); +/* Get the next FASTA sequence name from a stream. */ +bool fasta_get_seq_name( FILE *fp, char **seq_name_ppt ); + /* Get next sequence entry from a FASTA file given a file pointer. */ bool fasta_get_entry( file_buffer **buffer_ppt, seq_entry **entry ); diff --git a/code_c/Maasha/src/lib/fasta.c b/code_c/Maasha/src/lib/fasta.c index 3e5880c..493cbe7 100644 --- a/code_c/Maasha/src/lib/fasta.c +++ b/code_c/Maasha/src/lib/fasta.c @@ -118,6 +118,34 @@ bool fasta_get_entry( file_buffer **buffer_ppt, seq_entry **entry_ppt ) } +bool fasta_get_seq_name( FILE *fp, char **seq_name_ppt ) +{ + /* Martin A. Hansen, August 2008 */ + + /* Get the next FASTA sequence name from a stream. */ + + char *pt; + char buffer[ MAX_SEQ_NAME ]; + + while ( 1 ) + { + if ( ( pt = fgets( buffer, MAX_SEQ_NAME, fp ) ) ) + { + printf( "buffer: %s\n", buffer ); + + if ( buffer[ 0 ] == '>' ) + { + *seq_name_ppt = &buffer[ 1 ]; + + return TRUE; + } + } + } + + return FALSE; +} + + //bool fasta_get_entry( FILE *fp, seq_entry **entry ) //{ // /* Martin A. Hansen, May 2008 */ diff --git a/code_c/Maasha/src/test/test_fasta.c b/code_c/Maasha/src/test/test_fasta.c index cebb6d7..b9641a0 100644 --- a/code_c/Maasha/src/test/test_fasta.c +++ b/code_c/Maasha/src/test/test_fasta.c @@ -61,6 +61,15 @@ void test_fasta_get_seq_name() { fprintf( stderr, " Testing fasta_get_seq_name ... " ); + FILE *fp = NULL; + char *seq_name = NULL; + + fp = read_open( TEST_FILE1 ); + + fasta_get_seq_name( fp, &seq_name ); + + printf( "SEQ_NAME: ->%s<-\n", seq_name ); + assert( strcmp( seq_name, "test0" ) == 0 ); fprintf( stderr, "OK\n" ); diff --git a/code_perl/Maasha/Match.pm b/code_perl/Maasha/Match.pm index c74d719..930c34a 100644 --- a/code_perl/Maasha/Match.pm +++ b/code_perl/Maasha/Match.pm @@ -345,7 +345,7 @@ sub vmatch_index &Maasha::Common::run( "mkvtree", "-db $tmp_dir/$tmp_file -dna -pl -allout -indexname $dst_dir/$tmp_file > /dev/null 3>&1" ); unlink "$tmp_dir/$tmp_file"; -# } + } close $fh; } -- 2.39.5