Difference between revisions of "LibStatGen Download"

From Genome Analysis Wiki
Jump to navigationJump to search
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Software]]
+
= General libStatGen Information =
[[Category:C++]]
+
See [[C++ Library: libStatGen]].
[[Category:libStatGen]]
 
  
== Download ==
+
= Latest Development Versions =
Click the link to download the tar of the statgen library and tools: [[Media:StatGen.0.1.4.tgz‎|StatGen.0.1.4.tgz‎]] - Released 1/21/2011
+
For information about obtaining the latest Development Versions, see [[C++ Library: libStatGen#Where to Find It|Where to Find libStatGen]]
  
'''If you use this software, please e-mail me, Mary Kate Trost, at mktrost@umich.edu'''
+
= Official Releases =
 +
If you prefer to run the last official release rather than the latest development version, you can download that here.
  
This version is recommended for Unix users with access to the GNU C++ compiler.
+
To install an official release, unpack the downloaded file (tar xvf), cd into the libStatGen directory and type <code>make all</code>.  
  
To install, unpack the downloaded file (tar xvf), cd into the statgen directory and type make.
 
  
=== Notes ===
+
'''LibStatGen.1.0.14 Release Notes'''
* This software requires zlib to be installed on your machines.
+
*Version 1.0.14 - Released 7/8/2015
* This software requires openssl and md5 (libssl-dev on ubuntu)
+
** https://github.com/statgen/libStatGen/archive/v1.0.14.tar.gz
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
 +
*** General Updates:
 +
**** Compiling Updates:
 +
***** PedigreeLoader.cpp - fix bool vs int definition
 +
***** InputFile - add 'const' to isOpen and ifeof methods. Also add comments about usage of 'operator >>'
 +
*** Bam/Tabix Updates:
 +
**** Update how the index is stored in memory to not preallocate the maximum number of bins for each reference as this could use a lot of memory if there are a lot of references
 +
*** BAM Updates:
 +
**** SamFilter
 +
***** Update to clear MapQ and N/A flags when marking as unmapped
 +
***** Fix bug in clipping logic that didn't properly adjust the start position if the read was already clipped
 +
*** VCF Updates:
 +
**** Add missing include for c++11
  
* '''Current Release Notes''' (1/21/2011)
 
** Added the following programs:
 
*** glfMerge
 
*** glfMultiples
 
  
 +
'''LibStatGen.1.0.13 Release Notes'''
 +
*Version 1.0.13 - Released 2/20/2015
 +
** https://github.com/statgen/libStatGen/archive/v1.0.13.tar.gz
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
 +
*** General Updates:
 +
**** Added knetfile support to InputFile (only for bgzf files if KNET_ON=1 is set on compile line
 +
**** GzipHeader - fix signed/unsigned comparison compile issue
 +
**** Upgrade bgzf (also allow append mode)
 +
*** Makefiles Updates:
 +
**** Update dependencies to fix/improve some compiling issues
 +
*** PhoneHome Updates:
 +
**** Allow PhoneHome to be a legacy parameter
 +
**** Update new version available message to stand out more
 +
**** Fix bugs in checks for new version since it wasn't finding it.
 +
*** BAM Updates:
 +
**** SamReferenceInfo operator== - fix to not check hash, since hash could be different for same info
 +
**** Pileup - improve error message for buffer overrun
 +
*** VCF Updates:
 +
**** Add option to update GT field
 +
**** Add subset samples parameter to ReadRecord
 +
**** Improve handling of adding CO header
  
=== Problems in Current Release ===
+
''' Older Releases'''
Let me know if you experience any of these problems as we may already have a fix you can use:
+
*[[Media:LibStatGen.1.0.12.tgz‎|LibStatGen.1.0.12.tgz‎]] - Released 5/14/2014
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
 +
*** General Updates:
 +
**** Improve Makefiles for adding additional libraries/creating external libraries
 +
**** Cleanup compiling for mingw
 +
**** Cleanup Copyrights
 +
*** BAM Updates:
 +
**** Update rmTags & getTagsString to accept ',' delimiter rather than just ';'
 +
*[[Media:LibStatGen.1.0.11.tgz‎|LibStatGen.1.0.11.tar.gz‎]] - Released 2/28/2014
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
 +
*** General Updates:
 +
**** Cleanup compile warnings - should improve compatibility with Windows, RedHat, and older and newer compilers
 +
**** StringBasics: Improve off-by-one overflow handling (from github user wavexx)
 +
*** BAM Updates:
 +
**** Fix it to properly handle 'B' & 'f' tags
 +
**** Fix handling of duplicate tags
 +
*** PhoneHome Updates:
 +
**** Add parameters names (not values) to PhoneHome URL
 +
*** VCF Updates:
 +
**** Move allele count logic from VcfFileReader into VcfRecord.
 +
*[[Media:LibStatGen.1.0.10.tar.gz‎|LibStatGen.1.0.10.tar.gz‎]] - Released 1/2/2014
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
 +
*** Updates:
 +
**** Add PhoneHome/version checking logic
 +
***General Updates:
 +
**** fix use of strncpy to fix compile problem for some users
 +
**** Fix compile problem on gcc 4.8.1 by adding -Wno-strict-overflow in general/Makefile after -Werror
 +
**** Reduce the default IFILE read buffer size from 1MB to 64KB.
 +
**** Fix ifclose to take a IFILE reference so it can make the pointer 0 after closing
 +
**** StringBasics::AsInteger now returns false if the string is empty.
 +
**** GzipFileType - update to accept -.gz as stdin/stdout
 +
**** Remove unnecssary line from Parameters Status call
 +
**** Fix memory leak on Tabix destructor
 +
*** Vcf Updates:
 +
**** VCF - add class/methods to discard records based on ID
 +
*** Bam Updates:
 +
**** SamFlag - add isSecondary check
 +
**** Fix SamFile so it only allows '-', '-.sam', '-.bam', or '-.ubam' to indicate reading from stdin rather than anything that starts with '-' in order to protect it from misinterpreting another parameter as the stdin filename
 +
**** SamRecord: Add warnings about Duplicate Tags being overwritten
 +
**** SamFile - improve sort order validation error messages and compare using both String::Compare and strcmp to handle various sort mechanisms since neither matches samtools exactly (if either is successful, the sort order is OK)
 +
*** Glf Updates:
 +
**** GlfFile cleanup bugs/handle missind endMarkers & update "get" methods to be const
  
* None reported yet.
+
*[[Media:LibStatGen.1.0.9.tgz‎|LibStatGen.1.0.9.tgz‎]] - Released 7/7/2013
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
 +
*** Updates:
 +
**** Update Makefile processing to check for a Makefile in the test directory before recursively calling make in there
 +
**** Replace CFLAGS wtih COMPFLAGS
 +
**** Update the Windows WIN32 if statements
 +
***General Updates:
 +
**** Add boundary check to StringBasics memory
 +
**** Added support for new CIGAR characters (X & =)
 +
**** Update bug in PedigreeLoader to specify WHITESPACE
 +
**** add accessors for getting tabix information
 +
*** Vcf Updates:
 +
**** add ability to drop trailing missing Genotype fields
 +
**** check that the tabix index is for VCF file type
 +
**** Fix broken dependency
 +
*** Bam Updates:
 +
**** SamHeaderRecord: add accessor to get the value for the key
 +
**** update some classes to have virtual destructors
  
  
=== Previous Versions ===
+
*[[Media:LibStatGen.1.0.8.tgz‎|LibStatGen.1.0.8.tgz‎]] - Released 1/29/2013
* [[Media:StatGen.0.1.3.tgz‎|StatGen.0.1.3.tgz‎]] - Released 1/19/2011
+
** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
** Added the following programs:
+
*** Updates:
*** mgpileup
+
**** Added VCF file handling (merged the vcf branch to master)
*** thunderVCF
+
**** Add support for reading Tabix files
*** vcfCooker
+
**** Add ReusableVector class that holds vectors that will remove only the last or be reset & reused without clearing memory.
*** verifyBamID
+
 
** BAM
+
*[[Media:LibStatGen.1.0.7.tgz‎|LibStatGen.1.0.7.tgz‎]] - Released 1/29/2013
*** Fixed bug in SamQuerySeqWithRefIter
+
** Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
*** Add handling of the reference to the SAM Library to allow the conversion of SAM Record Sequence to/from using '=' or just bases.
+
*** Updates:
**** Add the conversion to/from '=' in the sequence to the bam Convert program.
+
**** Add operator== to StringIntHash
*** Add the ability to read the header when opening a BAM/SAM file.
+
**** Cleanup compiling for files that are just headers with no .cpp
*** Update SetReadSection to reset the data for validating sorting since it can jump around in the file.
+
**** Update Makefile TOOLOBJ to handle fortran
** GLF
+
**** ReferenceSequence.h fix compile problem on upgraded system
*** Fixed bug that incorrectly wrote GLF Records of type 2
+
**** Add Makefile.extlib for compiling libraries that use libStatGen
*** Add capability to consume remaining records when getNextRefSection is called. Also when writing automatically write the End Marker if it was not already written when a new RefSection is written or when the file is closed. 
+
*** BAM Updates:
** FastQ
+
**** Update to allow copying SamHeaderRecords and automatically update the SQ ReferenceInfo
*** Add option to not check for uniqueness of the sequence identifier
+
**** Update SamFileHeader::getReferenceInfo() to return a SamReferenceInfo reference rather than ptr
** OTHER
+
**** Update SamRecord::getStringTag to return a const string pointer instead of just a string pointer
*** removed zlib from being included in the repository.
+
**** Update SamCoordOutput to add flushAll method
* [[Media:StatGen.0.1.2.tgz|StatGen.0.1.2.tgz]] - Released 11/09/2010
+
 
** FASTQ
+
* [[Media:LibStatGen.1.0.6.tgz‎|LibStatGen.1.0.6.tgz‎]] - Released 11/14/2012
*** Add option to disable the unique sequence identifier check since that uses a lot of memory.
+
** Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
** GLF
+
*** Updates:
*** Automatically write the End Maker record when writing GLF files.
+
**** Fix a bug in the make install command
*** Add capability of consuming records to get to the next reference section.
+
 
*** Fixed bug in writing GLF records of type 2.
+
* [[Media:LibStatGen.1.0.5.tgz‎|LibStatGen.1.0.5.tgz‎]] - Released 10/24/2012
** Other
+
** Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
*** Remove ZLIB from being contained within the repository (having zlib in the repository may have caused some compile issues in the previous version).
+
*** Updates:
* [[Media:StatGen.0.1.1.tgz|StatGen.0.1.1.tgz]] - Released 11/09/2010
+
**** Cleanup compile warnings
**Added QPLOT to the release
+
**** Support compiling without ZLIB (use: make ZLIB_AVAIL=0)
** Made lib/general/StringBasics.h method IsEmpty const
+
*** BAM Updates:
** Removed an unimplemented method from GlfRecord.h
+
**** Update to add error messages about failing to add a header
* [[Media:StatGen.0.1.0.tgz|StatGen.0.1.0.tgz]] - Released 11/02/2010
+
**** Handle a vtype of 'B' in the TAG field (treats it like a string)
** Original version.
+
 
 +
* LibStatGen.1.0.4.tgz‎ - Released skipped
 +
*[[Media:LibStatGen.1.0.3.tgz‎|LibStatGen.1.0.3.tgz‎]] - Released 09/19/2012
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
 +
*** Additions:
 +
**** Fix Makefile COMPILE_ANY_CHANGE logic to actually work
 +
**** Fix compile problems on macs
 +
***** Add #include <cstddef> to GzipFileType.h & #include <unistd.h> to MemoryMapArray.h
 +
*** General Additions:
 +
**** Update DBSNP processing in GenomeSequence to also accept gzipped files
 +
**** Add support of fasta files in GenomeSequence
 +
**** Update GenomeSequence constructor/open to create the umfa version if it doesn't already exist
 +
**** Update StringAlias to add getAliases
 +
**** Update StringHash to have an option to do case sensitive (instead of always case-insensitive)
 +
**** Make library building PHONY so it is always checked for updates and only updated if objects are newer
 +
*** BAM Additions:
 +
**** Update BamIndex hex constant to use ULL
 +
**** Cleanup handling of header errors
 +
**** Update SamFileHeader to use case sensitive hashes
 +
**** Make repeated header line keys a warning, not an error
 +
*** FASTQ Additions:
 +
**** Update to output average qualities
 +
*[[Media:LibStatGen.1.0.2.tgz‎|LibStatGen.1.0.2.tgz‎]] - Released 05/16/2012
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
 +
** Additions:
 +
*** Add reverseComplement method to BaseUtilities.h
 +
*[[Media:LibStatGen.1.0.1.tgz‎|LibStatGen.1.0.1.tgz‎]] - Released 05/04/2012
 +
** Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
 +
** BAM Additions:
 +
*** Ability to use require/exclude flags when reading
 +
*** CigarHelper for soft clipping
 +
*** Fixed bug in BamIndex that wasn't closing the file
 +
*** Additional cleanup/updates, see https://github.com/statgen/libStatGen/commits/master/bam for all changes between 10/10/2011 and 05/04/2012.
 +
** General Additions:
 +
*** Modifications to improve file handling/string processing
 +
*** Fixed some compile warnings
 +
*** Update Parameters class to always print warnings about unknown parameters to stderr
 +
*** Update PedigreePerson to create/delete the strings object
 +
*** Cleanup GenomeSequence to remove code that is also in BaseAsciiMap
 +
** Samtools Modifications:
 +
*** Do not use knetfile and fix compile warning
 +
 
 +
*[[Media:LibStatGen.1.0.0.tgz‎|LibStatGen.1.0.0.tgz‎]] - Released 10/10/2011
 +
** Contains classes for general processiong (string, reference file, parameters), bam, glf, and fastq
 +
** Initial release of libStatGen.  It started from the library found in the deprecated StatGen repository.

Latest revision as of 00:04, 13 November 2017

General libStatGen Information

See C++ Library: libStatGen.

Latest Development Versions

For information about obtaining the latest Development Versions, see Where to Find libStatGen

Official Releases

If you prefer to run the last official release rather than the latest development version, you can download that here.

To install an official release, unpack the downloaded file (tar xvf), cd into the libStatGen directory and type make all.


LibStatGen.1.0.14 Release Notes

  • Version 1.0.14 - Released 7/8/2015
    • https://github.com/statgen/libStatGen/archive/v1.0.14.tar.gz
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • General Updates:
        • Compiling Updates:
          • PedigreeLoader.cpp - fix bool vs int definition
          • InputFile - add 'const' to isOpen and ifeof methods. Also add comments about usage of 'operator >>'
      • Bam/Tabix Updates:
        • Update how the index is stored in memory to not preallocate the maximum number of bins for each reference as this could use a lot of memory if there are a lot of references
      • BAM Updates:
        • SamFilter
          • Update to clear MapQ and N/A flags when marking as unmapped
          • Fix bug in clipping logic that didn't properly adjust the start position if the read was already clipped
      • VCF Updates:
        • Add missing include for c++11


LibStatGen.1.0.13 Release Notes

  • Version 1.0.13 - Released 2/20/2015
    • https://github.com/statgen/libStatGen/archive/v1.0.13.tar.gz
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • General Updates:
        • Added knetfile support to InputFile (only for bgzf files if KNET_ON=1 is set on compile line
        • GzipHeader - fix signed/unsigned comparison compile issue
        • Upgrade bgzf (also allow append mode)
      • Makefiles Updates:
        • Update dependencies to fix/improve some compiling issues
      • PhoneHome Updates:
        • Allow PhoneHome to be a legacy parameter
        • Update new version available message to stand out more
        • Fix bugs in checks for new version since it wasn't finding it.
      • BAM Updates:
        • SamReferenceInfo operator== - fix to not check hash, since hash could be different for same info
        • Pileup - improve error message for buffer overrun
      • VCF Updates:
        • Add option to update GT field
        • Add subset samples parameter to ReadRecord
        • Improve handling of adding CO header

Older Releases

  • LibStatGen.1.0.12.tgz‎ - Released 5/14/2014
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • General Updates:
        • Improve Makefiles for adding additional libraries/creating external libraries
        • Cleanup compiling for mingw
        • Cleanup Copyrights
      • BAM Updates:
        • Update rmTags & getTagsString to accept ',' delimiter rather than just ';'
  • LibStatGen.1.0.11.tar.gz‎ - Released 2/28/2014
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • General Updates:
        • Cleanup compile warnings - should improve compatibility with Windows, RedHat, and older and newer compilers
        • StringBasics: Improve off-by-one overflow handling (from github user wavexx)
      • BAM Updates:
        • Fix it to properly handle 'B' & 'f' tags
        • Fix handling of duplicate tags
      • PhoneHome Updates:
        • Add parameters names (not values) to PhoneHome URL
      • VCF Updates:
        • Move allele count logic from VcfFileReader into VcfRecord.
  • LibStatGen.1.0.10.tar.gz‎ - Released 1/2/2014
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • Updates:
        • Add PhoneHome/version checking logic
      • General Updates:
        • fix use of strncpy to fix compile problem for some users
        • Fix compile problem on gcc 4.8.1 by adding -Wno-strict-overflow in general/Makefile after -Werror
        • Reduce the default IFILE read buffer size from 1MB to 64KB.
        • Fix ifclose to take a IFILE reference so it can make the pointer 0 after closing
        • StringBasics::AsInteger now returns false if the string is empty.
        • GzipFileType - update to accept -.gz as stdin/stdout
        • Remove unnecssary line from Parameters Status call
        • Fix memory leak on Tabix destructor
      • Vcf Updates:
        • VCF - add class/methods to discard records based on ID
      • Bam Updates:
        • SamFlag - add isSecondary check
        • Fix SamFile so it only allows '-', '-.sam', '-.bam', or '-.ubam' to indicate reading from stdin rather than anything that starts with '-' in order to protect it from misinterpreting another parameter as the stdin filename
        • SamRecord: Add warnings about Duplicate Tags being overwritten
        • SamFile - improve sort order validation error messages and compare using both String::Compare and strcmp to handle various sort mechanisms since neither matches samtools exactly (if either is successful, the sort order is OK)
      • Glf Updates:
        • GlfFile cleanup bugs/handle missind endMarkers & update "get" methods to be const
  • LibStatGen.1.0.9.tgz‎ - Released 7/7/2013
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • Updates:
        • Update Makefile processing to check for a Makefile in the test directory before recursively calling make in there
        • Replace CFLAGS wtih COMPFLAGS
        • Update the Windows WIN32 if statements
      • General Updates:
        • Add boundary check to StringBasics memory
        • Added support for new CIGAR characters (X & =)
        • Update bug in PedigreeLoader to specify WHITESPACE
        • add accessors for getting tabix information
      • Vcf Updates:
        • add ability to drop trailing missing Genotype fields
        • check that the tabix index is for VCF file type
        • Fix broken dependency
      • Bam Updates:
        • SamHeaderRecord: add accessor to get the value for the key
        • update some classes to have virtual destructors


  • LibStatGen.1.0.8.tgz‎ - Released 1/29/2013
    • Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf
      • Updates:
        • Added VCF file handling (merged the vcf branch to master)
        • Add support for reading Tabix files
        • Add ReusableVector class that holds vectors that will remove only the last or be reset & reused without clearing memory.
  • LibStatGen.1.0.7.tgz‎ - Released 1/29/2013
    • Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
      • Updates:
        • Add operator== to StringIntHash
        • Cleanup compiling for files that are just headers with no .cpp
        • Update Makefile TOOLOBJ to handle fortran
        • ReferenceSequence.h fix compile problem on upgraded system
        • Add Makefile.extlib for compiling libraries that use libStatGen
      • BAM Updates:
        • Update to allow copying SamHeaderRecords and automatically update the SQ ReferenceInfo
        • Update SamFileHeader::getReferenceInfo() to return a SamReferenceInfo reference rather than ptr
        • Update SamRecord::getStringTag to return a const string pointer instead of just a string pointer
        • Update SamCoordOutput to add flushAll method
  • LibStatGen.1.0.6.tgz‎ - Released 11/14/2012
    • Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
      • Updates:
        • Fix a bug in the make install command
  • LibStatGen.1.0.5.tgz‎ - Released 10/24/2012
    • Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
      • Updates:
        • Cleanup compile warnings
        • Support compiling without ZLIB (use: make ZLIB_AVAIL=0)
      • BAM Updates:
        • Update to add error messages about failing to add a header
        • Handle a vtype of 'B' in the TAG field (treats it like a string)
  • LibStatGen.1.0.4.tgz‎ - Released skipped
  • LibStatGen.1.0.3.tgz‎ - Released 09/19/2012
    • Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
      • Additions:
        • Fix Makefile COMPILE_ANY_CHANGE logic to actually work
        • Fix compile problems on macs
          • Add #include <cstddef> to GzipFileType.h & #include <unistd.h> to MemoryMapArray.h
      • General Additions:
        • Update DBSNP processing in GenomeSequence to also accept gzipped files
        • Add support of fasta files in GenomeSequence
        • Update GenomeSequence constructor/open to create the umfa version if it doesn't already exist
        • Update StringAlias to add getAliases
        • Update StringHash to have an option to do case sensitive (instead of always case-insensitive)
        • Make library building PHONY so it is always checked for updates and only updated if objects are newer
      • BAM Additions:
        • Update BamIndex hex constant to use ULL
        • Cleanup handling of header errors
        • Update SamFileHeader to use case sensitive hashes
        • Make repeated header line keys a warning, not an error
      • FASTQ Additions:
        • Update to output average qualities
  • LibStatGen.1.0.2.tgz‎ - Released 05/16/2012
    • Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
    • Additions:
      • Add reverseComplement method to BaseUtilities.h
  • LibStatGen.1.0.1.tgz‎ - Released 05/04/2012
    • Contains classes for general processing (string, reference file, parameters), bam, glf, and fastq
    • BAM Additions:
    • General Additions:
      • Modifications to improve file handling/string processing
      • Fixed some compile warnings
      • Update Parameters class to always print warnings about unknown parameters to stderr
      • Update PedigreePerson to create/delete the strings object
      • Cleanup GenomeSequence to remove code that is also in BaseAsciiMap
    • Samtools Modifications:
      • Do not use knetfile and fix compile warning
  • LibStatGen.1.0.0.tgz‎ - Released 10/10/2011
    • Contains classes for general processiong (string, reference file, parameters), bam, glf, and fastq
    • Initial release of libStatGen. It started from the library found in the deprecated StatGen repository.