ValueMap Configure::ReadConfig() { ValueMap vals; vals.clear(); std::ifstream ifs_(conf_path_.c_str(), std::ios::in); std::string line; while(std::getline(ifs_, line)) { std::string name = line.substr(0, line.find_first_of(":")); if (name.empty() || name == line) continue; std::string buf(line.substr(line.find_first_of(":")+1)); std::istringstream ss(buf.substr(buf.find_first_of("-0123456789"))); double value; ss >> value; vals[name] = value; } ifs_.close(); return vals; }
Forest(const char * _forest_filename_ ) :num_predictors_(0) { std::ifstream ifs_(_forest_filename_, std::iostream::in); if ( ifs_.is_open() ) { const int kbufferlen = 1024; char buffer_[kbufferlen]; while ( ifs_.good() ) { bzero( buffer_, kbufferlen ); ifs_.getline( buffer_, kbufferlen ); PerishableStringTokenizer tokenizer_ ( buffer_, kbufferlen ); const std::vector< const char * > & tokens_ = tokenizer_.GetTokens(); if ( tokens_.empty() ) { continue; } if ( strcmp(tokens_[0],"NUM_PREDICTORS")==0 && tokens_.size() >= 2 ) { num_predictors_ = atoi(tokens_[1]); } else if ( strcmp(tokens_[0],"TREESTART")==0 ) { tree_vec_.push_back(Tree()); } else if ( strcmp(tokens_[0],"TREELINE")==0 && tokens_.size() >= 9 ) { if ( ! tree_vec_.empty() ) { Tree & this_tree_ = tree_vec_[tree_vec_.size()-1]; this_tree_.push_back( Node(tokens_,this_tree_.size()) ); } } } ifs_.close(); } else { std::cerr << "ERROR: Cannot open " << _forest_filename_ << " for reading." << std::endl; exit ( 0 ) ; } }
OpenSwath::SpectrumPtr SpectrumAccessOpenMSCached::getSpectrumById(int id) const { if (cache_.getSpectraIndex().empty()) { // remove const from the cache since we need to recalculate the index // and re-read the data. (const_cast<CachedmzML*>(&cache_))->createMemdumpIndex(filename_cached_); } OpenSwath::BinaryDataArrayPtr mz_array(new OpenSwath::BinaryDataArray); OpenSwath::BinaryDataArrayPtr intensity_array(new OpenSwath::BinaryDataArray); int ms_level = -1; double rt = -1.0; // FEATURE check if we can keep the filestream open -> risky if someone else // accesses the file in the meantime std::ifstream ifs_((filename_cached_).c_str(), std::ios::binary); ifs_.seekg(cache_.getSpectraIndex()[id]); cache_.readSpectrumFast(mz_array, intensity_array, ifs_, ms_level, rt); OpenSwath::SpectrumPtr sptr(new OpenSwath::Spectrum); sptr->setMZArray(mz_array); sptr->setIntensityArray(intensity_array); return sptr; }
OpenSwath::ChromatogramPtr SpectrumAccessOpenMSCached::getChromatogramById(int id) const { if (cache_.getChromatogramIndex().empty()) { // remove const from the cache since we need to recalculate the index // and re-read the data. (const_cast<CachedmzML*>(&cache_))->createMemdumpIndex(filename_cached_); } OpenSwath::BinaryDataArrayPtr rt_array(new OpenSwath::BinaryDataArray); OpenSwath::BinaryDataArrayPtr intensity_array(new OpenSwath::BinaryDataArray); std::ifstream ifs_((filename_cached_).c_str(), std::ios::binary); ifs_.seekg(cache_.getChromatogramIndex()[id]); cache_.readChromatogramFast(rt_array, intensity_array, ifs_); // push back rt first, then intensity. // FEATURE (hroest) annotate which is which std::vector<OpenSwath::BinaryDataArrayPtr> binaryDataArrayPtrs; binaryDataArrayPtrs.push_back(rt_array); binaryDataArrayPtrs.push_back(intensity_array); OpenSwath::ChromatogramPtr cptr(new OpenSwath::Chromatogram); cptr->binaryDataArrayPtrs = binaryDataArrayPtrs; return cptr; }