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.
| |
| | | |
− | === Dependencies ===
| + | '''LibStatGen.1.0.14 Release Notes''' |
− | * This software requires the following to be installed: | + | *Version 1.0.14 - Released 7/8/2015 |
− | ** g++ | + | ** https://github.com/statgen/libStatGen/archive/v1.0.14.tar.gz |
− | ** development version of zlib (zlib1g-dev on ubuntu) | + | ** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf |
− | ** openssl and md5 (libssl-dev on ubuntu) | + | *** General Updates: |
− | ** curses (libcurses-perl on ubuntu) | + | **** 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 |
| | | |
− | === Notes ===
| |
− | * '''Current Release Notes''' (1/21/2011)
| |
− | ** Added the following programs:
| |
− | *** glfMerge
| |
− | *** glfMultiples
| |
− | ** Merged latest set of core library code into lib/general
| |
| | | |
− | === Problems in Current Release === | + | '''LibStatGen.1.0.13 Release Notes''' |
− | Let me know if you experience any of these problems as we may already have a fix you can use:
| + | *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 |
| | | |
− | * 1/24/11 - glfMultiples does not have a 'test' target, so 'make test' fails. | + | ''' Older Releases''' |
− | ** Solution: Add the following at line 89 of statgen/src/glfMultiples/Makefile | + | *[[Media:LibStatGen.1.0.12.tgz|LibStatGen.1.0.12.tgz]] - Released 5/14/2014 |
− | <pre>
| + | ** Contains classes for general processing (string, reference file, parameters), bam, glf, fastq, and vcf |
− | test : all
| + | *** General Updates: |
− | if test -d $(TEST_DIR); \
| + | **** Improve Makefiles for adding additional libraries/creating external libraries |
− | then \
| + | **** Cleanup compiling for mingw |
− | $(MAKE) $(PARALLEL_MAKE) -C $(TEST_DIR) OPTFLAG="$(OPTFLAG)" --no-print-directory $@; \
| + | **** Cleanup Copyrights |
− | fi
| + | *** 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 |
| | | |
− | </pre>
| + | *[[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 |
| | | |
− | === Troubleshooting ===
| |
− | If you are having trouble compiling, check [[StatGen Troubleshooting]] for help. If that does not solve your problem, email me for support.
| |
| | | |
− | === 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. |