bioseqalign 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/bioseqalign/FitAlign.cpp +48 -0
- data/ext/bioseqalign/FitAlign.cpp~ +42 -0
- data/ext/bioseqalign/FitAlign.hpp +22 -0
- data/ext/bioseqalign/FitAlign.hpp~ +20 -0
- data/ext/bioseqalign/GlobalAlign.cpp +45 -0
- data/ext/bioseqalign/GlobalAlign.cpp~ +53 -0
- data/ext/bioseqalign/GlobalAlign.hpp +20 -0
- data/ext/bioseqalign/GlobalAlign.hpp~ +53 -0
- data/ext/bioseqalign/LocalAlign.cpp +53 -0
- data/ext/bioseqalign/LocalAlign.cpp~ +1 -0
- data/ext/bioseqalign/LocalAlign.hpp +21 -0
- data/ext/bioseqalign/LocalAlign.hpp~ +1 -0
- data/ext/bioseqalign/Makefile +251 -0
- data/ext/bioseqalign/PairwiseAlign.cpp +33 -0
- data/ext/bioseqalign/PairwiseAlign.cpp~ +23 -0
- data/ext/bioseqalign/PairwiseAlign.hpp +54 -0
- data/ext/bioseqalign/PairwiseAlign.hpp~ +54 -0
- data/ext/bioseqalign/PrefixSuffixAlign.cpp +52 -0
- data/ext/bioseqalign/PrefixSuffixAlign.cpp~ +42 -0
- data/ext/bioseqalign/PrefixSuffixAlign.hpp +30 -0
- data/ext/bioseqalign/PrefixSuffixAlign.hpp~ +20 -0
- data/ext/bioseqalign/extconf.rb +2 -0
- data/ext/bioseqalign/extconf.rb~ +2 -0
- data/ext/bioseqalign/fitalgntest.cpp +49 -0
- data/ext/bioseqalign/fitalgntest.cpp~ +37 -0
- data/ext/bioseqalign/runTest.rb +17 -0
- data/ext/bioseqalign/runTest.rb~ +8 -0
- data/lib/bioseqalign.rb +151 -0
- metadata +91 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
#include "FitAlign.hpp"
|
2
|
+
|
3
|
+
FitAlign::FitAlign() {}
|
4
|
+
|
5
|
+
FitAlign::FitAlign(std::string s1, std::string s2) : PairwiseAlign(s1, s2) { }
|
6
|
+
|
7
|
+
// unable to figure out how to properly overload constructor using RICE
|
8
|
+
//FitAlign::FitAlign(std::string s1, std::string s2, int matchS, int mismatchS, int indelS) : PairwiseAlign(s1, s2, matchS, mismatchS, indelS) {}
|
9
|
+
|
10
|
+
//std::string FitAlign::getAlignment() {
|
11
|
+
Rice::Array FitAlign::getAlignment() {
|
12
|
+
TSequence tseq1 = seq1;
|
13
|
+
TSequence tseq2 = seq2;
|
14
|
+
|
15
|
+
TStringSet sequences;
|
16
|
+
appendValue(sequences,tseq1);
|
17
|
+
appendValue(sequences,tseq2);
|
18
|
+
|
19
|
+
TAlignGraph alignG(sequences);
|
20
|
+
|
21
|
+
// don't penalize gaps on begin/end of seq2
|
22
|
+
globalAlignment(alignG, Score<int,Simple>(matchScore,mismatchScore,indelScore), AlignConfig<true, false, false, true>(), NeedlemanWunsch());
|
23
|
+
|
24
|
+
/*
|
25
|
+
std::stringstream ss;
|
26
|
+
ss<<alignG;
|
27
|
+
return ss.str();
|
28
|
+
*/
|
29
|
+
std::string mat;
|
30
|
+
convertAlignment(alignG, mat);
|
31
|
+
return getArrayFromAlignStr(mat);
|
32
|
+
}
|
33
|
+
|
34
|
+
|
35
|
+
void FitAlign::run() {
|
36
|
+
TSequence tseq1 = seq1;
|
37
|
+
TSequence tseq2 = seq2;
|
38
|
+
|
39
|
+
TStringSet sequences;
|
40
|
+
appendValue(sequences,tseq1);
|
41
|
+
appendValue(sequences,tseq2);
|
42
|
+
|
43
|
+
TAlignGraph alignG(sequences);
|
44
|
+
|
45
|
+
// don't penalize gaps on begin/end of seq2
|
46
|
+
score = globalAlignment(alignG, Score<int,Simple>(matchScore,mismatchScore,indelScore), AlignConfig<true, false, false, true>(), NeedlemanWunsch());
|
47
|
+
|
48
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#include "FitAlign.hpp"
|
2
|
+
|
3
|
+
FitAlign::FitAlign() {}
|
4
|
+
|
5
|
+
FitAlign::FitAlign(std::string s1, std::string s2) : PairwiseAlign(s1, s2) { }
|
6
|
+
|
7
|
+
// unable to figure out how to properly overload constructor using RICE
|
8
|
+
//FitAlign::FitAlign(std::string s1, std::string s2, int matchS, int mismatchS, int indelS) : PairwiseAlign(s1, s2, matchS, mismatchS, indelS) {}
|
9
|
+
|
10
|
+
std::string FitAlign::getAlignment() {
|
11
|
+
TSequence tseq1 = seq1;
|
12
|
+
TSequence tseq2 = seq2;
|
13
|
+
|
14
|
+
TStringSet sequences;
|
15
|
+
appendValue(sequences,tseq1);
|
16
|
+
appendValue(sequences,tseq2);
|
17
|
+
|
18
|
+
TAlignGraph alignG(sequences);
|
19
|
+
|
20
|
+
// don't penalize gaps on begin/end of seq2
|
21
|
+
globalAlignment(alignG, Score<int,Simple>(matchScore,mismatchScore,indelScore), AlignConfig<true, false, false, true>(), NeedlemanWunsch());
|
22
|
+
|
23
|
+
std::stringstream ss;
|
24
|
+
ss<<alignG;
|
25
|
+
return ss.str();
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
void FitAlign::run() {
|
30
|
+
TSequence tseq1 = seq1;
|
31
|
+
TSequence tseq2 = seq2;
|
32
|
+
|
33
|
+
TStringSet sequences;
|
34
|
+
appendValue(sequences,tseq1);
|
35
|
+
appendValue(sequences,tseq2);
|
36
|
+
|
37
|
+
TAlignGraph alignG(sequences);
|
38
|
+
|
39
|
+
// don't penalize gaps on begin/end of seq2
|
40
|
+
score = globalAlignment(alignG, Score<int,Simple>(matchScore,mismatchScore,indelScore), AlignConfig<true, false, false, true>(), NeedlemanWunsch());
|
41
|
+
|
42
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
#include <iostream>
|
3
|
+
#include <string>
|
4
|
+
#include <seqan/align.h>
|
5
|
+
|
6
|
+
#include "PairwiseAlign.hpp"
|
7
|
+
|
8
|
+
using namespace seqan;
|
9
|
+
|
10
|
+
class FitAlign : public PairwiseAlign {
|
11
|
+
public:
|
12
|
+
FitAlign();
|
13
|
+
FitAlign(std::string s1, std::string s2);
|
14
|
+
//FitAlign(std::string s1, std::string s2, int matchS, int mismatchS, int indelS);
|
15
|
+
virtual ~FitAlign() {}
|
16
|
+
|
17
|
+
virtual void run();
|
18
|
+
//virtual std::string getAlignment();
|
19
|
+
virtual Rice::Array getAlignment();
|
20
|
+
|
21
|
+
};
|
22
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#include <iostream>
|
2
|
+
#include <string>
|
3
|
+
#include <seqan/align.h>
|
4
|
+
|
5
|
+
#include "PairwiseAlign.hpp"
|
6
|
+
|
7
|
+
using namespace seqan;
|
8
|
+
|
9
|
+
class FitAlign : public PairwiseAlign {
|
10
|
+
public:
|
11
|
+
FitAlign();
|
12
|
+
FitAlign(std::string s1, std::string s2);
|
13
|
+
//FitAlign(std::string s1, std::string s2, int matchS, int mismatchS, int indelS);
|
14
|
+
virtual ~FitAlign() {}
|
15
|
+
|
16
|
+
virtual void run();
|
17
|
+
virtual std::string getAlignment();
|
18
|
+
|
19
|
+
};
|
20
|
+
|
@@ -0,0 +1,45 @@
|
|
1
|
+
// global alignment
|
2
|
+
|
3
|
+
#include "GlobalAlign.hpp"
|
4
|
+
|
5
|
+
GlobalAlign::GlobalAlign() {}
|
6
|
+
|
7
|
+
GlobalAlign::GlobalAlign(std::string s1, std::string s2) : PairwiseAlign(s1, s2) { }
|
8
|
+
|
9
|
+
Rice::Array GlobalAlign::getAlignment() {
|
10
|
+
TAlign ali;
|
11
|
+
resize(rows(ali), 2);
|
12
|
+
assignSource(row(ali, 0), seq1);
|
13
|
+
assignSource(row(ali, 1), seq2);
|
14
|
+
|
15
|
+
globalAlignment(ali, Score<int>(matchScore,mismatchScore,indelScore));
|
16
|
+
|
17
|
+
typedef Iterator<TRow>::Type TRowIterator;
|
18
|
+
TRowIterator it = begin(row(ali, 0));
|
19
|
+
TRowIterator itEnd = end(row(ali, 0));
|
20
|
+
std::string s_row1 = "";
|
21
|
+
for(; it != itEnd; ++it) {
|
22
|
+
if(isGap(it)) s_row1 += "-";
|
23
|
+
else s_row1 += (*it);
|
24
|
+
}
|
25
|
+
TRowIterator it2 = begin(row(ali, 1));
|
26
|
+
TRowIterator itEnd2 = end(row(ali, 1));
|
27
|
+
std::string s_row2 = "";
|
28
|
+
for(; it2 != itEnd2; ++it2) {
|
29
|
+
if(isGap(it2)) s_row2 += "-";
|
30
|
+
else s_row2 += (*it2);
|
31
|
+
}
|
32
|
+
|
33
|
+
return getArrayFromAlignStr(s_row1+s_row2);
|
34
|
+
}
|
35
|
+
|
36
|
+
|
37
|
+
void GlobalAlign::run() {
|
38
|
+
TAlign ali;
|
39
|
+
resize(rows(ali), 2);
|
40
|
+
assignSource(row(ali, 0), seq1);
|
41
|
+
assignSource(row(ali, 1), seq2);
|
42
|
+
|
43
|
+
score = globalAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore));
|
44
|
+
}
|
45
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
// global alignment
|
2
|
+
|
3
|
+
#include "GlobalAlign.hpp"
|
4
|
+
|
5
|
+
GlobalAlign::GlobalAlign() {}
|
6
|
+
|
7
|
+
GlobalAlign::GlobalAlign(std::string s1, std::string s2) : PairwiseAlign(s1, s2) { }
|
8
|
+
|
9
|
+
Rice::Array GlobalAlign::getAlignment() {
|
10
|
+
TAlign ali;
|
11
|
+
resize(rows(ali), 2);
|
12
|
+
assignSource(row(ali, 0), seq1);
|
13
|
+
assignSource(row(ali, 1), seq2);
|
14
|
+
|
15
|
+
//globalAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
16
|
+
globalAlignment(ali, Score<int>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
17
|
+
|
18
|
+
//std::cout<<row(ali, 0)<<std::endl;
|
19
|
+
//std::cout<<row(ali, 1)<<std::endl;
|
20
|
+
|
21
|
+
typedef Iterator<TRow>::Type TRowIterator;
|
22
|
+
TRowIterator it = begin(row(ali, 0));
|
23
|
+
TRowIterator itEnd = end(row(ali, 0));
|
24
|
+
std::string s_row1 = "";
|
25
|
+
for(; it != itEnd; ++it) {
|
26
|
+
if(isGap(it)) s_row1 += "-";
|
27
|
+
else s_row1 += (*it);
|
28
|
+
}
|
29
|
+
TRowIterator it2 = begin(row(ali, 1));
|
30
|
+
TRowIterator itEnd2 = end(row(ali, 1));
|
31
|
+
std::string s_row2 = "";
|
32
|
+
for(; it2 != itEnd2; ++it2) {
|
33
|
+
if(isGap(it2)) s_row2 += "-";
|
34
|
+
else s_row2 += (*it2);
|
35
|
+
}
|
36
|
+
|
37
|
+
// std::cout<<s_row1<<std::endl;
|
38
|
+
// std::cout<<s_row2<<std::endl;
|
39
|
+
// std::cout<<ali<<std::endl;
|
40
|
+
|
41
|
+
return getArrayFromAlignStr(s_row1+s_row2);
|
42
|
+
}
|
43
|
+
|
44
|
+
|
45
|
+
void GlobalAlign::run() {
|
46
|
+
TAlign ali;
|
47
|
+
resize(rows(ali), 2);
|
48
|
+
assignSource(row(ali, 0), seq1);
|
49
|
+
assignSource(row(ali, 1), seq2);
|
50
|
+
|
51
|
+
score = globalAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
52
|
+
}
|
53
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
// global alignment
|
2
|
+
|
3
|
+
#include <iostream>
|
4
|
+
#include <string>
|
5
|
+
#include <seqan/align.h>
|
6
|
+
|
7
|
+
#include "PairwiseAlign.hpp"
|
8
|
+
|
9
|
+
using namespace seqan;
|
10
|
+
|
11
|
+
class GlobalAlign : public PairwiseAlign {
|
12
|
+
public:
|
13
|
+
GlobalAlign();
|
14
|
+
GlobalAlign(std::string s1, std::string s2);
|
15
|
+
virtual ~GlobalAlign() {}
|
16
|
+
|
17
|
+
virtual void run();
|
18
|
+
virtual Rice::Array getAlignment();
|
19
|
+
|
20
|
+
};
|
@@ -0,0 +1,53 @@
|
|
1
|
+
// local alignment
|
2
|
+
|
3
|
+
#include "LocalAlign.hpp"
|
4
|
+
|
5
|
+
LocalAlign::LocalAlign() {}
|
6
|
+
|
7
|
+
LocalAlign::LocalAlign(std::string s1, std::string s2) : PairwiseAlign(s1, s2) { }
|
8
|
+
|
9
|
+
Rice::Array LocalAlign::getAlignment() {
|
10
|
+
TAlign ali;
|
11
|
+
resize(rows(ali), 2);
|
12
|
+
assignSource(row(ali, 0), seq1);
|
13
|
+
assignSource(row(ali, 1), seq2);
|
14
|
+
|
15
|
+
//localAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
16
|
+
localAlignment(ali, Score<int>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
17
|
+
|
18
|
+
//std::cout<<row(ali, 0)<<std::endl;
|
19
|
+
//std::cout<<row(ali, 1)<<std::endl;
|
20
|
+
|
21
|
+
typedef Iterator<TRow>::Type TRowIterator;
|
22
|
+
TRowIterator it = begin(row(ali, 0));
|
23
|
+
TRowIterator itEnd = end(row(ali, 0));
|
24
|
+
std::string s_row1 = "";
|
25
|
+
for(; it != itEnd; ++it) {
|
26
|
+
if(isGap(it)) s_row1 += "-";
|
27
|
+
else s_row1 += (*it);
|
28
|
+
}
|
29
|
+
TRowIterator it2 = begin(row(ali, 1));
|
30
|
+
TRowIterator itEnd2 = end(row(ali, 1));
|
31
|
+
std::string s_row2 = "";
|
32
|
+
for(; it2 != itEnd2; ++it2) {
|
33
|
+
if(isGap(it2)) s_row2 += "-";
|
34
|
+
else s_row2 += (*it2);
|
35
|
+
}
|
36
|
+
|
37
|
+
// std::cout<<s_row1<<std::endl;
|
38
|
+
// std::cout<<s_row2<<std::endl;
|
39
|
+
// std::cout<<ali<<std::endl;
|
40
|
+
|
41
|
+
return getArrayFromAlignStr(s_row1+s_row2);
|
42
|
+
}
|
43
|
+
|
44
|
+
|
45
|
+
void LocalAlign::run() {
|
46
|
+
TAlign ali;
|
47
|
+
resize(rows(ali), 2);
|
48
|
+
assignSource(row(ali, 0), seq1);
|
49
|
+
assignSource(row(ali, 1), seq2);
|
50
|
+
|
51
|
+
score = localAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
52
|
+
}
|
53
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
// local alignment
|
2
|
+
|
3
|
+
#include "LocalAlign.hpp"
|
4
|
+
|
5
|
+
LocalAlign::LocalAlign() {}
|
6
|
+
|
7
|
+
LocalAlign::LocalAlign(std::string s1, std::string s2) : PairwiseAlign(s1, s2) { }
|
8
|
+
|
9
|
+
Rice::Array LocalAlign::getAlignment() {
|
10
|
+
TAlign ali;
|
11
|
+
resize(rows(ali), 2);
|
12
|
+
assignSource(row(ali, 0), seq1);
|
13
|
+
assignSource(row(ali, 1), seq2);
|
14
|
+
|
15
|
+
//localAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
16
|
+
localAlignment(ali, Score<int>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
17
|
+
|
18
|
+
//std::cout<<row(ali, 0)<<std::endl;
|
19
|
+
//std::cout<<row(ali, 1)<<std::endl;
|
20
|
+
|
21
|
+
typedef Iterator<TRow>::Type TRowIterator;
|
22
|
+
TRowIterator it = begin(row(ali, 0));
|
23
|
+
TRowIterator itEnd = end(row(ali, 0));
|
24
|
+
std::string s_row1 = "";
|
25
|
+
for(; it != itEnd; ++it) {
|
26
|
+
if(isGap(it)) s_row1 += "-";
|
27
|
+
else s_row1 += (*it);
|
28
|
+
}
|
29
|
+
TRowIterator it2 = begin(row(ali, 1));
|
30
|
+
TRowIterator itEnd2 = end(row(ali, 1));
|
31
|
+
std::string s_row2 = "";
|
32
|
+
for(; it2 != itEnd2; ++it2) {
|
33
|
+
if(isGap(it2)) s_row2 += "-";
|
34
|
+
else s_row2 += (*it2);
|
35
|
+
}
|
36
|
+
|
37
|
+
// std::cout<<s_row1<<std::endl;
|
38
|
+
// std::cout<<s_row2<<std::endl;
|
39
|
+
// std::cout<<ali<<std::endl;
|
40
|
+
|
41
|
+
return getArrayFromAlignStr(s_row1+s_row2);
|
42
|
+
}
|
43
|
+
|
44
|
+
|
45
|
+
void LocalAlign::run() {
|
46
|
+
TAlign ali;
|
47
|
+
resize(rows(ali), 2);
|
48
|
+
assignSource(row(ali, 0), seq1);
|
49
|
+
assignSource(row(ali, 1), seq2);
|
50
|
+
|
51
|
+
score = localAlignment(ali, Score<int,Simple>(matchScore,mismatchScore,indelScore), SmithWaterman());
|
52
|
+
}
|
53
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
// local alignment
|
@@ -0,0 +1,21 @@
|
|
1
|
+
// local alignment
|
2
|
+
|
3
|
+
#include <iostream>
|
4
|
+
#include <string>
|
5
|
+
#include <seqan/align.h>
|
6
|
+
|
7
|
+
#include "PairwiseAlign.hpp"
|
8
|
+
|
9
|
+
using namespace seqan;
|
10
|
+
|
11
|
+
class LocalAlign : public PairwiseAlign {
|
12
|
+
public:
|
13
|
+
LocalAlign();
|
14
|
+
LocalAlign(std::string s1, std::string s2);
|
15
|
+
virtual ~LocalAlign() {}
|
16
|
+
|
17
|
+
virtual void run();
|
18
|
+
virtual Rice::Array getAlignment();
|
19
|
+
|
20
|
+
};
|
21
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
// local alignment
|
@@ -0,0 +1,251 @@
|
|
1
|
+
|
2
|
+
SHELL = /bin/sh
|
3
|
+
|
4
|
+
# V=0 quiet, V=1 verbose. other values don't work.
|
5
|
+
V = 0
|
6
|
+
Q1 = $(V:1=)
|
7
|
+
Q = $(Q1:0=@)
|
8
|
+
n=$(NULLCMD)
|
9
|
+
ECHO1 = $(V:1=@$n)
|
10
|
+
ECHO = $(ECHO1:0=@echo)
|
11
|
+
|
12
|
+
#### Start of system configuration section. ####
|
13
|
+
|
14
|
+
srcdir = .
|
15
|
+
topdir = /usr/include/ruby-1.9.1
|
16
|
+
hdrdir = /usr/include/ruby-1.9.1
|
17
|
+
arch_hdrdir = /usr/include/ruby-1.9.1/$(arch)
|
18
|
+
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
19
|
+
|
20
|
+
prefix = $(DESTDIR)/usr
|
21
|
+
|
22
|
+
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
23
|
+
|
24
|
+
exec_prefix = $(prefix)
|
25
|
+
|
26
|
+
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
|
27
|
+
|
28
|
+
sitehdrdir = $(rubyhdrdir)/site_ruby
|
29
|
+
|
30
|
+
rubyhdrdir = $(includedir)/$(RUBY_BASE_NAME)-$(ruby_version)
|
31
|
+
|
32
|
+
vendordir = $(DESTDIR)/usr/lib/ruby/vendor_ruby
|
33
|
+
|
34
|
+
sitedir = $(DESTDIR)/usr/local/lib/site_ruby
|
35
|
+
|
36
|
+
ridir = $(datarootdir)/$(RI_BASE_NAME)
|
37
|
+
|
38
|
+
mandir = $(prefix)/share/man
|
39
|
+
|
40
|
+
localedir = $(datarootdir)/locale
|
41
|
+
|
42
|
+
libdir = $(exec_prefix)/lib
|
43
|
+
|
44
|
+
psdir = $(docdir)
|
45
|
+
|
46
|
+
pdfdir = $(docdir)
|
47
|
+
|
48
|
+
dvidir = $(docdir)
|
49
|
+
|
50
|
+
htmldir = $(docdir)
|
51
|
+
|
52
|
+
infodir = $(prefix)/share/info
|
53
|
+
|
54
|
+
docdir = $(datarootdir)/doc/$(PACKAGE)
|
55
|
+
|
56
|
+
oldincludedir = $(DESTDIR)/usr/include
|
57
|
+
|
58
|
+
includedir = $(prefix)/include
|
59
|
+
|
60
|
+
localstatedir = $(DESTDIR)/var
|
61
|
+
|
62
|
+
sharedstatedir = $(prefix)/com
|
63
|
+
|
64
|
+
sysconfdir = $(DESTDIR)/etc
|
65
|
+
|
66
|
+
datadir = $(datarootdir)
|
67
|
+
|
68
|
+
datarootdir = $(prefix)/share
|
69
|
+
|
70
|
+
libexecdir = $(prefix)/lib/ruby1.9.1
|
71
|
+
|
72
|
+
sbindir = $(exec_prefix)/sbin
|
73
|
+
|
74
|
+
bindir = $(exec_prefix)/bin
|
75
|
+
|
76
|
+
rubylibdir = $(rubylibprefix)/$(ruby_version)
|
77
|
+
|
78
|
+
archdir = $(rubylibdir)/$(arch)
|
79
|
+
|
80
|
+
sitelibdir = $(sitedir)/$(ruby_version)
|
81
|
+
|
82
|
+
sitearchdir = $(sitelibdir)/$(sitearch)
|
83
|
+
|
84
|
+
vendorlibdir = $(vendordir)/$(ruby_version)
|
85
|
+
|
86
|
+
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
87
|
+
|
88
|
+
|
89
|
+
NULLCMD = :
|
90
|
+
|
91
|
+
CC = gcc
|
92
|
+
CXX = g++
|
93
|
+
LIBRUBY = $(LIBRUBY_SO)
|
94
|
+
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
95
|
+
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
|
96
|
+
LIBRUBYARG_STATIC = -lruby-1.9.1-static
|
97
|
+
OUTFLAG = -o
|
98
|
+
COUTFLAG = -o
|
99
|
+
|
100
|
+
RUBY_EXTCONF_H =
|
101
|
+
cflags = $(optflags) $(debugflags) $(warnflags)
|
102
|
+
optflags = -O3
|
103
|
+
debugflags = -ggdb
|
104
|
+
warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration
|
105
|
+
CFLAGS = -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -fno-strict-aliasing -fPIC $(ARCH_FLAG)
|
106
|
+
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
107
|
+
DEFS =
|
108
|
+
CPPFLAGS = -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags) -I/home/stef/ruby_gems/gems/rice-1.6.2/ruby/lib/include
|
109
|
+
CXXFLAGS = $(CFLAGS) -Wall -g
|
110
|
+
ldflags = -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -rdynamic -Wl,-export-dynamic -L/home/stef/ruby_gems/gems/rice-1.6.2/ruby/lib/lib -lrice
|
111
|
+
dldflags =
|
112
|
+
ARCH_FLAG =
|
113
|
+
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
|
114
|
+
LDSHARED = g++ -shared
|
115
|
+
LDSHAREDXX = $(CXX) -shared
|
116
|
+
AR = ar
|
117
|
+
EXEEXT =
|
118
|
+
|
119
|
+
RUBY_BASE_NAME = ruby
|
120
|
+
RUBY_INSTALL_NAME = ruby1.9.1
|
121
|
+
RUBY_SO_NAME = ruby-1.9.1
|
122
|
+
arch = x86_64-linux
|
123
|
+
sitearch = $(arch)
|
124
|
+
ruby_version = 1.9.1
|
125
|
+
ruby = /usr/bin/ruby1.9.1
|
126
|
+
RUBY = $(ruby)
|
127
|
+
RM = rm -f
|
128
|
+
RM_RF = $(RUBY) -run -e rm -- -rf
|
129
|
+
RMDIRS = rmdir --ignore-fail-on-non-empty -p
|
130
|
+
MAKEDIRS = /bin/mkdir -p
|
131
|
+
INSTALL = /usr/bin/install -c
|
132
|
+
INSTALL_PROG = $(INSTALL) -m 0755
|
133
|
+
INSTALL_DATA = $(INSTALL) -m 644
|
134
|
+
COPY = cp
|
135
|
+
|
136
|
+
#### End of system configuration section. ####
|
137
|
+
|
138
|
+
preload =
|
139
|
+
|
140
|
+
|
141
|
+
CXX = g++
|
142
|
+
|
143
|
+
libpath = . $(libdir)
|
144
|
+
LIBPATH = -L. -L$(libdir)
|
145
|
+
DEFFILE =
|
146
|
+
|
147
|
+
CLEANFILES = mkmf.log
|
148
|
+
DISTCLEANFILES =
|
149
|
+
DISTCLEANDIRS =
|
150
|
+
|
151
|
+
extout =
|
152
|
+
extout_prefix =
|
153
|
+
target_prefix =
|
154
|
+
LOCAL_LIBS =
|
155
|
+
LIBS = -lruby-1.9.1 -lpthread -lrt -ldl -lcrypt -lm -lc
|
156
|
+
SRCS = PrefixSuffixAlign.cpp PairwiseAlign.cpp LocalAlign.cpp fitalgntest.cpp GlobalAlign.cpp FitAlign.cpp
|
157
|
+
OBJS = PrefixSuffixAlign.o PairwiseAlign.o LocalAlign.o fitalgntest.o GlobalAlign.o FitAlign.o
|
158
|
+
TARGET = SeqAlign
|
159
|
+
DLLIB = $(TARGET).so
|
160
|
+
EXTSTATIC =
|
161
|
+
STATIC_LIB =
|
162
|
+
|
163
|
+
BINDIR = $(bindir)
|
164
|
+
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
165
|
+
RUBYLIBDIR = $(sitelibdir)$(target_prefix)
|
166
|
+
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
|
167
|
+
HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
|
168
|
+
ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
|
169
|
+
|
170
|
+
TARGET_SO = $(DLLIB)
|
171
|
+
CLEANLIBS = $(TARGET).so
|
172
|
+
CLEANOBJS = *.o *.bak
|
173
|
+
|
174
|
+
all: $(DLLIB)
|
175
|
+
static: $(STATIC_LIB)
|
176
|
+
.PHONY: all install static install-so install-rb
|
177
|
+
.PHONY: clean clean-so clean-rb
|
178
|
+
|
179
|
+
clean-rb-default::
|
180
|
+
clean-rb::
|
181
|
+
clean-so::
|
182
|
+
clean: clean-so clean-rb-default clean-rb
|
183
|
+
@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
|
184
|
+
|
185
|
+
distclean-rb-default::
|
186
|
+
distclean-rb::
|
187
|
+
distclean-so::
|
188
|
+
distclean: clean distclean-so distclean-rb-default distclean-rb
|
189
|
+
@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
190
|
+
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
|
191
|
+
@-$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
|
192
|
+
|
193
|
+
realclean: distclean
|
194
|
+
install: install-so install-rb
|
195
|
+
|
196
|
+
install-so: $(RUBYARCHDIR)
|
197
|
+
install-so: $(RUBYARCHDIR)/$(DLLIB)
|
198
|
+
$(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
|
199
|
+
@-$(MAKEDIRS) $(@D)
|
200
|
+
$(INSTALL_PROG) $(DLLIB) $(@D)
|
201
|
+
install-rb: pre-install-rb install-rb-default
|
202
|
+
install-rb-default: pre-install-rb-default
|
203
|
+
pre-install-rb: Makefile
|
204
|
+
pre-install-rb-default: Makefile
|
205
|
+
pre-install-rb-default:
|
206
|
+
$(ECHO) installing default SeqAlign libraries
|
207
|
+
$(RUBYARCHDIR):
|
208
|
+
$(Q) $(MAKEDIRS) $@
|
209
|
+
|
210
|
+
site-install: site-install-so site-install-rb
|
211
|
+
site-install-so: install-so
|
212
|
+
site-install-rb: install-rb
|
213
|
+
|
214
|
+
.SUFFIXES: .c .m .cc .mm .cxx .cpp .C .o
|
215
|
+
|
216
|
+
.cc.o:
|
217
|
+
$(ECHO) compiling $(<)
|
218
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
219
|
+
|
220
|
+
.mm.o:
|
221
|
+
$(ECHO) compiling $(<)
|
222
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
223
|
+
|
224
|
+
.cxx.o:
|
225
|
+
$(ECHO) compiling $(<)
|
226
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
227
|
+
|
228
|
+
.cpp.o:
|
229
|
+
$(ECHO) compiling $(<)
|
230
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
231
|
+
|
232
|
+
.C.o:
|
233
|
+
$(ECHO) compiling $(<)
|
234
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
235
|
+
|
236
|
+
.c.o:
|
237
|
+
$(ECHO) compiling $(<)
|
238
|
+
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
|
239
|
+
|
240
|
+
.m.o:
|
241
|
+
$(ECHO) compiling $(<)
|
242
|
+
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
|
243
|
+
|
244
|
+
$(DLLIB): $(OBJS) Makefile
|
245
|
+
$(ECHO) linking shared-object $(DLLIB)
|
246
|
+
@-$(RM) $(@)
|
247
|
+
$(Q) $(LDSHAREDXX) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
$(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h
|