1 #include "Alignment.h"
2 #include "Parameters.h"
3 #include "Debug.h"
4 #include "Util.h"
5 #include "MMseqsMPI.h"
6 
7 #ifdef OPENMP
8 #include <omp.h>
9 #endif
10 
11 
align(int argc,const char ** argv,const Command & command)12 int align(int argc, const char **argv, const Command& command) {
13     MMseqsMPI::init(argc, argv);
14 
15     Parameters& par = Parameters::getInstance();
16     par.overrideParameterDescription(par.PARAM_ALIGNMENT_MODE, "How to compute the alignment:\n0: automatic\n1: only score and end_pos\n2: also start_pos and cov\n3: also seq.id", NULL, 0);
17     par.parseParameters(argc, argv, command, true, 0, MMseqsParameter::COMMAND_ALIGN);
18 
19     Alignment aln(par.db1, par.db2,
20                   par.db3, par.db3Index,
21                   par.db4, par.db4Index, par, false);
22 
23     Debug(Debug::INFO) << "Calculation of alignments\n";
24 
25 #ifdef HAVE_MPI
26     aln.run(MMseqsMPI::rank, MMseqsMPI::numProc);
27 #else
28     aln.run();
29 #endif
30 
31     return EXIT_SUCCESS;
32 }
33 
lcaalign(int argc,const char ** argv,const Command & command)34 int lcaalign(int argc, const char **argv, const Command& command) {
35     MMseqsMPI::init(argc, argv);
36 
37     Parameters& par = Parameters::getInstance();
38     par.overrideParameterDescription(par.PARAM_ALIGNMENT_MODE, "How to compute the alignment:\n0: automatic\n1: only score and end_pos\n2: also start_pos and cov\n3: also seq.id", NULL, 0);
39     par.parseParameters(argc, argv, command, true, 0, MMseqsParameter::COMMAND_ALIGN);
40 
41     Alignment aln(par.db1, par.db2,
42                   par.db3, par.db3Index,
43                   par.db4, par.db4Index, par, true);
44 
45 #ifdef HAVE_MPI
46     aln.run(MMseqsMPI::rank, MMseqsMPI::numProc);
47 #else
48     aln.run();
49 #endif
50 
51     return EXIT_SUCCESS;
52 }
53 
54 
55