Equation instantiate_equation(Equation innerEq, Name variable, Real index, VarSymbolTable &symbolTable) { VarSymbolTable v=symbolTable; VarInfo vinfo = VarInfo(TypePrefixes(1,parameter), "Integer", Option<Comment>(), Modification(ModEq(Expression(index)))); v.insert(variable,vinfo); if (is<Equality>(innerEq)) { Equality eqeq = boost::get<Equality>(innerEq); Expression l=eqeq.left(), r=eqeq.right(); //std::cout << "Left= " << l << " right " << r << std::endl; return Equality(Visit(Modelica::PartEvalExp(v),l),Visit(Modelica::PartEvalExp(v),r)); } else { ERROR("process_for_equations - instantiate_equation:\n" "Incorrect equation type or not supported yet.\n"); } return Equation(); }
PWIZ_API_DECL void addMIAPEExampleMetadata(TraData& td) { ContactPtr contactPtr(new Contact("JQP")); contactPtr->set(MS_contact_name, "John Q. Public"); contactPtr->set(MS_contact_affiliation, "Department of Redundancy Department"); contactPtr->set(MS_contact_address, "1600 Pennsylvania Ave."); td.contactPtrs.push_back(contactPtr); Publication publication; publication.id = "Al_et_al"; publication.set(MS_PubMed_identifier, 123456); td.publications.push_back(publication); InstrumentPtr lcqInstrumentPtr(new Instrument("LCQ")); lcqInstrumentPtr->set(MS_LCQ_Deca); lcqInstrumentPtr->set(MS_instrument_serial_number,"23433"); td.instrumentPtrs.push_back(lcqInstrumentPtr); InstrumentPtr qtrapInstrumentPtr(new Instrument("QTRAP")); qtrapInstrumentPtr->set(MS_4000_QTRAP); td.instrumentPtrs.push_back(qtrapInstrumentPtr); SoftwarePtr softwarePtr(new Software("Xcalibur")); softwarePtr->set(MS_Xcalibur); softwarePtr->version = "2.0.5"; SoftwarePtr softwareMaRiMba(new Software("MaRiMba")); softwareMaRiMba->set(MS_MaRiMba); softwareMaRiMba->version = "0.5"; SoftwarePtr softwarepwiz(new Software("pwiz")); softwarepwiz->set(MS_pwiz); softwarepwiz->version = "1.0"; td.softwarePtrs.push_back(softwareMaRiMba); td.softwarePtrs.push_back(softwarepwiz); td.softwarePtrs.push_back(softwarePtr); ProteinPtr proteinPtr(new Protein("Q123")); proteinPtr->set(MS_protein_accession, "Q123"); proteinPtr->sequence = "ABCD"; proteinPtr->set(MS_protein_name, "A short protein."); proteinPtr->set(MS_molecular_mass, 12345, UO_dalton); td.proteinPtrs.push_back(proteinPtr); PeptidePtr peptide1Ptr(new Peptide("Pep1")); peptide1Ptr->sequence = "AB"; peptide1Ptr->set(MS_theoretical_mass, 1234, UO_dalton); peptide1Ptr->proteinPtrs.push_back(proteinPtr); peptide1Ptr->modifications.push_back(Modification()); peptide1Ptr->modifications.back().set(UNIMOD_Methylmalonylation); peptide1Ptr->modifications.back().location = 1; peptide1Ptr->modifications.back().monoisotopicMassDelta = 123; peptide1Ptr->retentionTimes.push_back(RetentionTime()); peptide1Ptr->retentionTimes.back().set(MS_predicted_retention_time, 42, UO_minute); peptide1Ptr->retentionTimes.back().softwarePtr = softwareMaRiMba; peptide1Ptr->evidence.set(MS_confident_peptide_sequence_number, 6); td.peptidePtrs.push_back(peptide1Ptr); CompoundPtr compound1Ptr(new Compound("Cmp1")); compound1Ptr->set(MS_theoretical_mass, 1234, UO_dalton); compound1Ptr->retentionTimes.push_back(RetentionTime()); compound1Ptr->retentionTimes.back().set(MS_predicted_retention_time, 42, UO_minute); compound1Ptr->retentionTimes.back().softwarePtr = softwareMaRiMba; td.compoundPtrs.push_back(compound1Ptr); Interpretation interpretation1; interpretation1.set(MS_frag__y_ion); interpretation1.set(MS_product_ion_series_ordinal, 8); interpretation1.set(MS_product_ion_m_z_delta, 0.03); Interpretation interpretation2; interpretation2.set(MS_frag__b_ion___H2O); interpretation2.set(MS_product_ion_series_ordinal, 9); interpretation2.set(MS_product_ion_m_z_delta, -0.43); Validation qtrapValidation; qtrapValidation.set(MS_transition_optimized_on_specified_instrument); qtrapValidation.set(MS_4000_QTRAP); qtrapValidation.set(MS_peak_intensity, 4072, MS_percent_of_base_peak_times_100); qtrapValidation.set(MS_peak_intensity_rank, 2); qtrapValidation.set(MS_peak_targeting_suitability_rank, 1); Configuration qtrapConfiguration; qtrapConfiguration.instrumentPtr = qtrapInstrumentPtr; qtrapConfiguration.contactPtr = contactPtr; qtrapConfiguration.set(MS_dwell_time, 0.12, UO_second); qtrapConfiguration.set(MS_collision_gas, "argon"); qtrapConfiguration.set(MS_collision_gas_pressure, 12, UO_pascal); qtrapConfiguration.set(MS_collision_energy, 26, UO_electronvolt); qtrapConfiguration.set(MS_cone_voltage, 1200, UO_volt); qtrapConfiguration.set(MS_interchannel_delay, 0.1, UO_second); qtrapConfiguration.set(MS_tube_lens_voltage, 23, UO_volt); qtrapConfiguration.validations.push_back(qtrapValidation); Transition& tra0 = td.transitions[0]; tra0.peptidePtr = peptide1Ptr; tra0.precursor.set(MS_charge_state, 2); tra0.product.set(MS_charge_state, 1); tra0.prediction.softwarePtr = softwareMaRiMba; tra0.prediction.set(MS_transition_purported_from_an_MS_MS_spectrum_on_a_different__specified_instrument); tra0.prediction.set(MS_linear_ion_trap); tra0.prediction.set(MS_peak_intensity, 10000, UO_electronvolt); tra0.prediction.set(MS_peak_intensity_rank, 1); tra0.prediction.set(MS_peak_targeting_suitability_rank, 1); tra0.retentionTime.set(MS_local_retention_time, 40.02, UO_minute); tra0.retentionTime.set(MS_retention_time_window_lower_offset, 3, UO_minute); tra0.retentionTime.set(MS_retention_time_window_upper_offset, 3, UO_minute); tra0.configurationList.push_back(qtrapConfiguration); Transition& tra1 = td.transitions[1]; tra1.compoundPtr = compound1Ptr; tra1.precursor.set(MS_charge_state, 2); tra1.product.set(MS_charge_state, 1); Configuration lcqConfiguration; lcqConfiguration.instrumentPtr = lcqInstrumentPtr; lcqConfiguration.contactPtr = contactPtr; lcqConfiguration.set(MS_collision_energy, 42, UO_electronvolt); Target& tar0 = td.targets.targetIncludeList[0]; tar0.compoundPtr = compound1Ptr; tar0.precursor.set(MS_charge_state, 2); tar0.retentionTime.set(MS_local_retention_time, 12.3, UO_minute); tar0.retentionTime.set(MS_retention_time_window_lower_offset, 1, UO_minute); tar0.retentionTime.set(MS_retention_time_window_upper_offset, 2, UO_minute); tar0.configurationList.push_back(lcqConfiguration); td.targets.targetExcludeList[0].peptidePtr = peptide1Ptr; td.targets.targetExcludeList[0].precursor.set(MS_charge_state, 2); } // addMIAPEExampleMetadata()