]> git.donarmstrong.com Git - biopieces.git/commitdiff
added revcomp_dna to repeat-O-matic
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 25 Aug 2008 00:20:17 +0000 (00:20 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 25 Aug 2008 00:20:17 +0000 (00:20 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@220 74ccb610-7750-0410-82ae-013aeee3265d

code_c/Maasha/src/repeat-O-matic.c

index dcfa1dd323761088d563251b675f2e284a1f66ae..765b4ef155d35ab4dcc2d82ea0db9bc7a1afe19e 100644 (file)
@@ -94,6 +94,40 @@ void oligo_count( char *path, uint **array_ppt, uint mask )
     {
         fprintf( stderr, "Counting oligos in: %s ... ", entry->seq_name );
 
+        /* ---- Sense strand ---- */    
+
+        bin = 0;
+        j   = 0;
+
+        for ( i = 0; entry->seq[ i ]; i++ )
+        {
+            bin <<= 2;
+
+            switch( entry->seq[ i ] )
+            {
+                case 'A': case 'a':           j++; break;
+                case 'T': case 't': bin |= T; j++; break;
+                case 'C': case 'c': bin |= C; j++; break;
+                case 'G': case 'g': bin |= G; j++; break;
+                default: bin = 0; j = 0; break;
+            }
+
+            if ( j >= OLIGO_SIZE )
+            {
+                array[ ( bin & mask ) ]++;
+/*                
+                printf( "\n" );
+                printf( "mask          : %s\n", bits2string( mask ) );
+                printf( "bin           : %s\n", bits2string( bin ) );
+                printf( "bin     & mask: %s\n", bits2string( bin & mask ) );
+*/
+            }
+        }
+
+        /* ---- Anti-sense strand ---- */    
+
+        revcomp_dna( entry->seq );
+
         bin = 0;
         j   = 0;