Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / general / UserParameters.h
diff --git a/website/archive/binaries/mac/src/clustalw/src/general/UserParameters.h b/website/archive/binaries/mac/src/clustalw/src/general/UserParameters.h
new file mode 100644 (file)
index 0000000..1e8d2a8
--- /dev/null
@@ -0,0 +1,466 @@
+/**
+ * Author: Mark Larkin
+ * 
+ * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
+ */
+/**
+ * Mark Larkin 9 Dec 2005. 
+ * Note that most of the variables in this class are from param.h.
+ *
+ * Change log:
+ * Jan 18th 2006: Changed all of the c style strings into c++ string objects!
+ * Mark 30-1-2007: Added useLEScoringFunction and access functions.
+ * 31-01-07,Nigel Brown(EMBL): Revision string now obtained from clustalw
+ * specific versionw.h and updated from 1.83 to 2.1.
+ */
+#ifndef USERPARAMETERS_H
+#define USERPARAMETERS_H
+
+#include <string>
+#include <iostream>
+#include "utils.h"
+#include "general.h"
+#include "clustalw.h"
+
+namespace clustalw
+{
+
+class UserParameters
+{
+    public:
+        /* Functions */
+        UserParameters(bool log = false);
+        void setParamsToDefault();
+        void createParameterOutput();
+        int resIndex(string t,char c);
+        void setDNAMultiGap();
+        void setProtMultiGap();
+        void setDNAParams();
+        void setProtParams();
+        void setPWProteinParam();
+        void setPWDNAParam();
+        void setPWParamToProtein();
+        void setPWParamToDNA();
+        string getRevisionLevel();
+        void setRevisionLevel(string value);
+        bool getInteractive(){return interactive;};
+        void setInteractive(bool value);
+        float getGapOpen(){return gapOpen;};
+        void setGapOpen(float value);
+        float getGapExtend(){return gapExtend;};
+        void setGapExtend(float value);
+        float getPWGapOpen(){return PWGapOpen;};
+        void setPWGapOpen(float value);
+        float getPWGapExtend(){return PWGapExtend;};
+        void setPWGapExtend(float value);
+        float getAAGapOpen(){return AAGapOpen;}
+        void setAAGapOpen(float gap){AAGapOpen = gap;}
+        float getAAGapExtend(){return AAGapExtend;}
+        void setAAGapExtend(float gap){AAGapExtend = gap;}
+        float getAAPWGapOpen(){return AAPWGapOpen;}
+        void setAAPWGapOpen(float gap){AAPWGapOpen = gap;}
+        float getAAPWGapExtend(){return AAPWGapExtend;}
+        void setAAPWGapExtend(float gap){AAPWGapExtend = gap;}
+        int getMaxAA(){return maxAA;};
+        void setMaxAA(int value);
+        int getGapPos1(){return gapPos1;};
+        void setGapPos1(int value);
+        int getGapPos2(){return gapPos2;};
+        void setGapPos2(int value);
+        int getProfileNum(){return profileNum;};
+        void setProfileNum(int value);
+        bool getMenuFlag(){return menuFlag;};
+        void setMenuFlag(bool value);
+        bool getDNAFlag(){return DNAFlag;};
+        void setDNAFlag(bool value);
+        bool getDistanceTree(){return distanceTree;};
+        void setDistanceTree(bool value);
+        string getSeqName(){return seqName;};
+        void setSeqName(string value);
+        float getDNAGapOpen(){return DNAGapOpen;};
+        void setDNAGapOpen(float value);
+        float getDNAGapExtend(){return DNAGapExtend;};
+        void setDNAGapExtend(float value);
+        float getProteinGapOpen(){return AAGapOpen;};
+        void setProteinGapOpen(float value);
+        float getProteinGapExtend(){return AAGapExtend;};
+        void setProteinGapExtend(float value);
+        int getGapDist(){return gapDist;};
+        void setGapDist(int value);
+        int getOutputOrder(){return outputOrder;};
+        void setOutputOrder(int value);
+        void toggleOutputOrder();
+        int getDivergenceCutoff(){return divergenceCutoff;};
+        void setDivergenceCutoff(int value);
+
+
+        string getHydResidues(){return hydResidues;};
+        void setHydResidues(string value);
+        bool getNoWeights(){return noWeights;};
+        void setNoWeights(bool value);
+        bool getUseNegMatrix(){return negMatrix;};
+        void setUseNegMatrix(bool value);
+        void toggleUseNegMatrix();
+        bool getNoHydPenalties(){return noHydPenalties;};
+        void setNoHydPenalties(bool value);
+        void toggleNoHydPenalties();
+        bool getNoVarPenalties(){return noVarPenalties;};
+        void setNoVarPenalties(bool value);
+        bool getNoPrefPenalties(){return noPrefPenalties;};
+        void setNoPrefPenalties(bool value);
+        void toggleNoPrefPenalties();
+        bool getUseEndGaps(){return useEndGaps;};
+        void setUseEndGaps(bool value);
+        void toggleUseEndGaps();
+        bool getEndGapPenalties(){return endGapPenalties;};
+        void setEndGapPenalties(bool value);
+        bool getResetAlignmentsNew(){return resetAlignmentsNew;};
+        void setResetAlignmentsNew(bool value);
+        bool getResetAlignmentsAll(){return resetAlignmentsAll;};
+        void toggleResetAlignmentsNew();
+        void setResetAlignmentsAll(bool value);
+        int getOutputStructPenalties(){return outputStructPenalties;};
+        void setOutputStructPenalties(int value);
+        int getStructPenalties1(){return structPenalties1;};
+        void setStructPenalties1(int value);
+        int getStructPenalties2(){return structPenalties2;};
+        void setStructPenalties2(int value);
+        bool getUseSS1(){return useSS1;};
+        void setUseSS1(bool value);
+        void toggleUseSS1();
+        bool getUseSS2(){return useSS2;};
+        void setUseSS2(bool value);
+        void toggleUseSS2();
+        int getHelixPenalty(){return helixPenalty;};
+        void setHelixPenalty(int value);
+        int getStrandPenalty(){return strandPenalty;};
+        void setStrandPenalty(int value);
+        int getLoopPenalty(){return loopPenalty;};
+        void setLoopPenalty(int value);
+        int getHelixEndMinus(){return helixEndMinus;};
+        void setHelixEndMinus(int value);
+        int getHelixEndPlus(){return helixEndPlus;};
+        void setHelixEndPlus(int value);
+        int getStrandEndMinus(){return strandEndMinus;};
+        void setStrandEndMinus(int value);
+        int getStrandEndPlus(){return strandEndPlus;};
+        void setStrandEndPlus(int value);
+        int getHelixEndPenalty(){return helixEndPenalty;};
+        void setHelixEndPenalty(int value);
+        int getStrandEndPenalty(){return strandEndPenalty;};
+        void setStrandEndPenalty(int value);
+        bool getUseAmbiguities(){return useAmbiguities;};
+        void setUseAmbiguities(bool value);
+        float getDNAPWGapOpenPenalty(){return DNAPWGapOpen;};
+        void setDNAPWGapOpenPenalty(float value);
+        float getDNAPWGapExtendPenalty(){return DNAPWGapExtend;};
+        void setDNAPWGapExtendPenalty(float value);
+        float getProteinPWGapOpenPenalty(){return AAPWGapOpen;};
+        void setProteinPWGapOpenPenalty(float value);
+        float getProteinPWGapExtendPenalty(){return AAPWGapExtend;};
+        void setProteinPWGapExtendPenalty(float value);
+
+        bool getQuickPairAlign(){return quickPairAlign;};
+        void setQuickPairAlign(bool value);
+        void toggleQuickPairAlign(); // Mark new!!!
+        float getTransitionWeight(){return transitionWeight;};
+        void setTransitionWeight(float value);
+        int getDNAKtup(){return DNAKtup;};
+        void setDNAKtup(int value);
+        int getDNAWindowGap(){return DNAWindowGap;};
+        void setDNAWindowGap(int value);
+        int getDNASignif(){return DNASignif;};
+        void setDNASignif(int value);
+        int getDNAWindow(){return DNAWindow;};
+        void setDNAWindow(int value);
+        int getAAKtup(){return AAKtup;};
+        void setAAKtup(int value);
+        int getAAWindowGap(){return AAWindowGap;};
+        void setAAWindowGap(int value);
+        int getAASignif(){return AASignif;};
+        void setAASignif(int value);
+        int getAAWindow(){return AAWindow;};
+        void setAAWindow(int value);
+        bool getPercent(){return percent;};
+        void setPercent(bool value);
+        bool getTossGaps(){return tossgaps;};
+        void setTossGaps(bool value);
+        void toggleTossGaps();
+        bool getKimura(){return kimura;};
+        void setKimura(bool value);
+        void toggleKimura();
+        int getBootNumTrials(){return bootNumTrials;};
+        void setBootNumTrials(int value);
+        unsigned int getBootRanSeed(){return bootRanSeed;};
+        void setBootRanSeed(unsigned int value);
+        int getDebug(){return debug;};
+        void setDebug(int value);
+        bool getExplicitDNAFlag(){return explicitDNAFlag;};
+        void setExplicitDNAFlag(bool value);
+        bool getLowercase(){return lowercase;};
+        void setLowercase(bool value);
+        void toggleLowercase();
+        bool getClSeqNumbers(){return clSeqNumbers;};
+        void setClSeqNumbers(bool value);
+        void toggleClSeqNumbers();
+        bool getSeqRange(){return seqRange;};
+        void setSeqRange(bool value);
+        void toggleSeqRange();
+        bool getOutputClustal(){return outputClustal;};
+        void setOutputClustal(bool value);
+        void toggleOutputClustal(); 
+        bool getOutputGCG(){return outputGcg;};
+        void setOutputGCG(bool value);
+        void toggleOutputGCG(); 
+        bool getOutputPhylip(){return outputPhylip;};
+        void setOutputPhylip(bool value);
+        void toggleOutputPhylip(); 
+        bool getOutputNbrf(){return outputNbrf;};
+        void setOutputNbrf(bool value);
+        void toggleOutputNbrf(); 
+        bool getOutputGde(){return outputGde;};
+        void setOutputGde(bool value);
+        void toggleOutputGde(); 
+        bool getOutputNexus(){return outputNexus;};
+        void setOutputNexus(bool value);
+        void toggleOutputNexus(); 
+        bool getOutputFasta(){return outputFasta;};
+        void setOutputFasta(bool value);
+        void toggleOutputFasta(); 
+        bool getShowAlign(){return showAlign;};
+        void setShowAlign(bool value);
+        void toggleShowAlign();
+        bool getSaveParameters(){return saveParameters;};
+        void setSaveParameters(bool value);
+        void toggleSaveParameters();
+        bool getOutputTreeClustal(){return outputTreeClustal;};
+        void setOutputTreeClustal(bool value);
+        void toggleOutputTreeClustal();
+        bool getOutputTreePhylip(){return outputTreePhylip;};
+        void setOutputTreePhylip(bool value);
+        void toggleOutputTreePhylip();
+        bool getOutputTreeDistances(){return outputTreeDistances;};
+        void setOutputTreeDistances(bool value);
+        void toggleOutputTreeDistances();
+        bool getOutputTreeNexus(){return outputTreeNexus;};
+        void setOutputTreeNexus(bool value);
+        void toggleOutputTreeNexus();
+        bool getOutputPim(){return outputPim;};
+        void setOutputPim(bool value);
+        int getBootstrapFormat(){return bootstrapFormat;};
+        void setBootstrapFormat(int value);
+        void toggleBootstrapFormat();
+        string getProfile1Name(){return profile1Name;};
+        void setProfile1Name(string value);
+        string getProfile2Name(){return profile2Name;};
+        void setProfile2Name(string value);
+        bool getEmpty(){return empty;};
+        void setEmpty(bool value);
+        bool getProfile1Empty(){return profile1Empty;};
+        void setProfile1Empty(bool value);
+        bool getProfile2Empty(){return profile2Empty;};
+        void setProfile2Empty(bool value);
+        string getOutfileName(){return outfileName;};
+        void setOutfileName(string value);
+        bool getUseTreeFile(){return useTreeFile;};
+        void setUseTreeFile(bool value);
+        bool getNewTreeFile(){return newTreeFile;};
+        void setNewTreeFile(bool value);
+        bool getUseTree1File(){return useTree1File;};
+        void setUseTree1File(bool value);
+        bool getUseTree2File(){return useTree2File;};
+        void setUseTree2File(bool value);
+        bool getNewTree1File(){return newTree1File;};
+        void setNewTree1File(bool value);
+        bool getNewTree2File(){return newTree2File;};
+        void setNewTree2File(bool value);
+        string getAminoAcidCodes(){return aminoAcidCodes;};
+        char getAminoAcidCode(int i){return aminoAcidCodes[i];};
+        void setAminoAcidCodes(string value);
+        int getKtup(){return ktup;};
+        void setKtup(int value);
+        int getWindow(){return window;};
+        void setWindow(int value);
+        int getWindowGap(){return windowGap;};
+        void setWindowGap(int value);
+        int getSignif(){return signif;};
+        void setSignif(int value);
+        int getRangeFrom(){return rangeFrom;};
+        int getRangeTo(){return rangeTo;};
+        void setRangeFrom(int from);
+        void setRangeTo(int to);
+        bool getRangeFromToSet(){return rangeFromToSet;};
+        void setRangeFromToSet(bool set){rangeFromToSet = set;};
+        int getQTScorePlotScale();
+        void setQTScorePlotScale(int score);
+        int getQTResExceptionCutOff();
+        void setQTResExceptionCutOff(int cutOff);
+        bool getQTseqWeightCalculated();
+        void setQTseqWeightCalculated(bool calculated);
+        int getQTminLenLowScoreSegment();
+        void setQTminLenLowScoreSegment(int minLen);
+        int getQTlowScoreDNAMarkingScale();
+        void setQTlowScoreDNAMarkingScale(int dnaScale);
+
+        
+        // Access functions for the iteration variables.
+        void setNumIterations(int num){numIterations = num;}
+        int getNumIterations(){return numIterations;}
+        void setDoRemoveFirstIteration(int doIter){doRemoveFirstIteration = doIter;}
+        int getDoRemoveFirstIteration(){return doRemoveFirstIteration;}
+        bool IterationIsEnabled();
+            
+        void setClusterAlgorithm(int clust){clusterAlgorithm = clust;}
+        int getClusterAlgorithm(){return clusterAlgorithm;}
+        
+        void setDisplayInfo(bool display){displayInfo = display;}
+        bool getDisplayInfo(){return displayInfo;}
+        bool getHelpFlag() {return helpFlag;}
+        void setHelpFlag(bool b) {helpFlag = b;}
+        bool getFullHelpFlag() {return fullHelpFlag;}
+        void setFullHelpFlag(bool b) {fullHelpFlag = b;}
+        void setMaxAllowedSeqLength(int num){maxAllowedSeqLength = num;}
+        int getMaxAllowedSeqLength(){return maxAllowedSeqLength;}
+
+        bool ResetGapsIsEnabled() {return (resetAlignmentsNew || resetAlignmentsAll);};
+
+        /* Attributes */
+
+    private:
+        /* Functions */
+
+
+        /* Attributes */
+        
+        string revisionLevel;
+        bool interactive;
+        float gapOpen;
+        float gapExtend;
+        float PWGapOpen;
+        float PWGapExtend;
+        int maxAA;
+        int gapPos1;
+        int gapPos2;
+        int profileNum;
+        bool menuFlag;
+        bool DNAFlag;
+        bool distanceTree;
+        string seqName;
+        float DNAGapOpen;
+        float DNAGapExtend;
+        float AAGapOpen;
+        float AAGapExtend;
+        int gapDist;
+        int outputOrder;
+        int divergenceCutoff;
+        string hydResidues;
+        bool noWeights;
+        bool negMatrix;
+        bool noHydPenalties;
+        bool noVarPenalties;
+        bool noPrefPenalties;
+        bool useEndGaps;
+        bool endGapPenalties;
+        bool resetAlignmentsNew;
+        bool resetAlignmentsAll;
+        int outputStructPenalties;
+        int structPenalties1;
+        int structPenalties2;
+        bool useSS1;
+        bool useSS2;
+        int helixPenalty;
+        int strandPenalty;
+        int loopPenalty;
+        int helixEndMinus;
+        int helixEndPlus;
+        int strandEndMinus;
+        int strandEndPlus;
+        int helixEndPenalty;
+        int strandEndPenalty;
+        bool useAmbiguities;
+        float DNAPWGapOpen;
+        float DNAPWGapExtend;
+        float AAPWGapOpen;
+        float AAPWGapExtend;
+
+        bool quickPairAlign;
+        float transitionWeight;
+        int DNAKtup;
+        int DNAWindowGap;
+        int DNASignif;
+        int DNAWindow;
+        int AAKtup;
+        int AAWindowGap;
+        int AASignif;
+        int AAWindow;
+        bool percent;
+        bool tossgaps;
+        bool kimura;
+        int bootNumTrials;
+        unsigned int bootRanSeed;
+        int debug;
+        bool explicitDNAFlag;
+        bool lowercase; /* Flag for GDE output - set on comm. line*/
+        bool clSeqNumbers;
+        bool seqRange;
+        bool outputClustal;
+        bool outputGcg;
+        bool outputPhylip;
+        bool outputNbrf;
+        bool outputGde;
+        bool outputNexus;
+        bool outputFasta;
+        bool showAlign;
+        bool saveParameters;
+        bool outputTreeClustal;
+        bool outputTreePhylip;
+        bool outputTreeDistances;
+        bool outputTreeNexus;
+        bool outputPim;
+        int bootstrapFormat;
+        string profile1Name;
+        string profile2Name;
+        bool empty;
+        bool profile1Empty;
+        bool profile2Empty;
+        string outfileName;
+        //int profile1NumSeqs; MARK CHANGE Jan 10
+        bool useTreeFile;
+        bool newTreeFile;
+        bool useTree1File;
+        bool useTree2File;
+        bool newTree1File;
+        bool newTree2File;
+        string aminoAcidCodes;
+        int ktup;
+        int window;
+        int windowGap;
+        int signif;
+        
+        int rangeFrom;
+        int rangeTo;
+        bool rangeFromToSet;
+        
+        int QTscorePlotScale;
+        int QTresExceptionCutOff;
+        bool QTseqWeightCalculated;
+        int QTminLenLowScoreSegment;
+        int QTlowScoreDNAMarkingScale;
+
+        
+        // New variables for iteration
+        int numIterations;
+        int doRemoveFirstIteration;
+        
+        int clusterAlgorithm;
+        bool displayInfo;
+        bool helpFlag;
+        bool fullHelpFlag;
+        bool quiet;
+        
+        int maxAllowedSeqLength;
+};
+}
+#endif
+