Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Java API for the extraction and management of MIAPE documents from standard proteomics data files

License

NotificationsYou must be signed in to change notification settings

smdb21/java-miape-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheJava MIAPE API is an open source Java API designed for the extraction and management of MIAPE information from commonly used proteomics data files.

What is theMIAPE information?

The Java MIAPE API is designed in 4 different modules:

  • Themodel module: This module contains the classes needed to represent the MIAPE information of the different types of experiments. The interfaces (under packageorg.proteored.miapeapi.interfaces) MiapeGEDocument, MiapeGIDocument, MiapeMSDocumen and MiapeMSIDocument, define the MIAPE information for the Gel Electrophoresis(2), Gel Image Informatics(3), Mass Spectrometry(4) and Mass Spectrometry Informatics(5) MIAPE modules.
  • Thefactory module: This module provides the util classes for the creation of the MIAPE document objects.
  • TheXML module: This module provides the methods for the extraction of the MIAPE information from commonly used proteomics data files (most of them XML), such as:mzIdentML, mzML, pepXML, PRIDE XML, DtaSelect txt, pepXML orXTandem XML.
  • Thepersistence model: This module provides the methods to be implemented by a persistence system, which will be able to persist the MIAPE information, on files, a database, etc...

About developers

This API was firstly designed by Emilio Salazar Do?ate andSalvador Martinez-Bartolome members of theProteoRed Bioinformatics Working Group, under the supervision of Juan Pablo Albar, at theProteomics Laboratory of theNational Center for Biotechnology (CNB-CSIC) in Madrid, Spain. Later, the project was continued by Salvador Martinez-Bartolome under the supervision of John R. Yates III at theJohn Yates laboratory atThe Scripps Research Institute, La Jolla, California, USA.

How to get the API

Latest build available at:http://sealion.scripps.edu/miape-api/

Using MAVEN:Add this to your pom.xml:

<repository>   <id>internal</id>   <name>John Yates lab Internal Repository</name>   <url>http://sealion.scripps.edu/archiva/repository/internal/</url></repository><repository>   <id>snapshots</id>   <name>John Yates lab snapshots maven repository</name>   <url>http://sealion.scripps.edu/archiva/repository/snapshots/</url></repository>

Including this dependency:

<dependency>   <groupId>org.proteored.miape.api</groupId>   <artifactId>miape-api</artifactId>   <version>1.9.6</version><!-- or the latest version available--></dependency>

How to use the API

Example 1:

This example shows how a MIAPE MS document object (object module) is created using thefactory module and then is exported to a XML file (XML module) and stored in a database (persistence module):

publicclasscreateMiape(PersistenceManagerdatabaseManager,ControlVocabularyManagercvManager) {// projectProjectBuilderprojectBuilder =MiapeDocumentFactory.createProjectBuilder("my project").date(newMiapeDate(newDate()));// User (if needed for persistence, like a database)UserBuilderuserBuilder =MiapeDocumentFactory.createUserBuilder("myUserName","myPassword",databaseManager);// SpectrometerSpectrometerBuilderspectrometerBuilder = (SpectrometerBuilder)MiapeMSDocumentFactory   .createSpectrometerBuilder(SpectrometerName.LTQ_ORBITRAP_XL_NAME).manufacturer("Thermo Scientific").version("version XL").catalogNumber("#12345").model("The new Orbitrap XL");// AnalyzerAnalyserBuilderanalyserBuilder =MiapeMSDocumentFactory.createAnalyserBuilder("orbitrap").description("Description of the orbitrap");// Ion sourceEsiBuilderesiBuilder =MiapeMSDocumentFactory.createEsiBuilder("nano-ESI").parameters("xx Volts").supplyType("regular supply");// Instrument Configuration (analiser + esi)InstrumentConfigurationBuilderinstrumentConfigurationBuilder =MiapeMSDocumentFactory.createInstrumentConfigurationBuilder("LTQ configuration").analyser(analyserBuilder.build()).esi(esiBuilder.build());// MIAPE MS document (user + miape project + spectrometer + instrument// configurationMiapeMSDocumentmiapeMS = (MiapeMSDocument)MiapeMSDocumentFactory.createMiapeMSDocumentBuilder(projectBuilder.build(),"my first miape document",userBuilder.build()).instrumentConfiguration(instrumentConfigurationBuilder.build())  .spectrometer(spectrometerBuilder.build()).cvManager(cvManager)  .dbManager(databaseManager)// needed for later use of .store().build();// Save MIAPE MS to XML fileMiapeXmlFile<MiapeMSDocument>miapeMSXML =MiapeMSXmlFactory.getFactory().toXml(miapeMS,cvManager);try {miapeMSXML.saveAs("/home/username/myFirstMiapeMS.xml");System.out.println("New file created at :" +miapeMSXML.getPath());}catch (IOExceptione1) {e1.printStackTrace();}// Store it in the databasetry {intidentifier =miapeMS.store();System.out.println("Document stored in the database with identifier " +identifier);}catch (MiapeDatabaseException |MiapeSecurityExceptione) {e.printStackTrace();}}

Example 2:

This example shows how to extract the MIAPE information from commonly used proteomics data files:

publicvoidextractMIAPEInformationFromFiles(ControlVocabularyManagercvManager)throwsMiapeDatabaseException,MiapeSecurityException {FileprideXMLFile =newFile("path_to_pride_xml");FilextandemXMLFile =newFile("path_to_xtandem_xml");FilemzIdentMLFile =newFile("path_to_mzIdentML");FilemzMLFile =newFile("path_to_mzML");FiletsvFile =newFile("path_to_tsv_xml");FiledtaSelectFile =newFile("path_to_dtaSelect_xml");// PRIDE XMLMiapeFullPrideXMLFilemiapeFullPride =newMiapeFullPrideXMLFile(prideXMLFile);miapeFullPride.setCVManager(cvManager);// because all MIAPEs are under a projectmiapeFullPride.setProjectName("my project");MiapeMSDocumentmiapeMSFromPRIDEXML =miapeFullPride.toMiapeMS();MiapeMSIDocumentmiapeMSIromPRIDEXML =miapeFullPride.toMiapeMSI();printMiapeMS(miapeMSFromPRIDEXML);printMiapeMSI(miapeMSIromPRIDEXML);// XTANDEM XMLMiapeXTandemFilemiapeXTandemXMLFile =newMiapeXTandemFile(xtandemXMLFile);miapeXTandemXMLFile.setCvManager(cvManager);miapeXTandemXMLFile.setProjectName("my project");MiapeMSIDocumentmiapeMSIFromXTandem =miapeXTandemXMLFile.toDocument();printMiapeMSI(miapeMSIFromXTandem);// MZIDENTMLMiapeMzIdentMLFilemiapeMzIdentMLFile =newMiapeMzIdentMLFile(mzIdentMLFile);miapeMzIdentMLFile.setCvManager(cvManager);miapeMzIdentMLFile.setProjectName("my project");MiapeMSIDocumentmiapeMSIFromMzIdentML =miapeMzIdentMLFile.toDocument();printMiapeMSI(miapeMSIFromMzIdentML);// MZMLMiapeMzMLFilemiapeMzMLFile =newMiapeMzMLFile(mzMLFile);miapeMzMLFile.setCvManager(cvManager);miapeMzMLFile.setProjectName("my project");MiapeMSDocumentmiapeMSFromMzML =miapeMzMLFile.toDocument();printMiapeMS(miapeMSFromMzML);// TAB SEPARATED FILEMiapeTSVFilemiapeTSVFile =newMiapeTSVFile(tsvFile,TableTextFileSeparator.TAB);miapeTSVFile.setCvManager(cvManager);miapeTSVFile.setProjectName("my project");MiapeMSIDocumentmiapeMSIFromTSV =miapeTSVFile.toDocument();printMiapeMSI(miapeMSIFromTSV);// DTASELECTMiapeDTASelectFilemiapeDTASelectFile =newMiapeDTASelectFile(dtaSelectFile);miapeDTASelectFile.setCvManager(cvManager);miapeDTASelectFile.setProjectName("my project");MiapeMSIDocumentmiapeMSIFromDTASelect =miapeDTASelectFile.toDocument();printMiapeMSI(miapeMSIFromDTASelect);}

Example 3:

This example show theprintMiapeMS andprintMiapeMSI methods called in the previous example, showing how the information contained in each document can be extracted and printed

privatevoidprintMiapeMSI(MiapeMSIDocumentmiapeMSI) {System.out.println("MIAPE MSI: ");System.out.println("Name: " +miapeMSI.getName());System.out.println("");System.out.println("Total number of PSMs: " +miapeMSI.getIdentifiedPeptides().size());for (IdentifiedProteinSetproteinSet :miapeMSI.getIdentifiedProteinSets()) {InputParameterip =proteinSet.getInputParameter();System.out.println("Input parameters: " +ip.getName());System.out.println("Search engine: " +ip.getSoftware().getName());System.out.println("Parent tolerance: " +ip.getPrecursorMassTolerance() +" " +ip.getPrecursorMassToleranceUnit());System.out.println("Fragment tolerance: " +ip.getFragmentMassTolerance() +" " +ip.getFragmentMassToleranceUnit());System.out.println("Num miss-cleavages: " +ip.getMisscleavages());System.out.println("Number of proteins: " +proteinSet.getIdentifiedProteins().size());for (StringproteinACC :proteinSet.getIdentifiedProteins().keySet()) {IdentifiedProteinprotein =proteinSet.getIdentifiedProteins().get(proteinACC);System.out.println("Protein " +proteinACC +" contains " +protein.getIdentifiedPeptides().size() +" PSMs");for (IdentifiedPeptidepeptide :protein.getIdentifiedPeptides()) {System.out.println("PSM " +peptide.getSpectrumRef() +" with sequence " +peptide.getSequence()+" and charge " +peptide.getCharge());}}}}privatevoidprintMiapeMS(MiapeMSDocumentmiapeMS) {System.out.println("MIAPE MS: ");System.out.println("Name: " +miapeMS.getName());System.out.println("");for (InstrumentConfigurationic :miapeMS.getInstrumentConfigurations()) {for (Analyseranalyser :ic.getAnalyzers()) {System.out.println("Analyser: " +analyser.getName());System.out.println("Description: " +analyser.getDescription());}for (Esiesi :ic.getEsis()) {System.out.println("ESI: " +esi.getName());System.out.println("Parameters: " +esi.getParameters());System.out.println("Supply type: " +esi.getSupplyType());}for (ActivationDissociationad :ic.getActivationDissociations()) {System.out.println("Name: " +ad.getName());System.out.println("Activation type: " +ad.getActivationType());System.out.println("Gas type: " +ad.getGasType());System.out.println("Gas pressure: " +ad.getGasPressure() +" " +ad.getPressureUnit());}}}

(1)The Minimal Information about a Proteomics Experiment (MIAPE) from the Proteomics Standards Initiative.Martinez-Bartolome S, Binz PA, Albar JP.Methods Mol Biol. 2014;1072:765-80. doi: 10.1007/978-1-62703-631-3_53..

(2)Guidelines for reporting the use of gel electrophoresis in proteomics.Gibson F, Anderson L, Babnigg G, Baker M, Berth M, Binz PA, Borthwick A, Cash P, Day BW, Friedman DB, Garland D, Gutstein HB, Hoogland C, Jones NA, Khan A, Klose J, Lamond AI, Lemkin PF, Lilley KS, Minden J, Morris NJ, Paton NW, Pisano MR, Prime JE, Rabilloud T, Stead DA, Taylor CF, Voshol H, Wipat A, Jones AR.Nat Biotechnol. 2008 Aug;26(8):863-4. doi: 10.1038/nbt0808-863.

(3)Guidelines for reporting the use of gel image informatics in proteomics.Hoogland C, O'Gorman M, Bogard P, Gibson F, Berth M, Cockell SJ, Ekefj?rd A, Forsstrom-Olsson O, Kapferer A, Nilsson M, Martinez-Bartolome S, Albar JP, Echevarr?a-Zome?o S, Martinez-Gomariz M, Joets J, Binz PA, Taylor CF, Dowsey A, Jones AR.Nat Biotechnol. 2010 Jul;28(7):655-6. doi: 10.1038/nbt0710-655.

(4)Guidelines for reporting the use of mass spectrometry in proteomics.Taylor CF, Binz PA, Aebersold R, Affolter M, Barkovich R, Deutsch EW, Horn DM, H?hmer A, Kussmann M, Lilley K, Macht M, Mann M, M?ller D, Neubert TA, Nickson J, Patterson SD, Raso R, Resing K, Seymour SL, Tsugita A, Xenarios I, Zeng R, Julian RK Jr.Nat Biotechnol. 2008 Aug;26(8):860-1. doi: 10.1038/nbt0808-860.

(5)Guidelines for reporting the use of mass spectrometry informatics in proteomics.Binz PA, Barkovich R, Beavis RC, Creasy D, Horn DM, Julian RK Jr, Seymour SL, Taylor CF, Vandenbrouck Y.Nat Biotechnol. 2008 Aug;26(8):862. doi: 10.1038/nbt0808-862.


[8]ページ先頭

©2009-2025 Movatter.jp