Skip to content

Commit

Permalink
1.Updated libsequence submodule in biolib
Browse files Browse the repository at this point in the history
2.Initiate gsl submodule in biolib
3.Added Sequence::Fasta type instantiation for Sequence::Alignment function templates in Python
4.Added some test functions using gsl wrapping function in Python
  • Loading branch information
diavy committed Aug 5, 2009
1 parent d8962e0 commit 3a5df4a
Show file tree
Hide file tree
Showing 6 changed files with 356 additions and 63 deletions.
1 change: 1 addition & 0 deletions src/clibs/gsl/src/gsl_files.txt
Expand Up @@ -528,6 +528,7 @@ ${GSL_CONTRIB_PATH}/specfunc/expint3.c
${GSL_CONTRIB_PATH}/specfunc/expint.c
${GSL_CONTRIB_PATH}/specfunc/fermi_dirac.c
${GSL_CONTRIB_PATH}/specfunc/gamma.c
${GSL_CONTRIB_PATH}/specfunc/gamma_inc.c
${GSL_CONTRIB_PATH}/specfunc/gegenbauer.c
${GSL_CONTRIB_PATH}/specfunc/hyperg_0F1.c
${GSL_CONTRIB_PATH}/specfunc/hyperg_1F1.c
Expand Down
2 changes: 2 additions & 0 deletions src/clibs/libsequence-1.6.6/src/CMakeLists.txt
Expand Up @@ -15,6 +15,7 @@ FIND_PACKAGE(Map)

SET(CONTRIB_PATH ${MAP_ROOT}/contrib/libsequence-1.6.6)
SET(BOOST_PATH ${MAP_ROOT}/contrib/boost)
SET(GSL_CONTRIB_PATH ${MAP_ROOT}/contrib/gsl)

MESSAGE("CONTRIB_PATH=${CONTRIB_PATH}")

Expand All @@ -25,6 +26,7 @@ INCLUDE_DIRECTORIES(.)
INCLUDE_DIRECTORIES(../include)
INCLUDE_DIRECTORIES(${CONTRIB_PATH})
INCLUDE_DIRECTORIES(${BOOST_PATH})
INCLUDE_DIRECTORIES(${GSL_CONTRIB_PATH})

BUILD_CLIB()

Expand Down
51 changes: 51 additions & 0 deletions src/clibs/libsequence-1.6.6/src/files.txt
Expand Up @@ -53,3 +53,54 @@ ${BOOST_PATH}/libs/regex/src/regex_traits_defaults.cpp
${BOOST_PATH}/libs/regex/src/static_mutex.cpp
${BOOST_PATH}/libs/regex/src/w32_regex_traits.cpp
${BOOST_PATH}/libs/regex/src/wc_regex_traits.cpp
${GSL_CONTRIB_PATH}/rng/borosh13.c
${GSL_CONTRIB_PATH}/rng/cmrg.c
${GSL_CONTRIB_PATH}/rng/coveyou.c
${GSL_CONTRIB_PATH}/rng/default.c
${GSL_CONTRIB_PATH}/rng/file.c
${GSL_CONTRIB_PATH}/rng/fishman18.c
${GSL_CONTRIB_PATH}/rng/fishman20.c
${GSL_CONTRIB_PATH}/rng/fishman2x.c
${GSL_CONTRIB_PATH}/rng/g05faf.c
${GSL_CONTRIB_PATH}/rng/gfsr4.c
${GSL_CONTRIB_PATH}/rng/inline.c
${GSL_CONTRIB_PATH}/rng/knuthran2002.c
${GSL_CONTRIB_PATH}/rng/knuthran2.c
${GSL_CONTRIB_PATH}/rng/knuthran.c
${GSL_CONTRIB_PATH}/rng/lecuyer21.c
${GSL_CONTRIB_PATH}/rng/minstd.c
${GSL_CONTRIB_PATH}/rng/mrg.c
${GSL_CONTRIB_PATH}/rng/mt.c
${GSL_CONTRIB_PATH}/rng/r250.c
${GSL_CONTRIB_PATH}/rng/ran0.c
${GSL_CONTRIB_PATH}/rng/ran1.c
${GSL_CONTRIB_PATH}/rng/ran2.c
${GSL_CONTRIB_PATH}/rng/ran3.c
${GSL_CONTRIB_PATH}/rng/rand48.c
${GSL_CONTRIB_PATH}/rng/rand.c
${GSL_CONTRIB_PATH}/rng/random.c
${GSL_CONTRIB_PATH}/rng/randu.c
${GSL_CONTRIB_PATH}/rng/ranf.c
${GSL_CONTRIB_PATH}/rng/ranlux.c
${GSL_CONTRIB_PATH}/rng/ranlxd.c
${GSL_CONTRIB_PATH}/rng/ranlxs.c
${GSL_CONTRIB_PATH}/rng/ranmar.c
${GSL_CONTRIB_PATH}/rng/rng.c
${GSL_CONTRIB_PATH}/rng/schrage.c
${GSL_CONTRIB_PATH}/rng/slatec.c
${GSL_CONTRIB_PATH}/rng/taus113.c
${GSL_CONTRIB_PATH}/rng/taus.c
${GSL_CONTRIB_PATH}/rng/transputer.c
${GSL_CONTRIB_PATH}/rng/tt.c
${GSL_CONTRIB_PATH}/rng/types.c
${GSL_CONTRIB_PATH}/rng/uni32.c
${GSL_CONTRIB_PATH}/rng/uni.c
${GSL_CONTRIB_PATH}/rng/vax.c
${GSL_CONTRIB_PATH}/rng/waterman14.c
${GSL_CONTRIB_PATH}/rng/zuf.c
${GSL_CONTRIB_PATH}/err/error.c
${GSL_CONTRIB_PATH}/err/message.c
${GSL_CONTRIB_PATH}/err/stream.c
${GSL_CONTRIB_PATH}/err/strerror.c
${GSL_CONTRIB_PATH}/randist/flat.c
${GSL_CONTRIB_PATH}/randist/exponential.c
60 changes: 44 additions & 16 deletions src/mappings/swig/libsequence.i
@@ -1,4 +1,5 @@
%module biolib_libsequence

%include <std_pair.i>
%include <std_string.i>
#%rename(begin_const) std::vector<Sequence::chromosome>::begin() const;
Expand Down Expand Up @@ -140,6 +141,12 @@
%rename(sfs_assgin) Sequence::sfs_times::operator=;
%rename(sfs_ref) Sequence::sfs_times::operator[];
#%rename(AA) Sequence::Alignment::IsAlignment<std::string>;
%ignore Sequence::pick2( const uniform_generator & uni, const int & nsam);
%ignore Sequence::pick2_in_deme( const uniform_generator & uni,
const std::vector<Sequence::chromosome> & sample,
const int & ttl_nsam,
const int & deme_nsam,
const int & deme );
%ignore Sequence::gsl_poisson;

/*#define BOOST_STATIC_ASSERT( B ) \
Expand Down Expand Up @@ -209,9 +216,9 @@ typedef std::vector< polymorphicSite > polySiteVector;
%include <Sequence/Comparisons.hpp>
#%include <boost/tuple/detail/tuple_basic.hpp>
#%include <boost/tuple/tuple.hpp>
#%include <Sequence/RNG/gsl_rng_wrappers.hpp>
#%include <gsl_types.h>
#%include <gsl_rng.h>
%include <Sequence/RNG/gsl_rng_wrappers.hpp>
%include <gsl/gsl_types.h>
%include <gsl/gsl_rng.h>
%include <Sequence/bits/PolySites.tcc>
#%include <Sequence/Alignment.hpp>
%include <Sequence/bits/Alignment.tcc>
Expand All @@ -225,6 +232,7 @@ typedef std::vector< polymorphicSite > polySiteVector;
%include <Sequence/bits/descriptiveStats.tcc>
%include <Sequence/bits/PolyTable.tcc>
#%include <Sequence/FastaExplicit.hpp>
#%include <Sequence/Coalescent/bits/Coalesce.tcc>

%template(Gapped) Sequence::Gapped<std::string::iterator>;
#%include <Sequence/SeqRegexes.hpp>
Expand Down Expand Up @@ -269,22 +277,43 @@ typedef std::vector< polymorphicSite > polySiteVector;
%template(pVector) std::vector< std::pair< std::string, std::string > >;
%template(PolyTableSlice_SimData) Sequence::PolyTableSlice<Sequence::SimData>;
%template(PolyTableSlice_PolySites) Sequence::PolyTableSlice<Sequence::PolySites>;
%template(Align_IsAlignment) Sequence::Alignment::IsAlignment< std::pair< std::string, std::string > >;
%template(Align_Gapped) Sequence::Alignment::Gapped< std::pair< std::string, std::string> >;
%template(Align_RemoveGaps) Sequence::Alignment::RemoveGaps< std::pair< std::string, std::string> >;
%template(Align_RemoveTerminalGaps) Sequence::Alignment::RemoveTerminalGaps< std::pair<std::string, std::string> >;
%template(Align_UnGappedLength) Sequence::Alignment::UnGappedLength< std::pair< std::string, std::string> >;
%template(Align_Trim) Sequence::Alignment::Trim< std::pair< std::string, std::string> >;
%template(Align_TrimComplement) Sequence::Alignment::TrimComplement< std::pair< std::string, std::string> >;
%template(Align_EmptyVector) Sequence::Alignment::EmptyVector< std::pair< std::string, std::string> >;


%template(IsAlignment_strPair) Sequence::Alignment::IsAlignment< std::pair< std::string, std::string > >;
%template(IsAlignment_Fasta) Sequence::Alignment::IsAlignment< Sequence::Fasta >;
%template(Gapped_strPair) Sequence::Alignment::Gapped< std::pair< std::string, std::string> >;
%template(Gapped_Fasta) Sequence::Alignment::Gapped< Sequence::Fasta >;
%template(RemoveGaps_strPair) Sequence::Alignment::RemoveGaps< std::pair< std::string, std::string> >;
%template(RemoveGaps_Fasta) Sequence::Alignment::RemoveGaps< Sequence::Fasta >;
%template(RemoveTerminalGaps_strPair) Sequence::Alignment::RemoveTerminalGaps< std::pair<std::string, std::string> >;
%template(RemoveTerminalGaps_Fasta) Sequence::Alignment::RemoveTerminalGaps< Sequence::Fasta >;
%template(UnGappedLength_strPair) Sequence::Alignment::UnGappedLength< std::pair< std::string, std::string> >;
%template(UnGappedLength_Fasta) Sequence::Alignment::UnGappedLength< Sequence::Fasta >;
%template(Trim_strPair) Sequence::Alignment::Trim< std::pair< std::string, std::string> >;
%template(Trim_Fasta) Sequence::Alignment::Trim< Sequence::Fasta >;
%template(TrimComplement_strPair) Sequence::Alignment::TrimComplement< std::pair< std::string, std::string> >;
%template(TrimComplement_Fasta) Sequence::Alignment::TrimComplement< Sequence::Fasta >;
%template(EmptyVector_strPair) Sequence::Alignment::EmptyVector< std::pair< std::string, std::string> >;
%template(EmptyVector_Fasta) Sequence::Alignment::EmptyVector< Sequence::Fasta >;
%inline %{
std::pair<std::string, std::string> * strPairPointer(std::pair<std::string, std::string> x) {
return &x;
}
%}
%template(ppVector) std::vector< std::pair< std::string, std::string > * >;
%template(Align_RemoveFixedOutgroupInsertions) Sequence::Alignment::RemoveFixedOutgroupInsertions< std::pair< std::string, std::string> >;
%template(Align_validForPolyAnalysis) Sequence::Alignment::validForPolyAnalysis< std::vector< std::pair< std::string, std::string> >::iterator>;
%template(RemoveFixedOutgroupInsertions_strPair) Sequence::Alignment::RemoveFixedOutgroupInsertions< std::pair< std::string, std::string> >;
%template(RemoveFixedOutgroupInsertions_Fasta) Sequence::Alignment::RemoveFixedOutgroupInsertions< Sequence::Fasta >;
%template(validForPolyAnalysis_strPair) Sequence::Alignment::validForPolyAnalysis< std::vector< std::pair< std::string, std::string> >::iterator>;
%template(validForPolyAnalysis_Fasta) Sequence::Alignment::validForPolyAnalysis< std::vector< Sequence::Fasta >::iterator>;









%template(mean) Sequence::mean<std::vector<double>::iterator>;
%template(variance) Sequence::variance<std::vector<double>::iterator>;
%template(meanAndVar) Sequence::meanAndVar<std::vector<double>::iterator>;
Expand Down Expand Up @@ -320,7 +349,6 @@ if ((SWIG_ConvertPtr($input, (void **) &$1, $1_descriptor, SWIG_POINTER_EXCEPTIO


#%template(Align_IsAlignment_str) Sequence::Alignment::IsAlignment< Sequence::Seq >;
%template(NB) Sequence::Alignment::IsAlignment< Sequence::Fasta >;
#%template(PolySites) Sequence::PolySites::PolySites< std::pair< std::string, std::string > >;
%template(PolySites) Sequence::PolySites::PolySites< Sequence::Fasta >;
#%template(PolySites) Sequence::PolySites::PolySites< std::string >;
Expand All @@ -333,8 +361,8 @@ if ((SWIG_ConvertPtr($input, (void **) &$1, $1_descriptor, SWIG_POINTER_EXCEPTIO





%template(pick2) Sequence::pick2<Sequence::gsl_uniform>;
%template(pick2_in_deme) Sequence::pick2_in_deme<Sequence::gsl_uniform>;



Expand Down
3 changes: 3 additions & 0 deletions src/mappings/swig/python/libsequence/CMakeLists.txt
Expand Up @@ -14,12 +14,15 @@ IF(NOT BUILD_LIBS)
ENDIF(NOT BUILD_LIBS)

SET(BOOST_PATH ${MAP_ROOT}/contrib/boost)
SET(GSL_CONTRIB_PATH ${MAP_ROOT}/contrib/gsl)


INCLUDE_DIRECTORIES(${MAP_ROOT}/src/clibs/libsequence-1.6.6/include)
INCLUDE_DIRECTORIES(${MAP_ROOT}/contrib/libsequence-1.6.6)
INCLUDE_DIRECTORIES(/usr/include)
INCLUDE_DIRECTORIES(/usr/local/include)
INCLUDE_DIRECTORIES(${BOOST_PATH})
INCLUDE_DIRECTORIES(${GSL_CONTRIB_PATH})

SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY biolib)

Expand Down

0 comments on commit 3a5df4a

Please sign in to comment.