<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Wei Yan (Institute for Systems Biology) -->
<!--W3C Schema generated by XMLSPY v2004 rel. 4 U (http://www.xmlspy.com)-->
<xs:schema targetNamespace="http://regis-web.systemsbiology.net/protXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://regis-web.systemsbiology.net/protXML" xmlns:protx="http://regis-web.systemsbiology.net/protXML" elementFormDefault="qualified">
	<xs:element name="ASAPRatio_pvalue">
	<xs:annotation>
		<xs:documentation>Results of ASAPRatio pvalue analysis (adjusting ASAPRatio ratios for offset of dataset, and determining whether ratios are significantly different from chance values originating from 1:1 proteins)</xs:documentation>
	</xs:annotation>
		<xs:complexType>
			<xs:attribute name="adj_ratio_mean" type="xs:double" use="required">
				<xs:annotation>
					<xs:documentation>Ratio adjusted for dataset mean value</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="adj_ratio_standard_dev" type="xs:double" use="required">
				<xs:annotation>
					<xs:documentation>Error adjusted for dataset mean value</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="heavy2light_adj_ratio_mean" type="xs:double">
				<xs:annotation>
					<xs:documentation>Heavy2light ratio adjusted for dataset mean value</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="heavy2light_adj_ratio_standard_dev" type="xs:double">
				<xs:annotation>
					<xs:documentation>Heavy2light error adjusted for dataset mean value</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="pvalue" type="xs:double">
				<xs:annotation>
					<xs:documentation>pvalue (probability of ratio due by chance to 1:1 protein)</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="decimal_pvalue" type="xs:double">
				<xs:annotation>
					<xs:documentation>decimal representation of pvalue</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="ASAPRatio">
	<xs:annotation>
		<xs:documentation>Results of ASAPRatio quantitation of protein</xs:documentation>
	</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ASAP_Seq" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ASAP_Peak" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ASAP_Dta" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="peptide_index" type="xs:string" use="required"/>
												<xs:attribute name="include" type="xs:string" use="required"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="status" type="xs:string" use="required"/>
									<xs:attribute name="include" type="xs:string" use="required"/>
									<xs:attribute name="datanum" type="xs:nonNegativeInteger" use="required"/>
									<xs:attribute name="ratio_mean" type="xs:double" use="required"/>
									<xs:attribute name="ratio_standard_dev" type="xs:double" use="required"/>
									<xs:attribute name="heavy2light_ratio_mean" type="xs:double" use="required"/>	
									<xs:attribute name="heavy2light_ratio_standard_dev" type="xs:double" use="required"/>
									<xs:attribute name="weight" type="xs:double" use="required"/>
									<xs:attribute name="peptide_binary_ind" type="xs:string" use="required"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="status" type="xs:string" use="required"/>
						<xs:attribute name="include" type="xs:string" use="required"/>
						<xs:attribute name="datanum" type="xs:nonNegativeInteger" use="required"/>
						<xs:attribute name="ratio_mean" type="xs:double" use="required"/>
						<xs:attribute name="ratio_standard_dev" type="xs:double" use="required"/>
						<xs:attribute name="heavy2light_ratio_mean" type="xs:double" use="required"/>		
						<xs:attribute name="heavy2light_ratio_standard_dev" type="xs:double" use="required"/>
						<xs:attribute name="weight" type="xs:double" use="required"/>
						<xs:attribute name="light_sequence" type="xs:string" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="ratio_mean" type="xs:double" use="required"/>
			<xs:attribute name="ratio_standard_dev" type="xs:double" use="required"/>
			<xs:attribute name="ratio_number_peptides" type="xs:nonNegativeInteger" use="required"/>
			<xs:attribute name="heavy2light_ratio_mean" type="xs:double"/>
			<xs:attribute name="heavy2light_ratio_standard_dev" type="xs:double"/>
			<xs:attribute name="description" type="xs:string"/>
			<xs:attribute name="status" type="xs:string"/>
			<xs:attribute name="peptide_inds" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="protein_summary">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="protein_summary_header">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="program_details">
								<xs:complexType>
									<xs:sequence>
										<xs:any namespace="##any" processContents="lax" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Wildcard for summary info customized for a particular analysis used to infer protein identifications</xs:documentation>
											</xs:annotation>
										</xs:any>
									</xs:sequence>
									<xs:attribute name="analysis" type="xs:string" use="required">
											<xs:annotation>
												<xs:documentation>Name of analysis used for protein identifications</xs:documentation>
											</xs:annotation>
									</xs:attribute>
									<xs:attribute name="time" type="xs:dateTime" use="required">
											<xs:annotation>
												<xs:documentation>Time of analysis</xs:documentation>
											</xs:annotation>
									</xs:attribute>
									<xs:attribute name="version" type="xs:string"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="reference_database" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>full path database name</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="win-cyg_reference_database" type="xs:string">
							<xs:annotation>
								<xs:documentation>windows full path database</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="residue_substitution_list" type="xs:string">
							<xs:annotation>
								<xs:documentation>residues considered equivalent when comparing peptides</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="organism" type="xs:string">
							<xs:annotation>
								<xs:documentation>sample organism (used for annotation purposes)</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="source_files" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>input pepXML files</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="source_files_alt" type="xs:string" use="required"/>
						<xs:attribute name="win-cyg_source_files" type="xs:string">
							<xs:annotation>
								<xs:documentation>windows pepXML file names</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="source_file_xtn" type="xs:string">
							<xs:annotation>
								<xs:documentation>file type (if not pepXML)</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="min_peptide_probability" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>minimum adjusted peptide probability contributing to protein probability</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="min_peptide_weight" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>minimum peptide weight contributing to protein probability</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="num_predicted_correct_prots" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>total number of predicted correct protein ids (sum of probabilities)</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="num_input_1_spectra" type="xs:integer" use="required">
							<xs:annotation>
								<xs:documentation>number of spectra from 1+ precursor ions</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="num_input_2_spectra" type="xs:integer" use="required">
							<xs:annotation>
								<xs:documentation>number of spectra from 2+ precursor ions</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="num_input_3_spectra" type="xs:integer" use="required">
							<xs:annotation>
								<xs:documentation>number of spectra from 3+ precursor ions</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="num_input_4_spectra" type="xs:integer" use="required">
							<xs:annotation>
								<xs:documentation>number of spectra from 4+ precursor ions</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="num_input_5_spectra" type="xs:integer" use="required">
							<xs:annotation>
								<xs:documentation>number of spectra from 5+ precursor ions</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="initial_min_peptide_prob" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>minimum initial peptide probability to contribute to analysis</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="total_no_spectrum_ids" type="xs:double">
							<xs:annotation>
								<xs:documentation>total estimated number of correct peptide assignments in dataset</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="sample_enzyme" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>enzyme applied to sample prior to MS/MS</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="analysis_summary" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:any namespace="##any" processContents="lax" minOccurs="0">
								<xs:annotation>
									<xs:documentation>time of analysis</xs:documentation>
								</xs:annotation>
							</xs:any>
						</xs:sequence>
						<xs:attribute name="analysis" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>name of protein-level analysis</xs:documentation>
							</xs:annotation>
						</xs:attribute>

						<xs:attribute name="time" type="xs:dateTime" use="required">
							<xs:annotation>
								<xs:documentation>time of analysis</xs:documentation>
							</xs:annotation>
						</xs:attribute>

						<xs:attribute name="id" type="xs:nonNegativeInteger" use="required">
							<xs:annotation>
								<xs:documentation>unique id corresponding with analysis_result elements</xs:documentation>
							</xs:annotation>
						</xs:attribute>


					</xs:complexType>
				</xs:element>
				<xs:element name="dataset_derivation">
				<xs:annotation>
					<xs:documentation>Source and filtering criteria used to generate dataset</xs:documentation>
				</xs:annotation>
					<xs:complexType>
						<xs:sequence minOccurs="0" maxOccurs="unbounded">
							<xs:element name="data_filter">
								<xs:complexType>
									<xs:attribute name="number" type="xs:string" use="required">
										<xs:annotation>
											<xs:documentation>generation number (0 is root)</xs:documentation>
										</xs:annotation>
									</xs:attribute>

									<xs:attribute name="parent_file" type="xs:string" use="required">
										<xs:annotation>
											<xs:documentation>File from which derived</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="windows_parent" type="xs:string"/>
									<xs:attribute name="description" type="xs:string" use="required">
										<xs:annotation>
											<xs:documentation>filtering criteria applied to data</xs:documentation>
										</xs:annotation>
	                                				</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="generation_no" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>number preceding filter generations</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="protein_group" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="protein" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<!-- note: nameValueType defined below -->
										<xs:element name="parameter" type="nameValueType" minOccurs="0" maxOccurs="unbounded"/>
										<xs:element name="analysis_result" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:any namespace="##any" processContents="lax">
														<xs:annotation>
															<xs:documentation>wildcard to be substituted with element storing analysis-specific result info</xs:documentation>
														</xs:annotation>
													</xs:any>

												</xs:sequence>
												<xs:attribute name="analysis" type="xs:string" use="required">
													<xs:annotation>
														<xs:documentation>name of protein level analysis</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="id" type="xs:nonNegativeInteger" default="1">
													<xs:annotation>
														<xs:documentation>unique identifier to analysis_summary element</xs:documentation>
													</xs:annotation>
												</xs:attribute>

											</xs:complexType>
										</xs:element>
										<xs:element name="annotation" minOccurs="0">
											<xs:complexType>
												<xs:attribute name="protein_description" type="xs:string" use="required"/>
												<xs:attribute name="ipi_name" type="xs:string"/>
												<xs:attribute name="refseq_name" type="xs:string"/>
												<xs:attribute name="swissprot_name" type="xs:string"/>
												<xs:attribute name="ensembl_name" type="xs:string"/>
												<xs:attribute name="trembl_name" type="xs:string"/>
												<xs:attribute name="locus_link_name" type="xs:string"/>
												<xs:attribute name="flybase" type="xs:string"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="indistinguishable_protein" minOccurs="0" maxOccurs="unbounded">
										<xs:annotation>
											<xs:documentation>other protein sharing corresponding peptides</xs:documentation>
										</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<!-- note: nameValueType defined below -->
													<xs:element name="parameter" type="nameValueType" minOccurs="0" maxOccurs="unbounded"/>
													<xs:element name="annotation" minOccurs="0">
													<xs:annotation>
														<xs:documentation>protein description</xs:documentation>
													</xs:annotation>

														<xs:complexType>
															<xs:attribute name="protein_description" type="xs:string" use="required">
																<xs:annotation>
																	<xs:documentation>description</xs:documentation>
																</xs:annotation>
	                                										</xs:attribute>

															<xs:attribute name="ipi_name" type="xs:string"/>
															<xs:attribute name="refseq_name" type="xs:string"/>
															<xs:attribute name="swissprot_name" type="xs:string"/>
															<xs:attribute name="ensembl_name" type="xs:string"/>
															<xs:attribute name="trembl_name" type="xs:string"/>
															<xs:attribute name="locus_link_name" type="xs:string"/>
															<xs:attribute name="flybase" type="xs:string"/>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="protein_name" type="xs:string" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="peptide" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:simpleContent>
																<xs:extension base="xs:anySimpleType">
																	<xs:attribute name="name" type="xs:string" use="required"/>
																	<xs:attribute name="value" type="xs:anySimpleType" use="required"/>
																	<xs:attribute name="type" type="xs:anySimpleType"/>
																</xs:extension>
															</xs:simpleContent>
														</xs:complexType>
													</xs:element>
													<xs:element name="modification_info" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="mod_aminoacid_mass" minOccurs="0" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:attribute name="position" type="xs:string" use="required"/>
																		<xs:attribute name="mass" type="xs:string" use="required"/>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
															<xs:attribute name="mod_nterm_mass" type="xs:string"/>
															<xs:attribute name="mod_cterm_mass" type="xs:string"/>
															<xs:attribute name="modified_peptide" type="xs:string"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="peptide_parent_protein" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="protein_name" type="xs:string" use="required"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="indistinguishable_peptide" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="modification_info" minOccurs="0" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="mod_aminoacid_mass" minOccurs="0" maxOccurs="unbounded">
																				<xs:complexType>
																					<xs:attribute name="position" type="xs:string" use="required"/>
																					<xs:attribute name="mass" type="xs:string" use="required"/>
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																		<xs:attribute name="mod_nterm_mass" type="xs:string"/>
																		<xs:attribute name="mod_cterm_mass" type="xs:string"/>
																		<xs:attribute name="modified_peptide" type="xs:string"/>
																		<xs:attribute name="calc_neutral_pep_mass" type="xs:double" use="optional" />
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
															<xs:attribute name="peptide_sequence" type="xs:string" use="required"/>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="peptide_sequence" type="xs:string" use="required">
													<xs:annotation>
														<xs:documentation>unmodified aa sequence</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="charge" type="xs:positiveInteger" use="required">
													<xs:annotation>
														<xs:documentation>precursor ion charge</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="initial_probability" type="xs:double" use="required">
													<xs:annotation>
														<xs:documentation>prior to nsp adjustment</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="nsp_adjusted_probability" type="xs:double" use="optional">
													<xs:annotation>
														<xs:documentation>after nsp adjustment</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="ni_adjusted_probability" type="xs:double" use="optional">
													<xs:annotation>
														<xs:documentation>after ni adjustment</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="exp_sibling_ion_instances" type="xs:double" use="optional">
													<xs:annotation>
														<xs:documentation>expected sibling ion instances</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="exp_sibling_ion_bin" type="xs:double" use="optional">
													<xs:annotation>
														<xs:documentation>expected sibling ion bin</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="exp_tot_instances" type="xs:double" use="optional">
													<xs:annotation>
														<xs:documentation>expected total instances</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="peptide_group_designator" type="xs:string">
													<xs:annotation>
														<xs:documentation>link to spectra with other precursor ion charges assigned to same peptide</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="weight" type="xs:double" default="1.0"/>
												<xs:attribute name="is_nondegenerate_evidence" type="xs:string" use="required">
													<xs:annotation>
														<xs:documentation>confidence that peptide corresponds with this protein (rather than others in which it occurs)</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="n_enzymatic_termini" type="xs:nonNegativeInteger" use="required">
													<xs:annotation>
														<xs:documentation>number of termini consistent with proteolytic cleavage</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="n_sibling_peptides" type="xs:double">
													<xs:annotation>
														<xs:documentation>estimated number of sibling peptides (other identified peptides corresponding to same protein)</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="n_sibling_peptides_bin" type="xs:integer" default="0">
													<xs:annotation>
														<xs:documentation>discretized nsp value</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="n_instances" type="xs:integer" use="required">
													<xs:annotation>
														<xs:documentation>number of times peptide assigned to spectrum of precursor ion charge in dataset</xs:documentation>
													</xs:annotation>
												</xs:attribute>

												<xs:attribute name="calc_neutral_pep_mass" type="xs:double"/>
												<xs:attribute name="is_contributing_evidence" type="xs:string" use="required"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="protein_name" type="xs:string" use="required">
										<xs:annotation>
											<xs:documentation>database protein name</xs:documentation>
										</xs:annotation>
									</xs:attribute>

									<xs:attribute name="probability" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>confidence of protein id</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="percent_coverage" type="xs:double">
										<xs:annotation>
											<xs:documentation>percent of protein sequence covered by corresponding peptides</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="n_indistinguishable_proteins" type="xs:integer" use="required">
										<xs:annotation>
											<xs:documentation>number of proteins with identical corresponding peptides</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="unique_stripped_peptides" type="xs:string"/>
									<xs:attribute name="group_sibling_id" type="xs:string" use="required">
										<xs:annotation>
											<xs:documentation>protein group id</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="total_number_peptides" type="xs:integer">
										<xs:annotation>
											<xs:documentation>total number of corresponding peptides that contributed to protein probability</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="subsuming_protein_entry" type="xs:string">
										<xs:annotation>
											<xs:documentation>name of portein containing all corresponding peptides, and more</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="pct_spectrum_ids" type="xs:string">
										<xs:annotation>
											<xs:documentation>fraction of correct dataset peptide identifications corresponding to protein</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
								<xs:unique name="unique_result_analysis_id">
									<xs:annotation>
										<xs:documentation>can only have one analysis/id combination within each protein element</xs:documentation>
									</xs:annotation>

									<xs:selector xpath="./protx:analysis_result"/>
									<xs:field xpath="@analysis"/>
									<xs:field xpath="@id"/>
								</xs:unique>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="group_number" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>index</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="pseudo_name" type="xs:string"/>
						<xs:attribute name="probability" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>group probability (taking contributions from all group member proteins)</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
					<xs:unique name="unique_group_sibling_id">
						<xs:annotation>
							<xs:documentation>Each group_sibling_id must be unique within a protein group</xs:documentation>
						</xs:annotation>
						<xs:selector xpath="./protx:protein"/>
						<xs:field xpath="@group_sibling_id"/>
					</xs:unique>

				</xs:element>
			</xs:sequence>
		<xs:attribute name="summary_xml" type="xs:string"/>
		</xs:complexType>
		<xs:key name="summary_analysis_id">
			<xs:selector xpath="./protx:analysis_summary"/>
			<xs:field xpath="@analysis"/>
			<xs:field xpath="@id"/>
		</xs:key>
		<xs:keyref name="result_analysis_id" refer="summary_analysis_id">
			<xs:annotation>
				<xs:documentation>analysis and id must correspond with those fields in an analysis_summary element</xs:documentation>
			</xs:annotation>
			<xs:selector xpath="./protx:protein_group/protx:protein/protx:analysis_result"/>
			<xs:field xpath="@analysis"/>
			<xs:field xpath="@id"/>
		</xs:keyref>
		<xs:unique name="unique_group_number">
			<xs:annotation>
				<xs:documentation>Requires group numbers be unique for entire dataset</xs:documentation>
			</xs:annotation>
			<xs:selector xpath="./protx:protein_group"/>
			<xs:field xpath="@group_number"/>
		</xs:unique>
	</xs:element>
	<xs:element name="proteinprophet_details">
		<xs:annotation>
			<xs:documentation>ProteinProphet analysis details</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="nsp_information">
					<xs:annotation>
						<xs:documentation>learned distributions of estimated number of sibling peptides</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="nsp_distribution" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>histogram slice of estimated number of sibling peptides</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="bin_no" type="xs:integer" use="required">
										<xs:annotation>
											<xs:documentation>discretized bin number</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="nsp_lower_bound_incl" type="xs:double" use="optional">
										<xs:annotation>
											<xs:documentation>lower bound nsp value (inclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="nsp_upper_bound_excl" type="xs:string" use="optional">
										<xs:annotation>
											<xs:documentation>upper bound nsp value (exclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="nsp_lower_bound_excl" type="xs:double" use="optional">
										<xs:annotation>
											<xs:documentation>lower bound nsp value (exclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="nsp_upper_bound_incl" type="xs:string" use="optional">
										<xs:annotation>
											<xs:documentation>upper bound nsp value (inclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="pos_freq" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>fraction of correct peptides in bin</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="neg_freq" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>fraction of incorrect peptides in bin</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="pos_to_neg_ratio" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>fraction of correct / fraction of incorrect</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="alt_pos_to_neg_ratio" type="xs:double">
										<xs:annotation>
											<xs:documentation>pos_to_neg_ratio of preceding bin (if greater than that of current bin)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="neighboring_bin_smoothing" type="xs:string" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="ni_information">
					<xs:annotation>
						<xs:documentation>learned distributions of estimated number of peptide instances ("number of instances")</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ni_distribution" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>histogram slice of estimated number of sibling peptides</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="bin_no" type="xs:integer" use="required">
										<xs:annotation>
											<xs:documentation>discretized bin number</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ni_lower_bound_incl" type="xs:double" use="optional">
										<xs:annotation>
											<xs:documentation>lower bound nsp value (inclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ni_upper_bound_excl" type="xs:string" use="optional">
										<xs:annotation>
											<xs:documentation>upper bound nsp value (exclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ni_lower_bound_excl" type="xs:double" use="optional">
										<xs:annotation>
											<xs:documentation>lower bound nsp value (exclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ni_upper_bound_incl" type="xs:string" use="optional">
										<xs:annotation>
											<xs:documentation>upper bound nsp value (inclusive)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="pos_freq" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>fraction of correct peptides in bin</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="neg_freq" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>fraction of incorrect peptides in bin</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="pos_to_neg_ratio" type="xs:double" use="required">
										<xs:annotation>
											<xs:documentation>fraction of correct / fraction of incorrect</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="alt_pos_to_neg_ratio" type="xs:double">
										<xs:annotation>
											<xs:documentation>pos_to_neg_ratio of preceding bin (if greater than that of current bin)</xs:documentation>
										</xs:annotation>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<!-- 
							<xs:attribute name="neighboring_bin_smoothing" type="xs:string" use="required"/>
						-->
					</xs:complexType>
				</xs:element>
				<xs:element name="protein_summary_data_filter" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>predicted error/sensitivity for filtering at minimum probability</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:attribute name="min_probability" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>filter setting</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="sensitivity" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>predicted sensitivity (fraction of correct results passing filter)</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="false_positive_error_rate" type="xs:double" use="required">
							<xs:annotation>
								<xs:documentation>predicted error rate (fraction of results passing filter than are incorrect)</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="predicted_num_correct" type="xs:double">
							<xs:annotation>
								<xs:documentation>predicted number of correct results passing filter</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="predicted_num_incorrect" type="xs:double">
							<xs:annotation>
								<xs:documentation>predicted number of incorrect results passing filter</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="occam_flag" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>whether or not occams razor was used to apportion peptides corresponding to multiple proteins</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="groups_flag" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>whether or not related proteins are organized together in common protein groups</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="degen_flag" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>whether or not all proteins corresponding to each identified peptide were used in analysis</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="nsp_flag" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>whether or not peptide probabilities were adjusted for estimated number of sibling peptides</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="initial_peptide_wt_iters" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>proteinprophet number of initial iterations to compute peptide weights</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="nsp_distribution_iters" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>proteinprophet number of interations used to compute nsp distributions</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="final_peptide_wt_iters" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>proteinprophet number of final interations used to compute final peptide weights</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="run_options" type="xs:string">
				<xs:annotation>
					<xs:documentation>special run options</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="XPress_analysis_summary">
		<xs:complexType>
			<xs:attribute name="min_peptide_probability" type="xs:double" use="required"/>
			<xs:attribute name="min_peptide_weight" type="xs:double" use="required"/>
			<xs:attribute name="min_protein_probability" type="xs:double" use="required"/>
			<xs:attribute name="reference_isotope" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ASAP_prot_analysis_summary">
		<xs:complexType>
			<xs:attribute name="version" type="xs:string"/>
			<xs:attribute name="binary_ref_files" type="xs:string"/>
			<xs:attribute name="min_peptide_probability" type="xs:double" use="required"/>
			<xs:attribute name="min_peptide_weight" type="xs:double" use="required"/>
			<xs:attribute name="min_protein_probability" type="xs:double" use="required"/>
			<xs:attribute name="reference_isotope" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ASAP_pvalue_analysis_summary">
		<xs:complexType>
			<xs:attribute name="asapratio_id" type="xs:nonNegativeInteger" default="1"/>
			<xs:attribute name="background_ratio_mean" type="xs:double" use="required"/>
			<xs:attribute name="background_ratio_stdev" type="xs:double" use="required"/>
			<xs:attribute name="background_fitting_error" type="xs:double" use="required"/>
			<xs:attribute name="analysis_distribution_file" type="xs:string" use="required"/>
			<xs:attribute name="full_analysis_distr_file" type="xs:string"/>
			<xs:attribute name="asap_prot_id" type="xs:nonNegativeInteger" default="1"/>
		</xs:complexType>
	</xs:element>


	<xs:simpleType name="positiveInt">
		<xs:restriction base="xs:unsignedInt">
			<xs:minInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
   	<xs:element name="libra_result">
      	<xs:complexType>
         	<xs:sequence>
            	<xs:element name="intensity" maxOccurs="unbounded">
               		<xs:complexType>
                  		<xs:attribute name="mz" type="xs:float" use="required"/> 
                  		<xs:attribute name="ratio" type="xs:float" use="required"/>
                  		<xs:attribute name="error" type="xs:float" use="required"/>
               		</xs:complexType>
            	</xs:element>
         	</xs:sequence>
                 <xs:attribute name="number" type="xs:nonNegativeInteger" use="required"/>
      	</xs:complexType>
	<xs:unique name="libra_result_channel_index">
		<xs:selector xpath="."/>
		<xs:field xpath="@channel"/>
	</xs:unique>


   	</xs:element>
      	<xs:element name="libra_summary">
      	<xs:complexType>
         	<xs:sequence>
            	<xs:element name="fragment_masses" maxOccurs="unbounded">
               	<xs:complexType>
                  	<xs:attribute name="channel" type="positiveInt" use="required"/>
                  	<xs:attribute name="mz" type="xs:float" use="required"/>
               	</xs:complexType>
            	</xs:element>
            	<xs:element name="isotopic_contributions" minOccurs="0">
               	<xs:complexType>
                  	<xs:sequence>
                     	<xs:element name="contributing_channel" maxOccurs="unbounded">
                        	<xs:complexType>
                           	<xs:sequence>
                              	<xs:element name="affected_channel" maxOccurs="unbounded">
                                 	<xs:complexType>
                                    	<xs:attribute name="channel" type="positiveInt" use="required"/>
                                    	<xs:attribute name="correction" type="xs:float" use="required"/>
                                 	</xs:complexType>
                              	</xs:element>
                           	</xs:sequence>
                           	<xs:attribute name="channel" type="positiveInt" use="required"/>
                        	</xs:complexType>
                     	</xs:element>
                  	</xs:sequence>
               	</xs:complexType>
            	</xs:element>
         	</xs:sequence>
         	<xs:attribute name="mass_tolerance" type="xs:float" use="required"/>
         	<xs:attribute name="centroiding_preference" type="xs:int" use="required"/>
         	<xs:attribute name="normalization" type="xs:int" use="required"/>
         	<xs:attribute name="output_type" type="xs:int" use="required"/>
         	<xs:attribute name="channel_code" type="xs:string"/>
        	<xs:attribute name="min_pep_prob" type="xs:float" use="required"/>
         	<xs:attribute name="min_pep_wt" type="xs:float" use="required"/>
         	<xs:attribute name="min_prot_prob" type="xs:float" use="required"/>
      	</xs:complexType>

	<xs:key name="libra_channel_index">
		<xs:selector xpath="./protx:fragment_masses"/>
		<xs:field xpath="@channel"/>
	</xs:key>
	<xs:keyref name="libra_contr_channel_index_ref" refer="libra_channel_index">
		<xs:selector xpath="./protx:isotopic_contributions/protx:contributing_channel"/>
		<xs:field xpath="@channel"/>
	</xs:keyref>
	<xs:keyref name="libra_aff_channel_index_ref" refer="libra_channel_index">
		<xs:selector xpath="./protx:isotopic_contributions/protx:contributing_channel/protx:affected_channel"/>
		<xs:field xpath="@channel"/>
	</xs:keyref>

   	</xs:element>

	<!-- a loosely-defined, general-purpose type used in the "parameter" element, defined above -->
	<xs:complexType name="nameValueType">
		<xs:simpleContent>
			<xs:extension base="xs:anySimpleType">
				<xs:attribute name="name" type="xs:string" use="required"/>
				<xs:attribute name="value" type="xs:anySimpleType" use="required"/>
				<xs:attribute name="type" type="xs:anySimpleType"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>


</xs:schema>
