]> git.donarmstrong.com Git - mothur.git/blobdiff - filterseqscommand.cpp
working on sffinfo
[mothur.git] / filterseqscommand.cpp
index 2bf0fa344eaeb924525bd6f906d664c8874f3d61..fada19aeba83054f7d41b42d2827147e86215414 100644 (file)
@@ -116,7 +116,7 @@ FilterSeqsCommand::FilterSeqsCommand(string option)  {
                        
                        vertical = validParameter.validFile(parameters, "vertical", false);             
                        if (vertical == "not found") { 
-                               if ((hard == "") && (trump == '*')) { vertical = "T"; } //you have not given a hard file or set the trump char.
+                               if ((hard == "") && (trump == '*') && (soft == 0)) { vertical = "T"; } //you have not given a hard file or set the trump char.
                                else { vertical = "F";  }
                        }
                        
@@ -872,7 +872,7 @@ int FilterSeqsCommand::createProcessesCreateFilter(Filters& F, string filename)
 int FilterSeqsCommand::setLines(string filename) {
        try {
                
-               vector<long int> positions;
+               vector<unsigned long int> positions;
                bufferSizes.clear();
                
                ifstream inFASTA;
@@ -883,7 +883,7 @@ int FilterSeqsCommand::setLines(string filename) {
                        input = getline(inFASTA);
 
                        if (input.length() != 0) {
-                               if(input[0] == '>'){ long int pos = inFASTA.tellg(); positions.push_back(pos - input.length() - 1);     }
+                               if(input[0] == '>'){ unsigned long int pos = inFASTA.tellg(); positions.push_back(pos - input.length() - 1);    }
                        }
                }
                inFASTA.close();
@@ -891,7 +891,7 @@ int FilterSeqsCommand::setLines(string filename) {
                int numFastaSeqs = positions.size();
        
                FILE * pFile;
-               long size;
+               unsigned long int size;
                
                //get num bytes in file
                pFile = fopen (filename.c_str(),"rb");
@@ -908,12 +908,12 @@ int FilterSeqsCommand::setLines(string filename) {
                
                for (int i = 0; i < processors; i++) {
 
-                       long int startPos = positions[ i * numSeqsPerProcessor ];
+                       unsigned long int startPos = positions[ i * numSeqsPerProcessor ];
                        if(i == processors - 1){
                                numSeqsPerProcessor = numFastaSeqs - i * numSeqsPerProcessor;
                                bufferSizes.push_back(size - startPos);
                        }else{  
-                               long int myEnd = positions[ (i+1) * numSeqsPerProcessor ];
+                               unsigned long int myEnd = positions[ (i+1) * numSeqsPerProcessor ];
                                bufferSizes.push_back(myEnd-startPos);
                        }
                        lines.push_back(new linePair(startPos, numSeqsPerProcessor));