]> git.donarmstrong.com Git - mothur.git/blobdiff - sequence.cpp
added modify names parameter to set.dir
[mothur.git] / sequence.cpp
index 224ecb10cb1529db7d6bdb10c268be047dae5834..d6073d75da3ed630b27b626bbba8615d79b58858 100644 (file)
@@ -21,9 +21,7 @@ Sequence::Sequence(string newName, string sequence) {
                initialize();   
                name = newName;
         
-        for (int i = 0; i < name.length(); i++) {
-            if (name[i] == ':') { name[i] = '_'; m->changedSeqNames = true; }
-        }
+        m->checkName(name);
                
                //setUnaligned removes any gap characters for us
                setUnaligned(sequence);
@@ -41,9 +39,7 @@ Sequence::Sequence(string newName, string sequence, string justUnAligned) {
                initialize();   
                name = newName;
         
-        for (int i = 0; i < name.length(); i++) {
-            if (name[i] == ':') { name[i] = '_'; m->changedSeqNames = true; }
-        }
+        m->checkName(name);
                
                //setUnaligned removes any gap characters for us
                setUnaligned(sequence);
@@ -220,7 +216,7 @@ Sequence::Sequence(ifstream& fastaFile, string& extraInfo, bool getInfo){
                        //read info after sequence name
                        while (!fastaFile.eof())        {       
                 char c = fastaFile.get(); 
-                if (c == 10 || c == 13){  break;       }       
+                if (c == 10 || c == 13 || c == -1){  break;    }
                 extraInfo += c;
             } 
                        
@@ -295,9 +291,7 @@ string Sequence::getSequenceName(ifstream& fastaFile) {
             
                        name = name.substr(1); 
             
-            for (int i = 0; i < name.length(); i++) {
-                if (name[i] == ':') { name[i] = '_'; m->changedSeqNames = true; }
-            }
+            m->checkName(name);
             
         }else{ m->mothurOut("Error in reading your fastafile, at position " + toString(fastaFile.tellg()) + ". Blank name."); m->mothurOutEndLine(); m->control_pressed = true;  }
         
@@ -319,9 +313,7 @@ string Sequence::getSequenceName(istringstream& fastaFile) {
             
                        name = name.substr(1); 
             
-            for (int i = 0; i < name.length(); i++) {
-                if (name[i] == ':') { name[i] = '_'; m->changedSeqNames = true; }
-            }
+            m->checkName(name);
             
         }else{ m->mothurOut("Error in reading your fastafile, at position " + toString(fastaFile.tellg()) + ". Blank name."); m->mothurOutEndLine(); m->control_pressed = true;  }
         
@@ -683,12 +675,12 @@ int Sequence::filterToPos(int start){
     
     if (start > aligned.length()) { start = aligned.length(); m->mothurOut("[ERROR]: start to large.\n"); }
     
-       for(int j = 0; j < start-1; j++) {
+       for(int j = 0; j < start; j++) {
                aligned[j] = '.';
        }
        
     //things like ......----------AT become ................AT
-    for(int j = start-1; j < aligned.length(); j++) {
+    for(int j = start; j < aligned.length(); j++) {
         if (isalpha(aligned[j])) { break; }
         else { aligned[j] = '.'; }
     }
@@ -772,6 +764,8 @@ void Sequence::trim(int length){
        if(numBases > length){
                unaligned = unaligned.substr(0,length);
                numBases = length;
+        aligned = "";
+        isAligned = 0;
        }
        
 }