ref_loc_t RefSeq::LoadNextSeq(igzstream &fin) { char ch[1000]; char c; string s; if(!param.gz_ref) return 0; fin>>c; if(fin.eof()) return 0; string::iterator z=_seq.begin(); _length=0; fin>>_name; fin.getline(ch, 1000); while(!fin.eof()) { fin>>c; if(fin.eof()) break; fin.unget(); if(c=='>') break; fin>>s; if(_length+s.size()>=param.max_dbseq_size) { param.max_dbseq_size+=param.append_dbseq_size; _seq.resize(param.max_dbseq_size); z=_seq.begin()+_length; //cout<<"_seq size: "<<param.max_dbseq_size<<endl; } copy(s.begin(), s.end(), z); z+=s.size(); _length+=s.size(); } return _length; }