1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#ifndef PAIRWISESEQSCOMMAND_H
#define PAIRWISESEQSCOMMAND_H
/*
* pairwiseseqscommand.h
* Mothur
*
* Created by westcott on 10/20/10.
* Copyright 2010 Schloss Lab. All rights reserved.
*
*/
#include "mothur.h"
#include "command.hpp"
#include "searchdatabase.hpp"
#include "alignment.hpp"
#include "validcalculator.h"
#include "calculator.h"
#include "sequencedb.h"
#include "sequence.hpp"
#include "gotohoverlap.hpp"
#include "needlemanoverlap.hpp"
#include "noalign.hpp"
#include "ignoregaps.h"
#include "eachgapdist.h"
#include "eachgapignore.h"
#include "onegapdist.h"
#include "onegapignore.h"
#include "writer.h"
class PairwiseSeqsCommand : public Command {
public:
PairwiseSeqsCommand(string);
PairwiseSeqsCommand(StorageDatabase*&, vector< vector< int > > kmerDB, vector< int > lengths, string, double, string, int); //used by mothur's splitMatrix class to avoid rereading files
~PairwiseSeqsCommand() = default;
vector<string> setParameters();
string getCommandName() { return "pairwise.seqs"; }
string getCommandCategory() { return "Sequence Processing"; }
string getHelpString();
string getOutputPattern(string);
string getCitation() { return "Needleman SB, Wunsch CD (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. J Mol Biol 48: 443-53. [ for needleman ]\nGotoh O (1982). An improved algorithm for matching biological sequences. J Mol Biol 162: 705-8. [ for gotoh ] \nhttp://www.mothur.org/wiki/Pairwise.seqs"; }
string getDescription() { return "calculates pairwise distances from an unaligned fasta file"; }
int execute();
void help() { m->mothurOut(getHelpString()); }
private:
StorageDatabase* alignDB;
void createProcesses(string);
bool sanityCheck();
bool abort, countends, compress, fitCalc;
string fastaFileName, align, calc, output, oldfastafile, column;
float match, misMatch, gapOpen, gapExtend, cutoff, kmerCutoff;
int processors, longestBase, numDistsBelowCutoff, kmerSize;
vector<string> outputNames;
vector< vector< int > > kmerDB; //kmerDB[0] = vector<int> maxKmers long, contains kmer counts
vector< int > lengths;
};
#endif
|