Skip to content
Commits on Source (3)
......@@ -12,3 +12,6 @@ OUTDIR
/.project
/.pydevproject
.idea/
.vscode
.gdb_history
core
# ===========================================================================
#
# 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
# NCBI External Developer Release:
## NGS SDK 2.9.4
**January 31, 2019**
**ngs, ngs-tools**: added an option to skip non-local references
## 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.4-1) UNRELEASED; urgency=medium
* New upstream version 2.9.4
-- Andrius Merkys <andrius.merkys@gmail.com> Sun, 10 Mar 2019 04:15:10 -0400
ngs-sdk (2.9.3-1) unstable; urgency=medium
* New upstream version
......
......@@ -23,4 +23,4 @@
# ===========================================================================
# NGS-BAM and library version
VERSION = 2.9.3
VERSION = 2.9.4
......@@ -327,6 +327,9 @@ public:
// TODO: rename to isCircular
bool getIsCircular() const {
throw std::runtime_error("not available");
}
bool getIsLocal () const {
throw std::runtime_error("not available");
}
uint64_t getLength() const {
if (state == 2)
......@@ -371,6 +374,9 @@ public:
return new ReadCollection::AlignmentSlice(parent, want_primary, want_secondary,
slice, start, end);
}
ngs_adapt::AlignmentItf * getFilteredAlignmentSlice ( int64_t start, uint64_t length, uint32_t flags, int32_t map_qual ) const {
throw std::runtime_error("not available");
}
ngs_adapt::PileupItf *getPileups(bool const want_primary, bool const want_secondary) const {
throw std::runtime_error("not available");
}
......
......@@ -23,4 +23,4 @@
# ===========================================================================
# NGS-JAVA and library version
VERSION = 2.9.3
VERSION = 2.9.4
......@@ -29,6 +29,6 @@ package gov.nih.nlm.ncbi.ngs;
class LibDependencies {
final static String NGS_SDK = "ngs-sdk";
final static String NCBI_VDB = "ncbi-vdb";
final static String NGS_SDK_VERSION = "2.9.2";
final static String NCBI_VDB_VERSION = "2.9.1";
final static String NGS_SDK_VERSION = "2.9.4";
final static String NCBI_VDB_VERSION = "2.9.4";
}
......@@ -59,6 +59,17 @@ public interface Reference
throws ErrorMsg;
/**
* getIsLocal
* @return true if Reference is stored locally within the ReadCollection.
* Unique Reference sequences are stored locally, while Publicly available Reference sequences are stored externally.
* An exception to this rule is when a public Reference is small, in which case the sequence will be available both locally and externally
* @throws ErrorMsg if cannot detect if reference is local
*/
boolean getIsLocal ()
throws ErrorMsg;
/**
* getLength
* @return the length of the reference sequence
......@@ -116,7 +127,6 @@ public interface Reference
String getReferenceChunk ( long offset, long length )
throws ErrorMsg;
/*----------------------------------------------------------------------
* ALIGNMENTS
*/
......
......@@ -75,6 +75,16 @@ class ReferenceItf
}
/* getIsLocal
* returns true if reference is local
*/
public boolean getIsLocal ()
throws ErrorMsg
{
return this . GetIsLocal ( self );
}
/* getLength
* returns the length of the reference sequence
*/
......@@ -344,6 +354,8 @@ class ReferenceItf
throws ErrorMsg;
private native boolean GetIsCircular ( long self )
throws ErrorMsg;
private native boolean GetIsLocal ( long self )
throws ErrorMsg;
private native long GetLength ( long self )
throws ErrorMsg;
private native String GetReferenceBases ( long self, long offset, long length )
......
......@@ -23,4 +23,4 @@
# ===========================================================================
# NGS-PYTHON and library version
VERSION = 2.9.3
VERSION = 2.9.4
......@@ -371,6 +371,7 @@ class LibManager:
self.bind_sdk("PY_NGS_ReferenceGetCommonName", [c_void_p, POINTER(c_void_p), POINTER(c_void_p)])
self.bind_sdk("PY_NGS_ReferenceGetCanonicalName", [c_void_p, POINTER(c_void_p), POINTER(c_void_p)])
self.bind_sdk("PY_NGS_ReferenceGetIsCircular", [c_void_p, POINTER(c_int), POINTER(c_void_p)])
self.bind_sdk("PY_NGS_ReferenceGetIsLocal", [c_void_p, POINTER(c_int), POINTER(c_void_p)])
self.bind_sdk("PY_NGS_ReferenceGetLength", [c_void_p, POINTER(c_uint64), POINTER(c_void_p)])
self.bind_sdk("PY_NGS_ReferenceGetReferenceBases", [c_void_p, c_uint64, c_uint64, POINTER(c_void_p), POINTER(c_void_p)])
self.bind_sdk("PY_NGS_ReferenceGetReferenceChunk", [c_void_p, c_uint64, c_uint64, POINTER(c_void_p), POINTER(c_void_p)])
......
......@@ -52,6 +52,9 @@ class Reference(Refcount):
def getIsCircular(self):
return bool(getNGSValue(self, NGS.lib_manager.PY_NGS_ReferenceGetIsCircular, c_int))
def getIsLocal(self):
return bool(getNGSValue(self, NGS.lib_manager.PY_NGS_ReferenceGetIsLocal, c_int))
def getLength(self):
return getNGSValue(self, NGS.lib_manager.PY_NGS_ReferenceGetLength, c_uint64)
......
......@@ -23,4 +23,4 @@
# ===========================================================================
# NGS-SDK and library version
VERSION = 2.9.3
VERSION = 2.9.4
......@@ -38,7 +38,7 @@ namespace ngs_adapt
* what went wrong
*/
const char * ErrorMsg :: what () const
throw ()
NGS_NOTHROW ()
{
return msg . c_str ();
}
......@@ -47,7 +47,7 @@ namespace ngs_adapt
* returns the detailed message
*/
const :: std :: string & ErrorMsg :: toMessage () const
throw ()
NGS_NOTHROW ()
{
return msg;
}
......@@ -56,7 +56,7 @@ namespace ngs_adapt
* returns a short description
*/
const :: std :: string & ErrorMsg :: toString () const
throw ()
NGS_NOTHROW ()
{
return msg;
}
......@@ -65,24 +65,24 @@ namespace ngs_adapt
* various means of constructing
*/
ErrorMsg :: ErrorMsg ()
throw ()
NGS_NOTHROW ()
{
}
ErrorMsg :: ErrorMsg ( const :: std :: string & message )
throw ()
NGS_NOTHROW ()
: msg ( message )
{
}
ErrorMsg :: ErrorMsg ( const ErrorMsg & obj )
throw ()
NGS_NOTHROW ()
: msg ( obj . msg )
{
}
ErrorMsg & ErrorMsg :: operator = ( const ErrorMsg & obj )
throw ()
NGS_NOTHROW ()
{
this -> msg = obj . msg;
return * this;
......@@ -90,7 +90,7 @@ namespace ngs_adapt
ErrorMsg :: ~ ErrorMsg ()
throw ()
NGS_NOTHROW ()
{
}
......
......@@ -92,6 +92,21 @@ namespace ngs_adapt
return 0;
}
bool CC ReferenceItf :: is_local ( const NGS_Reference_v1 * iself, NGS_ErrBlock_v1 * err )
{
const ReferenceItf * self = Self ( iself );
try
{
return self -> getIsLocal ();
}
catch ( ... )
{
ErrBlockHandleException ( err );
}
return 0;
}
uint64_t CC ReferenceItf :: get_length ( const NGS_Reference_v1 * iself, NGS_ErrBlock_v1 * err )
{
const ReferenceItf * self = Self ( iself );
......@@ -141,6 +156,22 @@ namespace ngs_adapt
return 0;
}
uint64_t CC ReferenceItf :: get_alignment_count ( const NGS_Reference_v1 * iself, NGS_ErrBlock_v1 * err,
bool wants_primary, bool wants_secondary )
{
const ReferenceItf * self = Self ( iself );
try
{
return self -> getAlignmentCount ( wants_primary, wants_secondary );
}
catch ( ... )
{
ErrBlockHandleException ( err );
}
return 0;
}
NGS_Alignment_v1 * CC ReferenceItf :: get_alignment ( const NGS_Reference_v1 * iself, NGS_ErrBlock_v1 * err,
const char * alignmentId )
{
......@@ -192,6 +223,23 @@ namespace ngs_adapt
return 0;
}
NGS_Alignment_v1 * CC ReferenceItf :: get_filtered_align_slice ( const NGS_Reference_v1 * iself, NGS_ErrBlock_v1 * err,
int64_t start, uint64_t length, uint32_t flags, int32_t map_qual )
{
const ReferenceItf * self = Self ( iself );
try
{
AlignmentItf * val = self -> getFilteredAlignmentSlice ( start, length, flags, map_qual );
return val -> Cast ();
}
catch ( ... )
{
ErrBlockHandleException ( err );
}
return 0;
}
NGS_Pileup_v1 * CC ReferenceItf :: get_pileups ( const NGS_Reference_v1 * iself, NGS_ErrBlock_v1 * err,
bool wants_primary, bool wants_secondary )
{
......@@ -280,7 +328,7 @@ namespace ngs_adapt
{
"ngs_adapt::ReferenceItf",
"NGS_Reference_v1",
1,
4,
& OpaqueRefcount :: ivt . dad
},
......@@ -300,7 +348,17 @@ namespace ngs_adapt
// 1.1
get_filtered_pileups,
get_filtered_pileup_slice
get_filtered_pileup_slice,
// 1.2
get_alignment_count,
// 1.3 interface
NULL,// get_filtered_alignments (not exposed via ngs::Reference)
get_filtered_align_slice,
// 1.4
is_local
};
} // namespace ngs_adapt
......@@ -61,7 +61,7 @@ namespace ngs
*/
StringItf * AlignmentItf :: getAlignmentId () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -81,7 +81,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getReferenceSpec () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -101,7 +101,7 @@ namespace ngs
}
int32_t AlignmentItf :: getMappingQuality () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -121,7 +121,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getReferenceBases () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -141,7 +141,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getReadGroup () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -161,7 +161,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getReadId () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -181,7 +181,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getClippedFragmentBases () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -201,7 +201,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getClippedFragmentQualities () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -221,7 +221,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getAlignedFragmentBases () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -241,7 +241,7 @@ namespace ngs
}
uint32_t AlignmentItf :: getAlignmentCategory () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -261,7 +261,7 @@ namespace ngs
}
int64_t AlignmentItf :: getAlignmentPosition () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -281,7 +281,7 @@ namespace ngs
}
uint64_t AlignmentItf :: getReferencePositionProjectionRange (int64_t ref_pos) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -305,7 +305,7 @@ namespace ngs
}
uint64_t AlignmentItf :: getAlignmentLength () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -325,7 +325,7 @@ namespace ngs
}
bool AlignmentItf :: getIsReversedOrientation () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -345,7 +345,7 @@ namespace ngs
}
int32_t AlignmentItf :: getSoftClip ( uint32_t edge ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -365,7 +365,7 @@ namespace ngs
}
uint64_t AlignmentItf :: getTemplateLength () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -385,7 +385,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getShortCigar ( bool clipped ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -405,7 +405,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getLongCigar ( bool clipped ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -425,7 +425,7 @@ namespace ngs
}
char AlignmentItf :: getRNAOrientation () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -449,7 +449,7 @@ namespace ngs
}
bool AlignmentItf :: hasMate () const
throw ()
NGS_NOTHROW ()
{
try
{
......@@ -482,7 +482,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getMateAlignmentId () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -502,7 +502,7 @@ namespace ngs
}
AlignmentItf * AlignmentItf :: getMateAlignment () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -522,7 +522,7 @@ namespace ngs
}
StringItf * AlignmentItf :: getMateReferenceSpec () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -542,7 +542,7 @@ namespace ngs
}
bool AlignmentItf :: getMateIsReversedOrientation () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Alignment_v1 * self = Test ();
......@@ -562,7 +562,7 @@ namespace ngs
}
bool AlignmentItf :: nextAlignment ()
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
NGS_Alignment_v1 * self = Test ();
......
......@@ -34,7 +34,7 @@ namespace ngs
*/
void ErrBlock :: Throw () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
if ( xtype != xt_okay )
throw ErrorMsg ( msg );
......
......@@ -38,7 +38,7 @@ namespace ngs
* what went wrong
*/
const char * ErrorMsg :: what () const
throw ()
NGS_NOTHROW ()
{
return msg . c_str ();
}
......@@ -47,7 +47,7 @@ namespace ngs
* returns the detailed message
*/
const :: std :: string & ErrorMsg :: toMessage () const
throw ()
NGS_NOTHROW ()
{
return msg;
}
......@@ -56,7 +56,7 @@ namespace ngs
* returns a short description
*/
const :: std :: string & ErrorMsg :: toString () const
throw ()
NGS_NOTHROW ()
{
return msg;
}
......@@ -65,31 +65,31 @@ namespace ngs
* various means of constructing
*/
ErrorMsg :: ErrorMsg ()
throw ()
NGS_NOTHROW ()
{
}
ErrorMsg :: ErrorMsg ( const :: std :: string & message )
throw ()
NGS_NOTHROW ()
: msg ( message )
{
}
ErrorMsg :: ErrorMsg ( const ErrorMsg & obj )
throw ()
NGS_NOTHROW ()
: msg ( obj . msg )
{
}
ErrorMsg & ErrorMsg :: operator = ( const ErrorMsg & obj )
throw ()
NGS_NOTHROW ()
{
this -> msg = obj . msg;
return * this;
}
ErrorMsg :: ~ ErrorMsg ()
throw ()
NGS_NOTHROW ()
{
}
......
......@@ -58,7 +58,7 @@ namespace ngs
*/
StringItf * FragmentItf :: getFragmentId () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Fragment_v1 * self = Test ();
......@@ -78,19 +78,19 @@ namespace ngs
}
StringItf * FragmentItf :: getFragmentBases () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
return this -> getFragmentBases ( 0, -1 );
}
StringItf * FragmentItf :: getFragmentBases ( uint64_t offset ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
return this -> getFragmentBases ( offset, -1 );
}
StringItf * FragmentItf :: getFragmentBases ( uint64_t offset, uint64_t length ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Fragment_v1 * self = Test ();
......@@ -110,19 +110,19 @@ namespace ngs
}
StringItf * FragmentItf :: getFragmentQualities () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
return this -> getFragmentQualities ( 0, -1 );
}
StringItf * FragmentItf :: getFragmentQualities ( uint64_t offset ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
return this -> getFragmentQualities ( offset, -1 );
}
StringItf * FragmentItf :: getFragmentQualities ( uint64_t offset, uint64_t length ) const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Fragment_v1 * self = Test ();
......@@ -142,7 +142,7 @@ namespace ngs
}
bool FragmentItf :: nextFragment ()
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
NGS_Fragment_v1 * self = Test ();
......@@ -162,7 +162,7 @@ namespace ngs
}
bool FragmentItf :: isPaired () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Fragment_v1 * self = Test ();
......@@ -186,7 +186,7 @@ namespace ngs
}
bool FragmentItf :: isAligned () const
throw ( ErrorMsg )
NGS_THROWS ( ErrorMsg )
{
// the object is really from C
const NGS_Fragment_v1 * self = Test ();
......