<div dir="ltr">Hi Huan,<div><br></div><div>Thank you for the information. The problem is as I suspected - you are not using the correct &#39;khmer&#39;. Details inline below:</div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Wed, Mar 13, 2013 at 1:08 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
heather@chc2-desktop:~/khmer-BETA/scripts$ ./load-into-counting.py<br>
<div class="im">Traceback (most recent call last):<br>
</div> File &quot;./load-into-counting.py&quot;, line 17, in &lt;module&gt;<br>
<div class="im"> from khmer.threading_args import add_threading_args<br>
ImportError: No module named threading_args<br>
<br>
</div>heather@chc2-desktop:~/khmer-BETA/scripts$ python -c &quot;import khmer; print khmer.__file__&quot;<br>
/usr/local/lib/python2.7/dist-packages/khmer-0.4-py2.7-linux-x86_64.egg/khmer/__init__.pyc<br>
<br></blockquote><div><br></div><div style>This is the wrong &#39;khmer&#39;. The correct output should be:</div><div style>    /home/heather/khmer-BETA/python/khmer/__init__.pyc</div><div style>and that will only happen if you set the PYTHONPATH correctly.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
heather@chc2-desktop:~/khmer-BETA/scripts$ test -r python/khmer/threading_args.py; echo $?<br>
1<br></blockquote><div> </div><div style>Sorry, that command should be:</div><div style>    test -r ~/khmer-BETA/python/khmer/threading_args.py; echo $?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

heather@chc2-desktop:~/khmer-BETA/scripts$ echo $PYTHONPATH<br>
/home/heather/screed<br></blockquote><div><br></div><div style>You also need the path to your &#39;khmer&#39; in PYTHONPATH. Please try:</div><div style>    export PYTHONPATH=&quot;$HOME/screed:$HOME/khmer-BETA/python&quot;</div>
<div style>    echo $PYTHONPATH</div><div style> and then:</div><div style>    ./load-into-counting.py</div><div><br></div><div style>Hope this helps,</div><div style>  Eric</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">
<br>
On 03/12/13, Eric McDonald  wrote:<br>
</div>&gt; Hi Huan,<br>
&gt;<br>
&gt; (This is a follow-up on a conversation we had in January about the &amp;#39;khmer&amp;#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....)<br>

<div class="im">&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Thanks for the report. I cannot reproduce the problem.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div>&gt; Let&amp;#39;s verify that Python is looking at the correct khmer. Can you please report the output of:<br>
<div class="im">&gt;<br>
&gt;<br>
&gt; python -c &quot;import khmer; print khmer.__file__&quot;<br>
&gt;<br>
&gt;<br>
&gt; Also, can you report the output of:<br>
&gt;<br>
&gt;<br>
&gt; test -r python/khmer/threading_args.py; echo $?<br>
&gt;<br>
&gt;<br>
&gt; And, for good measure, what is the output of:<br>
&gt;<br>
&gt; echo $PYTHONPATH<br>
&gt; echo $PATH<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 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.<br>

&gt;<br>
&gt;<br>
</div>&gt; One thing which may help you is the &amp;#39;virtualenv&amp;#39; package. If you have &amp;#39;virtualenv&amp;#39; installed, then you should be able to do the following steps:<br>
<div class="im">&gt;<br>
&gt;<br>
&gt; virtualenv --no-site-packages PYTHON-ENV<br>
&gt; . PYTHON-ENV/bin/activate<br>
&gt; (cd screed &amp;&amp; python setup.py install)<br>
&gt; (cd khmer &amp;&amp; make -j4 &amp;&amp; cd python &amp;&amp; python setup.py install)<br>
&gt;<br>
&gt;<br>
&gt; Once you have done that, then, in the future, you will only need to do:<br>
&gt;<br>
&gt;<br>
&gt; . PYTHON-ENV/bin/activate<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Eric<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div><div class="im">&gt; On Sat, Jan 26, 2013 at 1:05 PM, Huan Fan &lt;<a href="mailto:hfan22@wisc.edu">hfan22@wisc.edu</a> &lt;<a href="mailto:hfan22@wisc.edu">hfan22@wisc.edu</a>&#39;)&quot; target=&quot;1&quot;&gt;<a href="mailto:hfan22@wisc.edu">hfan22@wisc.edu</a>&gt; wrote:<br>

&gt;<br>
&gt; &gt; Hi Eric,<br>
&gt; &gt;<br>
&gt; &gt; Thanks very much for looking into this!<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; 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>

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

&gt; &gt; g++ -Wall -O3 -fPIC -c -o test-StreamReader.o test-StreamReader.cc<br>
&gt; &gt; 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>

&gt; &gt; g++ -Wall -O3 -fPIC -c -o test-CacheManager.o test-CacheManager.cc -fopenmp<br>
&gt; &gt; test-CacheManager.cc: In function ‘int main(int, char**)’:<br>
&gt; &gt; test-CacheManager.cc:106:11: warning: unused variable ‘segment_cut_pos’<br>
&gt; &gt; 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>

&gt; &gt; g++ -Wall -O3 -fPIC -c -o test-Parser.o test-Parser.cc -fopenmp<br>
&gt; &gt; test-Parser.cc: In function ‘int main(int, char**)’:<br>
&gt; &gt; test-Parser.cc:73:11: warning: unused variable ‘seq_len’<br>
&gt; &gt; test-Parser.cc:74:37: warning: unused variable ‘ofile_name’<br>
&gt; &gt; test-Parser.cc:75:10: warning: unused variable ‘ofile_handle’<br>
&gt; &gt; 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>

&gt; &gt; g++ -Wall -O3 -fPIC -c -o test-HashTables.o test-HashTables.cc -fopenmp<br>
&gt; &gt; 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>

&gt; &gt; g++ -Wall -O3 -fPIC -c -o ht-diff.o ht-diff.cc<br>
&gt; &gt; 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>

</div></div>&gt; &gt; make[1]: Leaving directory `/home/heather/khmer-screed/lib&amp;#39;<br>
<div class="im">&gt; &gt; cd python &amp;&amp; \<br>
&gt; &gt; make DEFINE_KHMER_EXTRA_SANITY_CHECKS=&quot;&quot; \<br>
&gt; &gt; CXX_DEBUG_FLAGS=&quot;&quot; \<br>
&gt; &gt; CYTHON_ENABLED_BOOL=&quot;False&quot;<br>
</div><div class="im">&gt; &gt; make[1]: Entering directory `/home/heather/khmer-screed/python&amp;#39;<br>
&gt; &gt; sed \<br>
&gt; &gt; -e &amp;#39;s/@DEFINE_KHMER_EXTRA_SANITY_CHECKS@//g&amp;#39; \<br>
&gt; &gt; -e &amp;#39;s/@CXX_DEBUG_FLAGS@//g&amp;#39; \<br>
&gt; &gt; -e &amp;#39;s/@CYTHON_ENABLED_BOOL@/False/g&amp;#39; \<br>
</div>&gt; &gt; <a href="http://setup.py.in" target="_blank">setup.py.in</a>(<a href="http://setup.py.in" target="_blank">http://setup.py.in</a>) &gt; setup.py<br>
<div class="im">&gt; &gt; python setup.py build_ext -i<br>
&gt; &gt; running build_ext<br>
</div>&gt; &gt; building &amp;#39;khmer._khmermodule&amp;#39; extension<br>
<div class="im">&gt; &gt; creating build<br>
&gt; &gt; creating build/temp.linux-x86_64-2.7<br>
&gt; &gt; 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>
&gt; &gt; cc1plus: warning: command line option &quot;-Wstrict-prototypes&quot; is valid for Ada/C/ObjC but not for C++<br>
&gt; &gt; In file included from /usr/include/python2.7/Python.h:8:0,<br>
&gt; &gt; from _khmermodule.cc:7:<br>
&gt; &gt; /usr/include/python2.7/pyconfig.h:1155:0: warning: &quot;_POSIX_C_SOURCE&quot; redefined<br>
&gt; &gt; /usr/include/features.h:163:0: note: this is the location of the previous definition<br>
&gt; &gt; /usr/include/python2.7/pyconfig.h:1177:0: warning: &quot;_XOPEN_SOURCE&quot; redefined<br>
&gt; &gt; /usr/include/features.h:165:0: note: this is the location of the previous definition<br>
&gt; &gt; 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>

</div>&gt; &gt; make[1]: Leaving directory `/home/heather/khmer-screed/python&amp;#39;<br>
<div class="im">&gt; &gt; nosetests -v -x<br>
&gt; &gt; make: nosetests: Command not found<br>
&gt; &gt; make: *** [test] Error 127<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; **************<br>
&gt; &gt; $ make all<br>
&gt; &gt; cd lib &amp;&amp; \<br>
&gt; &gt; make CXX=&quot;g++&quot; CXXFLAGS=&quot; -Wall -O3 -fPIC&quot; LIBS=&quot;&quot;<br>
</div>&gt; &gt; make[1]: Entering directory `/home/heather/khmer-screed/lib&amp;#39;<br>
&gt; &gt; make[1]: Nothing to be done for `all&amp;#39;.<br>
&gt; &gt; make[1]: Leaving directory `/home/heather/khmer-screed/lib&amp;#39;<br>
<div class="im">&gt; &gt; cd python &amp;&amp; \<br>
&gt; &gt; make DEFINE_KHMER_EXTRA_SANITY_CHECKS=&quot;&quot; \<br>
&gt; &gt; CXX_DEBUG_FLAGS=&quot;&quot; \<br>
&gt; &gt; CYTHON_ENABLED_BOOL=&quot;False&quot;<br>
</div>&gt; &gt; make[1]: Entering directory `/home/heather/khmer-screed/python&amp;#39;<br>
<div class="im">&gt; &gt; python setup.py build_ext -i<br>
&gt; &gt; running build_ext<br>
</div>&gt; &gt; make[1]: Leaving directory `/home/heather/khmer-screed/python&amp;#39;<br>
<div class="im">&gt; &gt;<br>
&gt; &gt; ***********************<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; When trying to run one of the script:<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; $ ./load-into-counting.py<br>
&gt; &gt; Traceback (most recent call last):<br>
&gt; &gt; File &quot;./load-into-counting.py&quot;, line 16, in &lt;module&gt;<br>
&gt; &gt; from khmer.threading_args import add_threading_args<br>
&gt; &gt; ImportError: No module named threading_args<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Would you please give me an hint on what is going on here?<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Cheers,<br>
&gt; &gt; Huan<br>
&gt; &gt;<br>
&gt; &gt; On 01/24/13, Eric McDonald wrote:<br>
&gt; &gt; &gt; Huan,<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &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>

&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Thanks!<br>
&gt; &gt; &gt; Eric<br>
&gt; &gt; &gt;<br>
</div><div class="im">&gt; &gt; &gt; On Thu, Jan 24, 2013 at 3:35 PM, Huan Fan &lt;<a href="http://test_k9.kh" target="_blank">test_k9.kh</a>(javascript:main.compose(&#39;new&#39;, &#39;t=<a href="mailto:hfan22@wisc.edu">hfan22@wisc.edu</a>&gt;(java_script:main.compose()&gt; wrote:<br>

&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hi Titus,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt; &gt; for test.fa with k=9<br>
</div>&gt; &gt; &gt; &gt; $ ./load-into-counting.py -k 9 -N 4 -x 2e9 &gt; &gt; result:<br>
&gt; &gt; &gt; &gt; 0 0 0 0.0<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt; 1 928 928 0.993(tel:1%20928%20928%200.993)(tel:1%20928%20928%200.993)<br>
<div class="im">&gt; &gt; &gt; &gt; 2 7 935 1.0<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; for test.fa.gz with k=9<br>
&gt; &gt;<br>
</div>&gt; &gt; &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>)(<a href="http://test_k9_gz.kh" target="_blank">http://test_k9_gz.kh</a>) test.fa.gz<br>

&gt; &gt; &gt; &gt;<br>
&gt; &gt; &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>)(<a href="http://test_k9_gz.kh" target="_blank">http://test_k9_gz.kh</a>) test.fa.gz test_k9_gz.hist<br>

<div><div class="h5">&gt; &gt; &gt; &gt; result:<br>
&gt; &gt; &gt; &gt; 0 0 0 0.0<br>
&gt; &gt; &gt; &gt; 1 894 894 0.94 8<br>
&gt; &gt; &gt; &gt; 2 49 943 1.0<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Any idea what is going on here?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Thanks very 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;<br>
&gt; &gt; &gt; &gt; On 12/30/12, &quot;C. Titus Brown&quot; wrote:<br>
&gt; &gt; &gt; &gt; &gt; Excellent, glad to hear it!<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Yes, we need to invest in more of a documentation effort :)<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; best,<br>
&gt; &gt; &gt; &gt; &gt; --titus<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Sun, Dec 30, 2012 at 05:12:35PM +0800, Huan Fan wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hi Titus,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &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>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Thanks so much!<br>
&gt; &gt; &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; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; On 12/30/12, &quot;C. Titus Brown&quot; wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi Huan,&lt; br /&gt;&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; are you sure it *doesn&amp;#39;t* read in gzipped files? It should. Which kind of<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; hash table are you using -- counting or bit?<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; cheers,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; --titus<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &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; &gt; &gt; Dear khmer developer(s),<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &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>

&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Thanks ahead and happy holidays!&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Huan<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt;<br>
</div></div>&gt; &gt; &gt; &gt; &gt; &gt; &gt; C. Titus Brown, <a href="mailto:ctb@msu.edu">ctb@msu.edu</a> &lt;<a href="mailto:ctb@msu.edu">ctb@msu.edu</a>&gt;(java_script:main.compose()<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; C. Titus Brown, <a href="mailto:ctb@msu.edu">ctb@msu.edu</a> &lt;<a href="mailto:ctb@msu.edu">ctb@msu.edu</a>&gt;(java_script:main.compose()<br>
<div class="im">&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Eric McDonald<br>
&gt; &gt; &gt; HPC/Cloud Software Engineer<br>
&gt; &gt; &gt; for the Institute for Cyber-Enabled Research (iCER)<br>
&gt; &gt; &gt; and the Laboratory for Genomics, Evolution, and Development (GED)<br>
&gt; &gt; &gt; Michigan State University<br>
</div>&gt; &gt; &gt; P: 517-355-8733(tel:517-355-8733)<br>
<div class="HOEnZb"><div class="h5">&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: 517-355-8733<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></div>