1 /////////////////////////////////////////////////////////////////
4 // Program for projecting multiple alignments to all pairwise
6 /////////////////////////////////////////////////////////////////
8 #include "SafeVector.h"
9 #include "MultiSequence.h"
22 bool compressGaps = true;
24 /////////////////////////////////////////////////////////////////
28 /////////////////////////////////////////////////////////////////
30 int main (int argc, char **argv){
34 cerr << "Usage: project ALIGNMENT [-nocompressgaps]" << endl;
38 for (int i = 2; i < argc; i++){
39 if (strcmp (argv[i], "-nocompressgaps") == 0)
42 cerr << "Unrecognized option: " << argv[i] << endl;
47 MultiSequence *align = new MultiSequence (string (argv[1])); assert (align);
49 int N = align->GetNumSequences();
50 for (int i = 0; i < N; i++){
51 for (int j = i+1; j < N; j++){
52 string name = align->GetSequence(i)->GetHeader() + "-" + align->GetSequence(j)->GetHeader() + ".fasta";
53 ofstream outfile (name.c_str());
57 s.insert (i); s.insert (j);
58 MultiSequence *proj = align->Project (s);
59 proj->WriteMFA (outfile);
63 align->GetSequence(i)->WriteMFA (outfile, 60);
64 align->GetSequence(j)->WriteMFA (outfile, 60);