Commit d87dd340 authored by Andreas Tille's avatar Andreas Tille
Browse files

New upstream version 2.9.3

parent 45aab186
Loading
Loading
Loading
Loading
+10 −33
Original line number Diff line number Diff line
user.status
vgcore.*
/bin64
/build/COMP.mac
/build/Makefile.config*
/build/MSVC/2010/ipch
/build/MSVC/2010/ncbi-vdb.opensdf
/centos
/ilib64
/lib64
/mac
/Makefile.config.mac.arch
/reconfigure
/schema
/test-bin64
user.status
/win
*.opensdf
*.sdf
*.suo
*.log
/.cproject
/.project
/.pydevproject

# mac os x meta-files
.DS_Store
._*

*~
\#*
.\#*
core
*.pyc
.gdb_history
.vscode
.gdb_history
._*

*.suo
OUTDIR
*.ipch

/.cproject
/.project
/.pydevproject
.idea/

CHANGES

0 → 100644
+115 −0
Original line number Diff line number Diff line
# ===========================================================================
#
#                            PUBLIC DOMAIN NOTICE
#               National Center for Biotechnology Information
#
#  This software/database is a "United States Government Work" under the
#  terms of the United States Copyright Act.  It was written as part of
#  the author's official duties as a United States Government employee and
#  thus cannot be copyrighted.  This software/database is freely available
#  to the public for use. The National Library of Medicine and the U.S.
#  Government have not placed any restriction on its use or reproduction.
#
#  Although all reasonable efforts have been taken to ensure the accuracy
#  and reliability of the software and data, the NLM and the U.S.
#  Government do not and cannot warrant the performance or results that
#  may be obtained by using this software or data. The NLM and the U.S.
#  Government disclaim all warranties, express or implied, including
#  warranties of performance, merchantability or fitness for any particular
#  purpose.
#
#  Please cite the author in any work or product based on this material.
#
# ===========================================================================


The NCBI NGS Software Development Kit
Contact: sra-tools@ncbi.nlm.nih.gov


NGS SDK 2.9.3
October 17, 2018

  ngs: changed version to match that of ncbi-vdb


NGS SDK 2.9.2
July 23, 2018

  ngs: changed version to match that of ncbi-vdb


NGS SDK 2.9.1
June 15, 2018

  build: 'make install' ignore ROOT environment variable


NGS SDK 2.9.0
February 23, 2018

  version: changed version to match that of ncbi-vdb
  build: Fixed configure allowing to run it on Perl with version >= v5.26 that has "." removed from @INC  
  kfg: added searching of configuration files in ../etc/ncbi/ relative to the binaries  
  kfs: fix to improve on windows  
  klib: Reverted KTimeMakeTime to use UTC  
  kns: Accept the same http_proxy specifications as wget  
  kns: Added possibility to report server's IP address after network error  
  kns: Ignore HTTP headers sent multiple times  
  kns: Improved reporting of network errors  
  kns: fixed generation of invalid error code in response to dropped connection  
  ncbi-vdb: fixed bug of directory not found on mac  
  ncbi-vdb, ngs-engine: improved handling of blobs inside the NGS engine   
  ngs: Examples for python 2.6 were removed  
  ngs: Python examples work with Python 2.6.6  
  ngs-engine: improved performance when iterating through partially aligned and unaligned reads  
  ngs-engine: optimized filtered access to unaligned runs  
  vfs: Name resolving service was updated and switched to protocol version 3.0  

NGS SDK 1.3.0
October 7, 2016

HTTPS-ENABLED RELEASE

  build, ngs-tools: Now ngs-tools look for its dependencies using their normal build paths and does not reconfigure them  
  build, ngs-tools: Now ngs-tools use CMAKE_INSTALL_PREFIX for installation path  
  kns: All tools and libraries now support https  
  ngs: Fixed all crashes when using null as string in ngs-java APIs  
  ngs: NGS_ReferenceGetChunk() will now return chunks potentially exceeding 5000 bases  
  ngs: fixed potential concurrency issues at exit, when called from Java  
  ngs: ngs-java and ngs-python auto-download (of native libraries) now works through HTTPS  
  ngs: read fragments of length 0 are now ignored  
  ngs, ngs-tools, ref-variation: added class ngs-vdb::VdbAlignment, featuring method IsFirst()  
  ngs-engine: improved diagnostic messages  
  ngs-tools: Fixed Makefiles to keep supporting "./configure; make" build of sra-search, alongside CMake-based build.  


NGS SDK 1.2.5
July 11, 2016

  blast, kfg, ncbi-vdb, sra-tools, vfs: restored possibility to disable local caching
  htsjdk: Several JVM crashes related to a number of open files were fixed. New property to disable auto-download was integrated into HTSJDK
  kfg: When loading configuration files on Windows USERPROFILE environment variable is used before HOME
  ngs, search, sra-search: sra-search was modified to support multiple threads.
  ngs-engine, ngs-tools, sra-tools, vfs: The "auxiliary" nodes in configuration are now ignored
  ngs-engine: Added support for blob-by-blob access to SEQUENCE table
  ngs-engine: removed a potential memory leak in NGS_CursorMake()
  ngs: Fixed a bug in ngs::Alignment::getMateReferenceSpec() affecting pre-March 2015 runs
  ngs: now supports parallel compilation with "make -j N"
  vfs: environment variable VDB_PWFILE is no longer used


NGS SDK 1.2.4
May 25, 2016

  build: MSVS 2013 toolset (12.0) is now supported across all repositories
  doc, ngs: updated javadoc to include throws and other missing tags
  examples, ngs: added DumpReferenceFASTA.py example
  htsjdk: added code to HTS-JDK  to avoid involving NGS unless we are sure that it is being requested
  ngs, ngs-engine: Added filtering to NGS of secondary alignments that do not have primary alignments
  ngs, test: ngs-python: fixed bug in String processing for Python 3.*
  ngs-engine: ncbi-ngs engine was updated: fixed a bug that made NGS read iterator return 0 reads on WGS accessions.
  ngs: Improved native library load in ngs-java, enhanced its error reporting and added a mode to disable auto-download of native libraries
  ngs: Python code will check for the latest version of the libraries and update if newer ones are available
  ngs: check for the latest version of the libraries and update if newer ones are available
  ngs: simplified ngs-python bindings
+42 −82
Original line number Diff line number Diff line
# NCBI External Developer Release:

## NCBI VDB 2.9.1

## NGS SDK 2.9.3
**October 17, 2018**
  **ngs**: changed version to match that of _ncbi-vdb_


## NGS SDK 2.9.2
**July 23, 2018**
  **ngs**: changed version to match that of _ncbi-vdb_


## NGS SDK 2.9.1
**June 15, 2018**

  **build**: 'make install' ignore ROOT environment variable  
  **kfg, kns**: Added API to instruct VDB to silently accept any server certificate as valid.  
  **kfg, vdb-config**: name resolver service now makes use of fcgi  
  **kfg, vfs**: Fixed a bug that prevented decryption of objects encrypted with non-UTF8 text password keys  
  **klib**: added check for NULL format argument to string_printf()  
  **kns**: Randomly select from multiple proxies in configuration  
  **test**: added Windows test projects for the new schema and the latest vdb  


## NCBI VDB 2.9.0
## NGS SDK 2.9.0
**February 23, 2018**

  **align**: AlignAccessRefSeqEnumeratorNext no longer filters by the index  
  **align**: fixed an order-dependent bug affecting cross-table lookups  
  **build**: Created a script that allows to add a new volume to existing repository  
  **version**: changed version to match that of _ncbi-vdb_
  **build**: Fixed configure allowing to run it on Perl with version >= v5.26 that has "." removed from @INC  
  **build**: added "smoke tests"  
  **build**: recognize version of libhdf5 that does not allow static linking and do not try to use it  
  **build, doc**: added wiki page: Building-from-source-:--configure-options-explained  
  **build, ncbi-vdb, sra-tools**: the installation script now saves configuration files if they were modified by the user  
  **build, vdb-sql**: modified build to avoid vdb-sql in absence of libxml2  
  **kfg**: added searching of configuration files in ../etc/ncbi/ relative to the binaries  
  **kfg, prefetch**: set limit of Aspera usage to 450m  
  **kfg, prefetch, remote-fuser, vfs**: Updated resolving of cache location of non-accession objects  
  **kfs**: fix to improve on windows  
  **klib**: Reverted KTimeMakeTime to use UTC  
  **kns**: Accept the same http_proxy specifications as wget  
@@ -34,95 +30,59 @@
  **kns**: Ignore HTTP headers sent multiple times  
  **kns**: Improved reporting of network errors  
  **kns**: fixed generation of invalid error code in response to dropped connection  
  **ncbi-vdb**: add ability to make a cache-tee-file without promtion  
  **ncbi-vdb**: fixed bug of directory not found on mac  
  **ncbi-vdb, ngs-engine**: improved handling of blobs inside the NGS engine   
  **ngs**: Examples for python 2.6 were removed  
  **ngs**: Python examples work with Python 2.6.6  
  **ngs-engine**: improved performance when iterating through partially aligned and unaligned reads  
  **ngs-engine**: optimized filtered access to unaligned runs  
  **sra-tools, vdb**: access to vdb/ngs via SQLite  
  **vdb**: An assert triggered by a rare condition was fixed  
  **vdb**: new api to estimate pileup-workload based on slice  
  **vdb**: new function to open HTTP-file with an arbitrary page-size  
  **vdb**: progressbar can now be created to output on stderr  
  **vfs**: Name resolving service was updated and switched to protocol version 3.0  


## NCBI VDB 2.8.2
**March 6, 2017**

  **blast**: Updated blast library to be able to process runs having empty rows  
  **build**: Added ability to specify ncbi-vdb/configure --with-magic-prefix. Look for libraries in (lib lib64) when running "configure --with-...-prefix"  
  **build**: configure detects location of ngs libraries  
  **build**: configure was fixed to skip options unrecognized by gcc 4.4.7  
  **build**: created sra-toolkit Debian package  
  **build**: fixed a bug in 'configure' when in could not find source files in repository saved with non-standard name  
  **build, kfg**: install updates certs.kfg along with other configuration files  
  **build, ncbi-vdb, sra-tools**: installation will back up old configuration files if they differ from the ones being installed  
  **kfs, vdb**: Fixes errors occuring when configuration is missing  
  **klib**: Fixed logging error reported as "log failure: RC(rcText,rcString,rcConverting,rcBuffer,rcInsufficient)"  
  **kns**: SRA tools respect standard set of environment variables for proxy specification  
  **kns**: rewrote socket code to use proper local error code switches, especially Windows   
  **kns**: updated mbedtls library to version 2.4.1  
  **ncbi-vdb**: configure in detects existence of ngs jar file  
  **ncbi-vdb, ngs, ngs-tools, sra-tools**: eliminated memcpy from sources due to potential for overlap  
  **test**: Improved testing framework  
  **vdb**: increased tenacity in flushing data to disk to accommodate behaviors of file systems such as Lustre.  
  **vdb-blast**: Implemented vdb-blast API for retrieving reference sequence  


## NCBI VDB 2.8.1
**December 22, 2016**

  **kfg**: added possibility to create an empty KConfig object that does not try to load any file  


## NCBI VDB 2.8.0
## NGS SDK 1.3.0
**October 7, 2016**

### HTTPS-ENABLED RELEASE

  **kfg, kns**: Use environment variables to determine the proxy for a http protocol  
  **kfg, vdb-config**: vdb-config-GUI has now option to pick up proxy-setting from environment  
  **build, ngs-tools**: Now ngs-tools look for its dependencies using their normal build paths and does not reconfigure them  
  **build, ngs-tools**: Now ngs-tools use CMAKE_INSTALL_PREFIX for installation path  
  **kns**: All tools and libraries now support https  
  **kns**: replaced all direct uses of sleep() within code to enforce standardization upon mS.  
  **kproc, ncbi-vdb**: Fixed KCondition to generate timeout error on Windows when timeout exhausted  
  **ngs**: Fixed all crashes when using null as string in ngs-java APIs  
  **ngs**: NGS_ReferenceGetChunk() will now return chunks potentially exceeding 5000 bases  
  **ngs**: fixed potential concurrency issues at exit, when called from Java  
  **ngs**: ngs-java and ngs-python auto-download (of native libraries) now works through HTTPS  
  **ngs**: read fragments of length 0 are now ignored  
  **ngs, ngs-tools, ref-variation**: added class ngs-vdb::VdbAlignment, featuring method IsFirst()  
  **ngs-engine**: improved diagnostic messages  
  **test**: updated tests to not fail outside of NCBI  
  **test-sra**: test-sra prints network information  
  **test-sra**: test-sra prints version of ncbi-vdb or ngs-sdk dynamic library  
  **vdb**: improved parameter checking on VDatabaseOpenTableRead()  
  **vdb**: new function: "VDBManagerDeleteCacheOlderThan()"  
  **vdb**: problem with buffer-overrun when compressing random data fixed  
  **vdb**: remote/aux nodes have been removed from configuration  
  **ngs-tools**: Fixed Makefiles to keep supporting "./configure; make" build of sra-search, alongside CMake-based build.  


## NCBI VDB 2.7.0
## NGS SDK 1.2.5
**July 12, 2016**

  **blast, kfg, ncbi-vdb, sra-tools, vfs**: restored possibility to disable local caching  
  **doc, ncbi-vdb**: created a Wiki page illustrating how to use the API to set up logging  
  **kdb, kfs, kns**: Added blob validation for data being fetched remotely  
  **htsjdk**: Several JVM crashes related to a number of open files were fixed. New property to disable auto-download was integrated into HTSJDK  
  **kfg**: When loading configuration files on Windows USERPROFILE environment variable is used before HOME  
  **kfg**: modified auxiliary remote access configuration to use load-balanced servers  
  **kns**: Fixed a bug when KHttpRequestPOST generated an incorrect Content-Length after retry  
  **ngs, search, sra-search**: sra-search was modified to support multiple threads.  
  **ngs-engine, ngs-tools, sra-tools, vfs**: The "auxiliary" nodes in configuration are now ignored  
  **ngs-engine**: Added support for blob-by-blob access to SEQUENCE table  
  **ngs-engine**: removed a potential memory leak in NGS_CursorMake()  
  **search**: now supports multi-threaded search  
  **vdb**: fixed a bug in VCursorFindNextRowIdDirect where it returned a wrong rowId  
  **vdb**: fixed a bug in the code used to iterate over blobs where rowmap expansion cache would reset iteration to initial row instead of respecting sequence  
  **ngs**: Fixed a bug in ngs::Alignment::getMateReferenceSpec() affecting pre-March 2015 runs  
  **ngs**: now supports parallel compilation with "make -j N"  
  **vfs**: environment variable VDB_PWFILE is no longer used  


## NCBI VDB 2.6.3
## NGS SDK 1.2.4
**May 25, 2016**

  **vdb**: Fixed a bound on memory cache that would never flush under certain access modes  

## NCBI VDB 2.6.2
**April 20, 2016**

  **kdb**: Fixed VTableDropColumn, so that it can drop static columns  
  **kfs, kns**: Fixed thread safety issues for both cache and http files  
  **kproc**: Fixed KQueue to wake waiters when sealed, fixed KSemaphore to wake waiters when canceled  
  **build**: MSVS 2013 toolset (12.0) is now supported across all repositories  
  **doc, ngs**: updated javadoc to include throws and other missing tags  
  **examples, ngs**: added DumpReferenceFASTA.py example  
  **htsjdk**: added code to HTS-JDK  to avoid involving NGS unless we are sure that it is being requested  
  **ngs, ngs-engine**: Added filtering to NGS of secondary alignments that do not have primary alignments  
  **ngs, test, ngs-python**: fixed bug in String processing for Python 3.x  
  **ngs-engine**: ncbi-ngs engine was updated - fixed a bug that made NGS read iterator return 0 reads on WGS accessions.  
  **ngs**: Improved native library load in ngs-java, enhanced its error reporting and added a mode to disable auto-download of native libraries  
  **ngs**: Python code will check for the latest version of the libraries and update if newer ones are available  
  **ngs**: check for the latest version of the libraries and update if newer ones are available  
  **ngs**: simplified ngs-python bindings  
+1 −12
Original line number Diff line number Diff line
@@ -31,18 +31,7 @@ Please cite the authors in any work or product based on this material.
==============================================================
EXCEPTIONS (in all cases excluding NCBI-written makefiles):

Location: {libs,interfaces}/ext/bzip2
Author:   Julian R Seward
License:  BSDish [libs/ext/bzip2/LICENSE]

Location: {libs,interfaces}/ext/zlib
Authors:  Jean-loup Gailly and Mark Adler
License:  BSDish [interfaces/ext/zlib.h]

Location: libs/klib
Author:   Douglas C. Schmidt
License:  GNU Lesser General Public [libs/klib/qsort.c]

See LICENSE from https://github.com/ncbi/ncbi-vdb

==============================================================
Copyright F.A.Q.
+27 −121
Original line number Diff line number Diff line
@@ -22,138 +22,44 @@
#
# ===========================================================================

# default response to "make"
default: std

#-------------------------------------------------------------------------------
# environment
#
TOP ?= $(CURDIR)
include $(TOP)/build/Makefile.shell

std: subdirs

#-------------------------------------------------------------------------------
# default
#
# the sub-directories
SUBDIRS =    \
	libs \

# common targets for non-leaf Makefiles; must follow a definition of SUBDIRS
include $(TOP)/build/Makefile.targets
	ngs-sdk \
	ngs-java \
	ngs-python \

default: $(SUBDIRS)
SUBDIRS_CLN = \
	$(addsuffix _cln,$(SUBDIRS))

test: $(SUBDIRS)
SUBDIRS_INST = \
	$(addsuffix _inst,$(SUBDIRS))

$(SUBDIRS) test:
	@ $(MAKE) -C $@
SUBDIRS_TST = \
	$(addsuffix _test,$(SUBDIRS))

.PHONY: default $(SUBDIRS) test
subdirs: $(SUBDIRS)

#-------------------------------------------------------------------------------
# all
#
$(SUBDIRS_ALL):
clean: $(SUBDIRS_CLN)

#-------------------------------------------------------------------------------
# std
#
$(SUBDIRS_STD):
test: $(SUBDIRS_TST)

#-------------------------------------------------------------------------------
# install
#
install: $(SUBDIRS_INST)

install: 
	@ echo "Checking make status of object libraries..."
	@ $(MAKE) -s --no-print-directory TOP=$(CURDIR) $(SUBDIRS)
	@ $(MAKE) -s --no-print-directory TOP=$(CURDIR) -f build/Makefile.install install

uninstall:    
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.install uninstall

.PHONY: install uninstall

#-------------------------------------------------------------------------------
# clean
#
clean: clean_test

clean_test:
	@ $(MAKE) -s -C test clean

#-------------------------------------------------------------------------------
# runtests
#
runtests: runtests_test

runtests_test:
	@ $(MAKE) -s -C test runtests

#-------------------------------------------------------------------------------
# slowtests
#
slowtests: slowtests_test

slowtests_test:
	@ $(MAKE) -s -C test slowtests

#-------------------------------------------------------------------------------
# valgrind
#
valgrind: valgrind_test

valgrind_test:
	@ $(MAKE) -s -C test valgrind

#-------------------------------------------------------------------------------
# pass-through targets
#
COMPILERS = GCC ICC VC++ CLANG
ARCHITECTURES = i386 x86_64 sparc32 sparc64
CONFIG = debug profile release
PUBLISH = scm pubtools
REPORTS = bindir targdir osdir config compilers architecture architectures
PASSTHRUS = \
	out \
	CC $(COMPILERS) \
	$(ARCHITECTURES) \
	$(CONFIG) $(PUBLISH) \
	purify purecov \
	local static dynamic

$(RHOSTS):
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env local
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env require-proxy-exec
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env $@
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env rebuild-dirlinks config

$(PASSTHRUS):
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env $@
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env rebuild-dirlinks config

$(REPORTS):
	@ $(MAKE) -s TOP=$(CURDIR) -f build/Makefile.env $@
$(SUBDIRS):
	@ $(MAKE) -C $@

.PHONY: $(PASSTHRUS) $(RHOSTS) $(REPORTS)
$(SUBDIRS_CLN):
	@ $(MAKE) -C $(subst _cln,,$@) clean

$(SUBDIRS_INST):
	@ $(MAKE) -s --no-print-directory -C $(subst _inst,,$@) install

#-------------------------------------------------------------------------------
# configuration help
#
help configure:
	@ echo "Before initial build, run 'make OUTDIR=<dir> out' from"
	@ echo "the project root to set the output directory of your builds."
	@ echo
	@ echo "To select a compiler, run 'make <comp>' where"
	@ echo "comp = { "$(COMPILERS)" }."
	@ echo
	@ echo "For hosts that support cross-compilation ( only Macintosh today ),"
	@ echo "you can run 'make <arch>' where arch = { "$(ARCHITECTURES)" }."
	@ echo
	@ echo "To set a build configuration, run 'make <config>' where"
	@ echo "config = { "$(CONFIG)" }."
	@ echo
	@ echo "To select a remote build configuration, run 'make <rhost>' where"
	@ echo "rhost = { "$(RHOSTS)" }."
	@ echo
$(SUBDIRS_TST):
	@ $(MAKE) -C $(subst _test,,$@) test

.PHONY: help configure
.PHONY: $(SUBDIRS) $(SUBDIRS_CLN) $(SUBDIRS_INST)
Loading