<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hi Huan,</span><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">(This is a follow-up on a conversation we had in January about the &#39;khmer&#39; software. I tried replying to you back then, but the mailing list was having some problems. I suppose you may have moved on to other things by now, but if you would still like help using the software, I can try to help. Original reply is below....)</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Thanks for the report. I cannot reproduce the problem.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Let&#39;s verify that Python is looking at the correct khmer. Can you please report the output of:</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">   python -c &quot;import khmer; print khmer.__file__&quot;<br><div class="gmail_extra"><br></div>
<div class="gmail_extra">Also, can you report the output of:</div><div class="gmail_extra"><br></div><div class="gmail_extra">  test -r python/khmer/threading_args.py; echo $?</div><div class="gmail_extra"><br></div><div class="gmail_extra">
And, for good measure, what is the output of:</div><div class="gmail_extra">  </div><div class="gmail_extra">  echo $PYTHONPATH</div><div class="gmail_extra">  echo $PATH</div><div class="gmail_extra"><br></div><div class="gmail_extra">
<br></div><div class="gmail_extra">Regarding your comment about screed, I agree that setting the PYTHONPATH for it is annoying and easy to forget. (I forget about this frequently.) In the longer term, we are hoping to remove or directly incorporate the screed dependency in khmer.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">One thing which may help you is the &#39;virtualenv&#39; package. If you have &#39;virtualenv&#39; installed, then you should be able to do the following steps:</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">  virtualenv --no-site-packages PYTHON-ENV</div><div class="gmail_extra">  . PYTHON-ENV/bin/activate</div><div class="gmail_extra">  (cd screed &amp;&amp; python setup.py install)</div>
<div class="gmail_extra">  (cd khmer &amp;&amp; make -j4 &amp;&amp; cd python &amp;&amp; python setup.py install)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Once you have done that, then, in the future, you will only need to do:</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">  . PYTHON-ENV/bin/activate</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">
  Eric</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Jan 26, 2013 at 1:05 PM, Huan Fan <span dir="ltr">&lt;<a href="mailto:hfan22@wisc.edu" target="_blank">hfan22@wisc.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi Eric,<br>
<br>
Thanks very much for looking into this!<br>
<br>
<br>
I tried to install the bleeding-edge version but failed. I suspect it might have sth to do with screed. So I installed screed for the khmer version that I was using last Aug and forgot what I did to tell khmer where screed is. What I did this time is:<br>

<br>
<br>
export PYTHONPATH=&#39;/home/heather/screed&#39;<br>
<br>
<br>
The make test error is like:<br>
<br>
<br>
**************<br>
$ make test<br>
cd lib &amp;&amp; \<br>
 make CXX=&quot;g++&quot; CXXFLAGS=&quot; -Wall -O3 -fPIC&quot; LIBS=&quot;&quot;<br>
make[1]: Entering directory `/home/heather/khmer-screed/lib&#39;<br>
(cd zlib &amp;&amp; ./configure --shared &amp;&amp; make libz.so.1.2.3)<br>
Checking for gcc...<br>
Checking for shared library support...<br>
Building shared library libz.so.1.2.3 with gcc.<br>
Checking for unistd.h... Yes.<br>
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()<br>
Checking for vsnprintf() in stdio.h... Yes.<br>
Checking for return value of vsnprintf()... Yes.<br>
Checking for errno.h... Yes.<br>
Checking for mmap support... Yes.<br>
make[2]: Entering directory `/home/heather/khmer-screed/lib/zlib&#39;<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o adler32.o adler32.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o compress.o compress.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o crc32.o crc32.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o gzio.o gzio.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o uncompr.o uncompr.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o deflate.o deflate.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o trees.o trees.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o zutil.o zutil.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o inflate.o inflate.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o infback.o infback.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o inftrees.o inftrees.c<br>
gcc -O3 -fPIC -DUSE_MMAP -c -o inffast.o inffast.c<br>
#gcc -shared -Wl,-soname,libz.so.1 -o libz.so.1.2.3 adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o<br>
#rm -f libz.so libz.so.1<br>
#ln -s libz.so.1.2.3 libz.so<br>
#ln -s libz.so.1.2.3 libz.so.1<br>
make[2]: Leaving directory `/home/heather/khmer-screed/lib/zlib&#39;<br>
(cd bzip2 &amp;&amp; make -f Makefile-libbz2_so all)<br>
make[2]: Entering directory `/home/heather/khmer-screed/lib/bzip2&#39;<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c blocksort.c<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c huffman.c<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c crctable.c<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c randtable.c<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c compress.c<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c decompress.c<br>
gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c bzlib.c<br>
#gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o<br>
#gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -o bzip2-shared bzip2.c libbz2.so.1.0.6<br>
#rm -f libbz2.so.1.0<br>
#ln -s libbz2.so.1.0.6 libbz2.so.1.0<br>
make[2]: Leaving directory `/home/heather/khmer-screed/lib/bzip2&#39;<br>
g++ -Wall -O3 -fPIC -c -o khmer_config.o khmer_config.cc<br>
g++ -Wall -O3 -fPIC -c -o thread_id_map.o thread_id_map.cc<br>
g++ -Wall -O3 -fPIC -c -o trace_logger.o trace_logger.cc<br>
g++ -Wall -O3 -fPIC -c -o perf_metrics.o perf_metrics.cc<br>
g++ -Wall -O3 -fPIC -c -o ktable.o ktable.cc<br>
g++ -Wall -O3 -fPIC -c -o parsers.o parsers.cc<br>
g++ -Wall -O3 -fPIC -c -o read_parsers.o read_parsers.cc<br>
g++ -Wall -O3 -fPIC -c -o hashtable.o hashtable.cc<br>
g++ -Wall -O3 -fPIC -c -o hashbits.o hashbits.cc<br>
g++ -Wall -O3 -fPIC -c -o subset.o subset.cc<br>
g++ -Wall -O3 -fPIC -c -o counting.o counting.cc<br>
g++ -Wall -O3 -fPIC -c -o bittest.o bittest.cc<br>
g++ -o bittest bittest.o ktable.o<br>
g++ -Wall -O3 -fPIC -c -o ktable_test.o ktable_test.cc<br>
ktable_test.cc: In function ‘int main()’:<br>
ktable_test.cc:40:14: warning: deprecated conversion from string constant to ‘char*’<br>
g++ -o ktable_test ktable_test.o hashtable.o parsers.o read_parsers.o khmer_config.o thread_id_map.o trace_logger.o perf_metrics.o ktable.o zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/compress.o bzip2/decompress.o bzip2/bzlib.o<br>

g++ -Wall -O3 -fPIC -c -o test-StreamReader.o test-StreamReader.cc<br>
g++ -o test-StreamReader test-StreamReader.o read_parsers.o khmer_config.o thread_id_map.o trace_logger.o perf_metrics.o ktable.o zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/compress.o bzip2/decompress.o bzip2/bzlib.o<br>

g++ -Wall -O3 -fPIC -c -o test-CacheManager.o test-CacheManager.cc -fopenmp<br>
test-CacheManager.cc: In function ‘int main(int, char**)’:<br>
test-CacheManager.cc:106:11: warning: unused variable ‘segment_cut_pos’<br>
g++ -o test-CacheManager test-CacheManager.o read_parsers.o khmer_config.o thread_id_map.o trace_logger.o perf_metrics.o ktable.o zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/compress.o bzip2/decompress.o bzip2/bzlib.o -fopenmp<br>

g++ -Wall -O3 -fPIC -c -o test-Parser.o test-Parser.cc -fopenmp<br>
test-Parser.cc: In function ‘int main(int, char**)’:<br>
test-Parser.cc:73:11: warning: unused variable ‘seq_len’<br>
test-Parser.cc:74:37: warning: unused variable ‘ofile_name’<br>
test-Parser.cc:75:10: warning: unused variable ‘ofile_handle’<br>
g++ -o test-Parser test-Parser.o read_parsers.o khmer_config.o thread_id_map.o trace_logger.o perf_metrics.o ktable.o zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/compress.o bzip2/decompress.o bzip2/bzlib.o -fopenmp<br>

g++ -Wall -O3 -fPIC -c -o test-HashTables.o test-HashTables.cc -fopenmp<br>
g++ -o test-HashTables test-HashTables.o counting.o hashbits.o hashtable.o subset.o parsers.o read_parsers.o khmer_config.o thread_id_map.o trace_logger.o perf_metrics.o ktable.o zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/compress.o bzip2/decompress.o bzip2/bzlib.o -fopenmp<br>

g++ -Wall -O3 -fPIC -c -o ht-diff.o ht-diff.cc<br>
g++ -o ht-diff ht-diff.o counting.o hashtable.o parsers.o read_parsers.o khmer_config.o thread_id_map.o trace_logger.o perf_metrics.o ktable.o zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/compress.o bzip2/decompress.o bzip2/bzlib.o<br>

make[1]: Leaving directory `/home/heather/khmer-screed/lib&#39;<br>
cd python &amp;&amp; \<br>
 make  DEFINE_KHMER_EXTRA_SANITY_CHECKS=&quot;&quot; \<br>
 CXX_DEBUG_FLAGS=&quot;&quot; \<br>
 CYTHON_ENABLED_BOOL=&quot;False&quot;<br>
make[1]: Entering directory `/home/heather/khmer-screed/python&#39;<br>
sed \<br>
 -e &#39;s/@DEFINE_KHMER_EXTRA_SANITY_CHECKS@//g&#39; \<br>
 -e &#39;s/@CXX_DEBUG_FLAGS@//g&#39; \<br>
 -e &#39;s/@CYTHON_ENABLED_BOOL@/False/g&#39; \<br>
 <a href="http://setup.py.in" target="_blank">setup.py.in</a> &gt; setup.py<br>
python setup.py build_ext -i<br>
running build_ext<br>
building &#39;khmer._khmermodule&#39; extension<br>
creating build<br>
creating build/temp.linux-x86_64-2.7<br>
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I../lib -I/usr/include/python2.7 -c _khmermodule.cc -o build/temp.linux-x86_64-2.7/_khmermodule.o<br>
cc1plus: warning: command line option &quot;-Wstrict-prototypes&quot; is valid for Ada/C/ObjC but not for C++<br>
In file included from /usr/include/python2.7/Python.h:8:0,<br>
 from _khmermodule.cc:7:<br>
/usr/include/python2.7/pyconfig.h:1155:0: warning: &quot;_POSIX_C_SOURCE&quot; redefined<br>
/usr/include/features.h:163:0: note: this is the location of the previous definition<br>
/usr/include/python2.7/pyconfig.h:1177:0: warning: &quot;_XOPEN_SOURCE&quot; redefined<br>
/usr/include/features.h:165:0: note: this is the location of the previous definition<br>
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.7/_khmermodule.o ../lib/khmer_config.o ../lib/thread_id_map.o ../lib/trace_logger.o ../lib/perf_metrics.o ../lib/read_parsers.o ../lib/ktable.o ../lib/hashtable.o ../lib/hashbits.o ../lib/counting.o ../lib/subset.o ../lib/zlib/adler32.o ../lib/zlib/compress.o ../lib/zlib/crc32.o ../lib/zlib/deflate.o ../lib/zlib/gzio.o ../lib/zlib/infback.o ../lib/zlib/inffast.o ../lib/zlib/inflate.o ../lib/zlib/inftrees.o ../lib/zlib/trees.o ../lib/zlib/uncompr.o ../lib/zlib/zutil.o ../lib/bzip2/blocksort.o ../lib/bzip2/huffman.o ../lib/bzip2/crctable.o ../lib/bzip2/randtable.o ../lib/bzip2/compress.o ../lib/bzip2/decompress.o ../lib/bzip2/bzlib.o ../lib/storage.hh ../lib/khmer.hh ../lib/khmer_config.hh ../lib/ktable.hh ../lib/hashtable.hh ../lib/counting.hh -L../lib -o /home/heather/khmer-screed/python/khmer/_khmermodule.so<br>

make[1]: Leaving directory `/home/heather/khmer-screed/python&#39;<br>
nosetests -v -x<br>
make: nosetests: Command not found<br>
make: *** [test] Error 127<br>
<br>
<br>
<br>
**************<br>
$ make all<br>
cd lib &amp;&amp; \<br>
 make CXX=&quot;g++&quot; CXXFLAGS=&quot; -Wall -O3 -fPIC&quot; LIBS=&quot;&quot;<br>
make[1]: Entering directory `/home/heather/khmer-screed/lib&#39;<br>
make[1]: Nothing to be done for `all&#39;.<br>
make[1]: Leaving directory `/home/heather/khmer-screed/lib&#39;<br>
cd python &amp;&amp; \<br>
 make  DEFINE_KHMER_EXTRA_SANITY_CHECKS=&quot;&quot; \<br>
 CXX_DEBUG_FLAGS=&quot;&quot; \<br>
 CYTHON_ENABLED_BOOL=&quot;False&quot;<br>
make[1]: Entering directory `/home/heather/khmer-screed/python&#39;<br>
python setup.py build_ext -i<br>
running build_ext<br>
make[1]: Leaving directory `/home/heather/khmer-screed/python&#39;<br>
<br>
***********************<br>
<br>
<br>
When trying to run one of the script:<br>
<br>
<br>
$ ./load-into-counting.py<br>
Traceback (most recent call last):<br>
 File &quot;./load-into-counting.py&quot;, line 16, in &lt;module&gt;<br>
 from khmer.threading_args import add_threading_args<br>
ImportError: No module named threading_args<br>
<br>
<br>
Would you please give me an hint on what is going on here?<br>
<br>
<br>
Cheers,<br>
Huan<br>
<div class="im"><br>
On 01/24/13, Eric McDonald  wrote:<br>
&gt; Huan,<br>
&gt;<br>
</div>&gt; Thank you for the nice bug report. I was able to reproduce the problem with the &amp;#39;master&amp;#39; (default) branch of the &amp;#39;ged-lab/khmer&amp;#39; repository. If this bug is preventing you from making progress, then I would recommend that you try our &quot;beta tester&quot; branch, known as &amp;#39;bleeding-edge&amp;#39;:<br>

<div class="im">&gt;<br>
&gt;<br>
&gt; git clone -b bleeding-edge <a href="http://github.com/ged-lab/khmer.git" target="_blank">http://github.com/ged-lab/khmer.git</a> khmer-BETA<br>
&gt;<br>
&gt;<br>
</div>&gt; The &amp;#39;bleeding-edge&amp;#39; branch contains rewritten FASTA and FASTQ parsers (among other things) and it fixes the problem you have reported. I get identical results for the raw FASTA and gzip&amp;#39;d FASTA files using this development branch.<br>

&gt;<br>
&gt;<br>
&gt; However, since &amp;#39;bleeding-edge&amp;#39; is for beta testing, there is the possibility that you may find new bugs elsewhere in the code. Please feel free to file more nice bug reports if you use that branch and encounter other bugs.<br>

&gt;<br>
&gt;<br>
&gt; Thanks!<br>
&gt; Eric<br>
<div class="im">&gt;<br>
&gt; On Thu, Jan 24, 2013 at 3:35 PM, Huan Fan &lt;<a href="mailto:hfan22@wisc.edu">hfan22@wisc.edu</a>(javascript:main.compose()&gt; wrote:<br>
&gt;<br>
&gt; &gt; Hi Titus,<br>
&gt; &gt;<br>
</div>&gt; &gt; This is follow-up on the gzip file issues we discussed last month. So I&amp;#39;ve been using &quot;load-into-counting.py&quot; and &quot;abundance-dist.py&quot; to calculate the abundance distribution of kmers in some gzip files. I found some of results weird and I suspect it might have to do with the files that are gziped. So I made a small test file and it did give different results on the original file and gziped one. The test files are attached and the command I ran and results are as follows:<br>

&gt; &gt;<br>
&gt; &gt; for test.fa with k=9<br>
&gt; &gt; $ ./load-into-counting.py -k 9 -N 4 -x 2e9 <a href="http://test_k9.kh" target="_blank">test_k9.kh</a>(<a href="http://test_k9.kh" target="_blank">http://test_k9.kh</a>) test.fa<br>
&gt; &gt; $ ./abundance-dist.py -s <a href="http://test_k9.kh" target="_blank">test_k9.kh</a>(<a href="http://test_k9.kh" target="_blank">http://test_k9.kh</a>) test.fa test_k9.hist<br>
<div class="im">&gt; &gt; result:<br>
&gt; &gt; 0 0 0 0.0<br>
</div>&gt; &gt; <a href="tel:1%20928%20928%200.993" value="+19289280993">1 928 928 0.993</a>(tel:1%20928%20928%200.993)<br>
<div class="im">&gt; &gt; 2 7 935 1.0<br>
&gt; &gt;<br>
&gt; &gt; for test.fa.gz with k=9<br>
</div>&gt; &gt; $ ./load-into-counting.py -k 9 -N 4 -x 2e9 <a href="http://test_k9_gz.kh" target="_blank">test_k9_gz.kh</a>(<a href="http://test_k9_gz.kh" target="_blank">http://test_k9_gz.kh</a>) test.fa.gz<br>
&gt; &gt;<br>
&gt; &gt; $ ./abundance-dist.py -s <a href="http://test_k9_gz.kh" target="_blank">test_k9_gz.kh</a>(<a href="http://test_k9_gz.kh" target="_blank">http://test_k9_gz.kh</a>) test.fa.gz test_k9_gz.hist<br>
<div class="im">&gt; &gt; result:<br>
&gt; &gt; 0 0 0 0.0<br>
&gt; &gt; 1 894 894 0.94 8<br>
&gt; &gt; 2 49 943 1.0<br>
&gt; &gt;<br>
&gt; &gt; According to the data itself, there should be 935 unique 9-mers in total and seven 9-mers appeared twice, just as the result for test.fa.<br>
&gt; &gt;<br>
&gt; &gt; Any idea what is going on here?<br>
&gt; &gt;<br>
&gt; &gt; Thanks very much!<br>
&gt; &gt;<br>
&gt; &gt; Cheers,<br>
&gt; &gt; Huan<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On 12/30/12, &quot;C. Titus Brown&quot; wrote:<br>
&gt; &gt; &gt; Excellent, glad to hear it!<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Yes, we need to invest in more of a documentation effort :)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; best,<br>
&gt; &gt; &gt; --titus<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Sun, Dec 30, 2012 at 05:12:35PM +0800, Huan Fan wrote:<br>
&gt; &gt; &gt; &gt; Hi Titus,<br>
&gt; &gt; &gt; &gt;<br>
</div>&gt; &gt; &gt; &gt; This is embarrasing. Yes it does! Sorry I shouldn&amp;#39;t have assumed that it doesn&amp;#39;t, merely because the example is given in .fa<br>
<div class="im">&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Thanks so much!<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; &gt; Huan<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On 12/30/12, &quot;C. Titus Brown&quot; wrote:<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Hi Huan,&lt; br /&gt;&gt; &gt; &gt;<br>
</div>&gt; &gt; &gt; &gt; &gt; are you sure it *doesn&amp;#39;t* read in gzipped files? It should. Which kind of<br>
<div class="im">&gt; &gt; &gt; &gt; &gt; hash table are you using -- counting or bit?<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; cheers,<br>
&gt; &gt; &gt; &gt; &gt; --titus<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Sat, Dec 29, 2012 at 09:09:49PM +0800, Huan Fan wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; Dear khmer developer(s),<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
</div>&gt; &gt; &gt; &gt; &gt; &gt; First of all thanks for those useful modules! I would like to use the function ht.consume_fasta in my pipeline(in python) however I work with really big files and they are always in gzip format. I am wondering whether it is possible to make ht.consume_fasta able to take gzip files? I don&amp;#39;t know C so I tried to &quot;graft&quot; some relevant code to hashtable.cc but failed. It will be really appreciated if you can make this feature available.<br>

<div class="im">&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Thanks ahead and happy holidays!&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; &gt; &gt; &gt; Huan<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; --<br>
</div>&gt; &gt; &gt; &gt; &gt; C. Titus Brown, <a href="mailto:ctb@msu.edu">ctb@msu.edu</a>(javascript:main.compose()<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; C. Titus Brown, <a href="mailto:ctb@msu.edu">ctb@msu.edu</a>(javascript:main.compose()<br>
<div class=""><div class="h5">&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Eric McDonald<br>
&gt; HPC/Cloud Software Engineer<br>
&gt; for the Institute for Cyber-Enabled Research (iCER)<br>
&gt; and the Laboratory for Genomics, Evolution, and Development (GED)<br>
&gt; Michigan State University<br>
&gt; P: <a href="tel:517-355-8733" value="+15173558733">517-355-8733</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div>Eric McDonald</div><div>HPC/Cloud Software Engineer</div><div>  for the Institute for Cyber-Enabled Research (iCER)</div><div>  and the Laboratory for Genomics, Evolution, and Development (GED)</div>
<div>Michigan State University</div><div>P: 517-355-8733</div></div>
</div></div>