From fc9cafec2e2115fd1493109469db07a0a271dd4b Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Tue, 1 Apr 2014 17:37:29 -0400 Subject: [PATCH] Hand merge of release/update_citations --- CITATION | 3 +- ChangeLog | 335 ++++++++++++++++++++++++++++++++++++++++++++ LICENSE | 34 +++++ doc/LICENSE.txt | 2 +- doc/release.txt | 2 +- khmer/khmer_args.py | 2 +- setup.py | 2 +- 7 files changed, 375 insertions(+), 5 deletions(-) create mode 100644 LICENSE diff --git a/CITATION b/CITATION index 9295cc8ebd..bec654d055 100644 --- a/CITATION +++ b/CITATION @@ -3,7 +3,8 @@ Software Citation If you use the khmer software, you must cite: - Crusoe et al., XXX, 2014. + Crusoe et al., The khmer software package: enabling efficient + sequence analysis. 2014. doi: 10.6084/m9.figshare.979190 If you use any of our published scientific methods, you should *also* cite the relevant paper(s), as directed below. diff --git a/ChangeLog b/ChangeLog index e38d441e1e..88a7755679 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2014-04-10 Michael R. Crusoe + + Version 1.0 + * Makefile: run 'build' command before install; ignore _version.py for + coverage purposes. + * bink.ipynb: deleted + * doc/choosing-hash-sizes.txt -> choosing-table-sizes.txt + * setup.py,doc/{conf.py,index.txt}: update lists of authors + * doc/development.txt: typo + * doc/{galaxy,guide,index,introduction,scripts}.txt: remove some + references to implementation details of the k-mer tables + * doc/{known-issues,release}.txt: updated + * khmer/*.cc,lib/*.{cc,hh}: astyle -A10 formatted + * lib/read_parsers.cc: fixed case statement fall through + * lib/subset.cc: removed unnecessary NULL check (CID 1054804 & 1195088) + * scripts/*.py: additional documentation updates + * tests/test-data/test-overlap1.ht,data/MSB2-surrender.fa & + data/1m-filtered.fa: removed from repository history, .git is now 36M! + +2014-04-01 Titus Brown + + * CITATION,khmer/khmer_args.py: Updated khmer software citation for + release. + 2014-03-31 Titus Brown * scripts/normalize-by-median.py: Fixed unbound variable bug introduced in @@ -291,3 +315,314 @@ project to conform to the standard layout * It is now easy to calculate code coverage. * setup.py is now PEP8 compliant +2014-04-10 Michael R. Crusoe + + * Makefile: run 'build' command before install; ignore _version.py for + coverage purposes. + * bink.ipynb: deleted + * doc/choosing-hash-sizes.txt -> choosing-table-sizes.txt + * setup.py,doc/{conf.py,index.txt}: update lists of authors + * doc/development.txt: typo + * doc/{galaxy,guide,index,introduction,scripts}.txt: remove some + references to implementation details of the k-mer tables + * doc/{known-issues,release}.txt: updated + * khmer/*.cc,lib/*.{cc,hh}: astyle -A10 formatted + * lib/read_parsers.cc: fixed case statement fall through + * lib/subset.cc: removed unnecessary NULL check (CID 1054804 & 1195088) + * scripts/*.py: additional documentation updates + * tests/test-data/test-overlap1.ht,data/MSB2-surrender.fa & + data/1m-filtered.fa: removed from repository history, .git is now 36M! + +2014-03-31 Titus Brown + + * scripts/normalize-by-median.py: Fixed unbound variable bug introduced in + 20a433c2. + + * khmer/file.py: Fixed incorrect use of __file__ dirname instead of + os.getcwd(); also fixed bug where statvfs would choke on an empty + dirname resulting from input files being in the cwd. + +2014-03-31 Michael R. Crusoe + + * versioneer.py,ez_setup.py: updated to version 0.10 and 3.4.1 + respectively. + * docs/release.txt,khmer/_version.py,MANIFEST.in: update ancillary + versioneer files + +2014-03-31 Titus Brown + + * scripts/*.py,khmer/khmer_args.py: added 'info' function to khmer_args, + and added citation information to each script. + * CITATION: added basic citation information for khmer functionality. + +2013-03-31 Michael R. Crusoe + + * docs/scripts.txt,scripts/*.py,khmer/*.py: overhaul the documentation of + the scripts. Uses sphinxcontrib.autoprogram to leverage the existing + argparse objects. Moved the documentation into each script + misc cleanups. + All scripts support the --version option. Migrated the last scripts to use + khmer_args + * docs/blog-posts.txt: removed outdated reference to filter-exact.py; its + replacement filter-abund.py is better documented in the eel-pond protocol + * figuregen/,novelty/,plots/,templatem/,scripts/do-partition.sh: removed + outdated code not part of core project + +2013-03-30 Michael R. Crusoe + + * setup.py: monkeypatched distutils.Distribution.reinitialize_command() so + that it matches the behavior of Distribution.get_command_obj(). This fixes + issues with 'pip install -e' and './setup.py nosetests' not respecting the + setup.cfg configuration directives for the build_ext command. Also + enhanced our build_ext command to respect the dry_run mode. + + * .ycm_extra_conf.py: Update our custom YouCompleteMe configuration to + query the package configuration for the proper compilation flags. + +2014-03-28 Michael R. Crusoe + + * Makefile,setup.py: demote nose & sphinx to extra dependencies. + Auto-install Python developer tools as needed. + +2013-03-27 Michael R. Crusoe + + * The system zlib and bzip2 libraries are now used instead of the bundled + versions if specified in setup.cfg or the command line. + +2014-03-25 Michael R. Crusoe + + * Makefile: update cppcheck command to match new version of Jenkins + plugin. Now ignores the lib/test*.cc files. + +2013-03-20 Michael R. Crusoe + + * lib/storage.hh,khmer/_khmermodule.cc,lib/{readtable,read_parsers}.hh: + remove unused storage.hh + +2014-03-19 Qingpeng Zhang + + * hashbits.cc: fix a bug of 'Division or modulo by zero' described in #182 + * test_scripts.py: add test code for count-overlap.py + * count-overlap.py: (fix a bug because of a typo and hashsize was replaced + by min_hashsize) + * count-overlap.py: needs hashbits table generated by load-graph.py. + This information is added to the "usage:" line. + * count-overlap.py: fix minor PyLint issues + +2014-03-19 Michael R. Crusoe + + * Update bundled zlib version to 1.2.8 from 1.2.3. Changes of note: + "Wholesale replacement of gz* functions with faster versions" + "Added LFS (Large File Summit) support for 64-bit file offsets" + "Fix serious but very rare decompression bug" + +2014-03-19 Michael R. Crusoe + + * lib/counting.hh: include hashtable.hh + * lib/{counting,aligner,hashbits,hashtable,labelhash,node,subset}.{cc,hh}, + kmer.cc,khmer/_khmermodule.cc: removed downcast, replaced non-functional + asserts() with exception throws. + * khmer/_khmermodule.cc: fixed parsing of PyLists + * setup.py: force 64bit only builds on OS X. + +2014-03-19 Titus Brown + + * Makefile: update documentation on targets at top; clean autopep8 output. + * test_counting_single.py: fixed pep8 violations in spacing + * test_scripts.py: eliminate popenscript in favor of proper SystemExit + handling in runscript; fix pep8 violations. + +2014-03-19 Michael R. Crusoe and Luiz Irber + + + * lib/ktable.{cc,hh},khmer/{__init__.py},{_khmermodule.cc}, tests/ + test_{counting_{hash,single},ktable}.py: remove the unused KTable object + * doc/{index,ktable}.txt: remove references to KTable + * lib/{ktable.{hh,cc} → kmer_hash.{hh,cc}}: rename remaining ktable files + to kmer_hash + * lib/{hashtable,kmer}.hh: replace ktable headers with kmer_hash + +2014-03-17 Ram RS + + * extract-partitions.py: pylint warnings addressed + * test_scripts.py: tests added to cover extract-partitions completely + +2014-03-16 Michael R. Crusoe + + * lib/read_parsers.cc: fix for Coverity CID 1054789: Unititialized scalar + field II: fill_id is never zeroed out. + +2014-03-16 Ram RS + + * Project email in copyright headers updated + +2014-03-14 Michael R. Crusoe + + * khmer/_khmermodule.cc, lib/{khmer.hh, hashtable.{cc,hh}}, + tests/test_{hashbits,hashbits_obj,labelhash}.py: don't implicitly downcast + tagset_size(). Changes fileformat version for saved tagsets. + +2014-03-13 Ram RS + + * added: khmer/file.py - script to check disk space, check input file + status and check space before hashtable writing + * modified: scripts/*.py - all scripts now use khmer.file for above-mentioned + functionality. + * modified: scripts/*.py - pylint violations addressed in all scripts + under scripts/ + +2014-03-13 Ram RS + + * Bug fix: tests.test_normalize_by_median_no_bigcount() now runs within + temp directory + +2014-03-11 Michael R. Crusoe + + * lib/read_parsers.hh: fix for Coverity CID 1054789: Uninitialized scalar + field + +2014-03-10 Michael R. Crusoe + + * doc/development.txt: document fork/tag policy + formatting fixes + +2014-03-03 Michael R. Crusoe + + * lib/trace_logger.{cc,hh}: fix for Coverity CID 1063852: Uninitialized + scalar field (UNINIT_CTOR) + * lib/node.cc: fix for Coverity CID 1173035: Uninitialized scalar field + (UNINIT_CTOR) + * lib/hashbits.hh: fix for Coverity CID 1153101: Resource leak in object + (CTOR_DTOR_LEAK) + * lib/{perf_metrics.{cc,hh},hashtable.{cc,hh} + ,read_parsers.{cc,hh},trace_logger.{cc,hh}}: ifndef WITH_INTERNAL_METRICS + then lets not + astyle -A10 + +2014-02-27 Michael R. Crusoe + + * tagged: version 0.8 + * setup.py: Specify a known working version of setuptools so we don't + force an unneeded and awkward upgrade. + * setup.py: We aren't zipsafe, mark as such + +2014-02-18 Michael R. Crusoe + +* Normalized C++ namespace usage to fix CID 1054792 +* Updated install instructions. We recommend OS X users and those Linux +users without root access to install virtualenv instead of pip. +* New documentation: doc/known-issues.txt +* Added code review checklist & other guidance: doc/development.txt + +2014-02-03 Camille Scott + +* Standardized command line arguments in khmer_args; added version flag + +* Added support for sparse graph labeling + +* Added script to reinflate partitions from read files using the + labeling system, called sweep-reads-by-partition-buffered.py + +* Implemented __new__ methods for Hashbits, enforced inheritance + hierarchy between it and the new LabelHash class both in C++ + and CPython API + +2013-12-20 Titus Brown + +* Fixed output_partitioned_file, sweep-reads3.py, and extract-partitions.py + to retain FASTQ format in output. + +2013-12-11 Michael R. Crusoe + +* normalize-by-median.py: new optional argument: --record-filenames to specify +a path where a list of all the output filenames will be written to. Will +be used to better integrate with Galaxy. + +* All commands that use the counting args now support the --version switch + +* abundance-dist-single.py, abundance-dist.py, do-partition.py, +interleave-reads.py, load-graph.py, load-into-counting.py +normalize-by-median.py now exit with return code 1 instead of 255 as is +standard. + +2013-12-19 Michael R. Crusoe + +* doc/install.txt Add setup instructions for RHEL6 & fix invocation to get +master branch to work for non-developers + +2013-12-18 Titus Brown + +* Added a test to ensure that normalize-by-median.py has bigcount set to + False. + +2013-11-22 Camille Scott + +* Makefile: Added debug target for profiling. + +2013-11-22 Michael R. Crusoe + +* Documented release process + +2013-10-21 Michael R. Crusoe + +* Version 0.7 + +* New script: sample-reads-randomly.py which does a single pass random +subsample using reservoir sampling. + +* the version number is now only stored in one place + +* Makefile: new dist, cppcheck, pep8, and autopep8 targets for developers. +VERSION is now set by versioneer and exported to C/C++ code. + +* README switched from MarkDown to ReStructuredText format to clean up PyPI +listing. Install count badge added. + +* doc/: updates to how the scripts are called. Sphinx now pulls version +number from versioneer. C/Python integration is now partially documented. +Reference to bleeding-edge has been removed. Release instructions have been +clarified and simplified. + +* all python code in khmer/, scripts/, and tests/ should be PEP8 compliant now. + +* khmer/_khmermodule.cc has gotten a once-over with cpychecker. Type errors +were eliminated and the error checking has improved. + +* Several fixes motivated by the results of a Coverity C/C++ scan. + +* Tests that require greater than 0.5 gigabytes of memory are now annotated as +being 'highmem' and be skipped by changing two lines in setup.cfg + +* warnings about -Wstrict-prototypes will no longer appear + +* contributors to this release are: ctb, mr-c and camillescott. + +2013-10-15 Michael R. Crusoe + +* Version 0.6.1 + +* No code changes, just build fixes + +2013-10-10 Michael R. Crusoe + +* Version 0.6 + +* Switch to setuptools to run the entire build + +* The various Makefiles have been merged into one inside lib for posterity + +* A new top-level Makefile wraps "python setup.py" + +* argparse.py has been removed and is installed automatically by setuptools/pip + +* setup.py and the python/khmer directory have been moved to the root of the +project to conform to the standard layout + +* The project contact address is now khmer-project@idyll.org + +* Due to the new build system the project now easily builds under OS X + XCode + +* In light of the above the installation instructions have been rewritten + +* Sphinx now builds the documentation without warnings or errors + +* It is now easy to calculate code coverage. + +* setup.py is now PEP8 compliant diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..e29611e626 --- /dev/null +++ b/LICENSE @@ -0,0 +1,34 @@ +======= +License +======= + +Copyright (c) 2010-2014, Michigan State University. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the Michigan State University nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/doc/LICENSE.txt b/doc/LICENSE.txt index 0daadd5c6b..e29611e626 100644 --- a/doc/LICENSE.txt +++ b/doc/LICENSE.txt @@ -2,7 +2,7 @@ License ======= -Copyright (c) 2010, Michigan State University. All rights reserved. +Copyright (c) 2010-2014, Michigan State University. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/doc/release.txt b/doc/release.txt index 920c3fed16..1ec9e82804 100644 --- a/doc/release.txt +++ b/doc/release.txt @@ -9,7 +9,7 @@ Michael R. Crusoe is the current release maker. This is his checklist. #. The below should be done in a clean checkout:: cd `mktemp -d` - git clone git@github.com:ged-lab/khmer.git + git clone --depth 1 git@github.com:ged-lab/khmer.git cd khmer #. (Optional) Check for updates to ``ez_setup.py`` and versioneer:: diff --git a/khmer/khmer_args.py b/khmer/khmer_args.py index a8f3ea9bff..7a8f844c1e 100644 --- a/khmer/khmer_args.py +++ b/khmer/khmer_args.py @@ -168,7 +168,7 @@ def add_threading_args(parser): help='Number of simultaneous threads to execute') _algorithms = { - 'software': 'MR Crusoe et al., XXX, 2014.', + 'software': 'MR Crusoe et al., 2014. doi: 10.6084/m9.figshare.979190', 'diginorm': "CT Brown et al., arXiv:1203.4802 [q-bio.GN]", 'graph': "J Pell et al., PNAS, 2014 (PMID 22847406)", 'counting': "Q Zhang et al., arXiv:1309.2975 [q-bio.GN]", diff --git a/setup.py b/setup.py index b87d410420..057d470334 100755 --- a/setup.py +++ b/setup.py @@ -112,7 +112,7 @@ "include_package_data": True, "zip_safe": False, "classifiers": [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: MacOS X", "Intended Audience :: Science/Research",