Example #1
0
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;
}
Example #2
0
  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;
  }