SlideShare a Scribd company logo
1 of 42
Download to read offline
v.1.0 - 10/07/2013
Programmatic Access to Molecular Interactions
Bruno Aranda (baranda@ebi.ac.uk)
Samuel Kerrien (skerrien@ebi.ac.uk)
Rafael C Jimenez (rafael@ebi.ac.uk)
Contents
Contents
Course Information
Course learning objectives
Introduction to Molecular Interactions
Tutorial Setup
Java
Maven 3
Subversion
Java IDE
Information about this Tutorial
Download the course source code
Prepare the project
Open the project in your favorite Java IDE
intact­course project structure
How to run an exercise class ?
Que
Exercises
Chapter 2: PSIMITAB
Learning objectives
Introduction to PSIMITAB
Exercises
Exercise 1: Programmatic Access using the command line
Exercise 2: Using the Java library for MITAB
Exercise 3: Indexing MITAB data locally using Lucene
Chapter 3: PSICQUIC
Learning objectives
Introduction to PSICQUIC
Summary
Exercises
Exercise 1: Accessing PSICQUIC via REST
Chapter 4: The PSICQUIC Registry
Learning objectives
Introduction
Summary
Exercises
Exercise 1: Direct access to the Registry
Exercise 2: Programmatic access to the Registry
Chapter 5: PSICQUIC Java clients
Learning objectives
PSICQUIC Java clients
Summary
Exercises
Exercise 1: Using the PSICQUIC Universal client
Exercise 2: Using the PSICQUIC Simple client
Chapter 6: PSICQUIC as a service provider
Learning objectives
Create a PSICQUIC Service with your data
Summary
Exercises
Chapter 7: PSI­MI XML
Learning objectives
Introduction to PSI­MI XML
Summary
Exercises
Exercise 1: Reading PSI­MI XML files
Exercise 2: Writing PSI­MI XML files
Exercise 4: Using expansion algorithms
Using Cytoscape ­ a case study
Installing the plugin
Executing a query
Course summary
Further reading
Where to find our more
Contributors
Course exercise answers
Chapter 1 answers: IntAct
Chapter 2 answers: PSIMITAB
Exercise 1: Programmatic Access using the command line
Exercise 2: using the Java library for MITAB
Exercise 3: Indexing MITAB data locally using Lucene
Chapter 3 answers: PSICQUIC
Chapter 4 answers: The PSICQUIC Registry
Exercise 1 answers: Direct access to the Registry
Exercise 2 answers: Programmatic access to the Registry
Chapter 5 answers: PSICQUIC Java clients
Exercise 1 answers: Using the PSICQUIC Universal client
Exercise 2 answers: Using the PSICQUIC Simple client
Chapter 6 answers: PSICQUIC as a service provider
Chapter 7 answers: PSI­MI XML
Exercise 1 answers: Reading PSI­MI XML files
Exercise 2 answers: Writing PSI­MI XML files
Exercise 3 answers: Validating PSI­MI XML files
Exercise 4 answers: Using the Spoke expansion algorithm
Course Information
Course
description
This course is an introduction to programmatic access to Molecular
Interactions. It covers Standard Formats and Protocol enabling access to
Molecular interactions as well as libraries to facilitate their usage.
Course level
This course is primarily aimed at beginners/intermediate in the field of Molecular
Interactions with programmatic knowledge in Java and Web Services.
Pre­requisites
Participants are expected to have solid knowledge of Java and Web Services
technology.
Subject area Molecular Interactions, Data Standards.
Target
audience
Post­docs, PhD, students in Bioinformatics or Computer Science.
Resources
required
Internet access (browser: Firefox or Chrome),
Linux or Windows (with POSIX commands available, e.g. Cygwin)
Java 7 (JDK, not JRE)
Maven 3
Java IDE such as IntelliJ or Eclipse
Cytoscape 2.7 or above
Approximate
time needed
3 hours
Course learning objectives
● Learn what the IntAct project is providing your with and try out the web site;
● Learn about standardisation effort in the field of molecular interactions;
● Gain a practical experience of handling the various standards available;
● Discover how PSICQUIC give you easy access to vast amount of data.
Introduction to Molecular Interactions
Studying molecular interactions provides valuable insights into understanding a molecule's                 
role inside a specific cell type. There are several families of experimental protocols                       
commonly used to identify molecular interactions:
● Complementation assays (e.g. 2­hybrid) measure the oligomerization­assisted           
complementation of two fragments of a single protein which when united result in a                         
simple biological readout – the two protein fragments are fused to the potential                       
bait/prey interacting partners respectively. This methodology is easily scalable to high                   
throughput since it can yield very high numbers of coding sequences assayed in a                         
relatively simple experiment and a wide variety of interactions can be detected and                       
characterized following one single commonly used protocol. However, the proteins                 
are being expressed in an alien cell system with a loss of temporal and physiological                           
control of expression patterns, resulting in a large number of false positive                     
interactions being observed.
● Affinity­based assays (e.g. affinity chromatography, pull­down and           
coimmunopreciptiation), rely on the strength of the interaction between two entities.                   
These techniques can be used on interactions which form under physiological                   
conditions but are only as good as the reagents and techniques used to identify the                           
participating proteins.
● Physical methods (e.g. X­ray crystallography and enzymatic assays) depend on the                   
properties of molecules to enable measurement of an interaction. High quality data                     
can be produced but highly purified proteins are required, which has always proved a                         
rate limiting step. Availability of automated chromatography systems and custom                 
robotic systems that streamline the whole process, from cell harvesting and lysis                     
through to sample clarification and chromatography has changed this and increasing                   
amounts of data are being generated by such experiments.
Molecular interactions are crucial components of the cellular process. In order to understand                       
this complex machinery, one needs to gather published data from various sources. Many                       
projects have initiated the collection of interaction data for this purpose since 2002. However,                         
the lack of standardisation previously made the task of aggregating datasets difficult. This                       
issue has been resolved by the creation of Molecular Interaction standard in 2004 by                         
members of the Proteomics Standards Initiative (PSI), a work group of the Human Proteome                         
Organization (HUPO). Furthermore, major database providers have come together with the                   
goal to exchange data in order to optimise laborious curation tasks. Finally, tools and                         
frameworks have been created based on PSI­MI standards to facilitate the visualisation and                       
analysis of molecular interaction data.
Molecular interactions are generally represented in graphical networks with nodes                 
corresponding to the molecules and edges to the interactions. Although edges can vary in                         
length most networks represent undirected and only binary interactions. Bioinformatics tools                   
and computational biology efforts into graph theory methods have and continue to be part of                           
the knowledge discovery process in this field. Analysis of interaction networks involves many                       
challenges, due to the inherent complexity of these networks, high noise level characteristic                       
of the data, and the presence of unusual topological phenomena. A variety of data­mining and                           
statistical techniques have been applied to effective analyze interaction data and the resulting                       
networks. The major challenges for computational analysis of interaction networks remain:
● unreliability of large scale experiments;
● biological redundancy and multiplicity: a protein can have several different functions;                   
or a protein may be included in one or more functional groups. In such instances                           
overlapping clusters should be identified in the PPI networks, however since                   
conventional clustering methods generally produce pairwise disjoint clusters, they               
may not be effective when applied to PPI networks;
● two proteins with different functions frequently interact with each other. Such frequent,                     
connections between the proteins in different functional groups expand the topological                   
complexity of the PPI networks, posing difficulties to the detection of unambiguous                     
partitions.
Intensive research trying to understand and characterize the structural behaviours of such                     
systems from a topological perspective have shown that features such as small­world                     
properties (any two nodes can be connected via a short path of a few links), scale­free                             
degree distributions ( power­law degree distribution indicating that a few hubs bind numerous                       
small nodes), and hierarchical modularity (hierarchical organization of modules) suggests                 
that a functional module in an interaction network represents a maximal set of functionally                         
associated molecules. In other words, it is composed of those molecules that are mutually                         
involved in a given biological process or function. In this model, the significance of a few hub                               
nodes is emphasized, and these nodes are viewed as the determinants of survival during                         
network perturbations and as the essential backbone of the hierarchical structure.
Tutorial Setup
In the following part we will only use UNIX Bash Shell command line, please use their
corresponding counter part if your use an other Shell interpreter or Operating System.
Java
Download: http://www.oracle.com/technetwork/java/javase/downloads/index.html
 Steps
1. Download and install Java in a directory of your choice (e.g. /lib/jdk7);
2. Set the following environment variable: JAVA_HOME and PATH as follow:
a. export JAVA_HOME=/lib/jdk7
b. export PATH=${JAVA_HOME}/bin:${PATH}
3. Open a new shell and type java ­version to check your have the right version.
Maven 3
Download: http://maven.apache.org/download.html
 Steps
1. Download and unpack Maven in a directory of your choice (e.g. /lib/maven3);
2. Set the following environment variable: M2_HOME and PATH as follow:
a. export M2_HOME=/lib/maven3
b. export PATH=${M2_HOME}/bin:${PATH}
3. Open a new shell and type mvn ­version to check your have the right version.
Alternatively, you can follow the installation instructions provided by Apache:
http://maven.apache.org/download.html#Installation
Subversion
Download: http://subversion.apache.org/packages.html
 Steps
1. Download and unpack Subversion in a directory of your choice (e.g. /lib/svn);
2. Set the following environment variable: PATH as follow:
a. export PATH=/lib/svn/bin:${PATH}
3. Open a new shell and type svn ­­version to check your have the right version.
Java IDE
There are several major Java IDE available online and we are only giving information about                           
Eclipse and IntelliJ (that is our favorite in the IntAct team).
Download Eclipse: http://www.eclipse.org/downloads
 Steps
1. Download and unpack Eclipse for Java Developer edition, then launch Eclipse;
2. Next step is to add support for Maven, to do so, open the Overview windows (figure 1)                               
and click on the Eclipse Marketplace. Install the Maven integration plugin (figure 2);
Alternatively, you can also click Help > Eclipse Market Place;
3. Restart Eclipse so that our newly installed plugin becomes available.
Figure 1. Eclipse Overview Figure 2. Maven plugin
Download IntelliJ: http://www.jetbrains.com/idea/download
 Steps
1. Download and unpack IntelliJ;
2. Launch IntelliJ.
Note
IntelliJ has inbuilt Maven support so no additional plugin need installing at this stage.
Information about this Tutorial
Download the course source code
In a shell, type the following command:
svn co http://intact.googlecode.com/svn/repo/site/trunk/intact­course
This will create a directory called intact­course in the directory where you ran the command.
Prepare the project
Now we will ensure that all required third party libraries required by Maven and the
intact­course are going to be downloaded locally. This ensures that that Maven works
smoothly even if you don’t have an internet connection available. Get into the intact­course
directory and type:
mvn clean dependency:go­offline
This may take several minutes so please be patient.
Open the project in your favorite Java IDE
Eclipse
 Steps
1. Go to the intact­course directory and type mvn eclipse:eclipse               
­DdownloadSources
2. In Eclipse, open File > Import;
3. Choose as a project type: General > Existing project into Workspace (Fig. 1.);
4. Browse and select the intact­course directory (Fig. 2.); Click Finish.
Figure 3. Choosing a project type Figure 4. Select your project location
Eclipse asks for a password (for secure storage). Just cancel and ignore.
IntelliJ
 Steps
1. Open File > Open project;
2. In the intact­course directory select the file pom.xml to open the project. IntelliJ will                         
open the project and use the maven configuration to setup your classpath                     
automatically.
intact­course project structure
The intact­course directory is structured as follow:
● pom.xml: Maven configuration for the project, including declaration of required third
party libraries, plugins (e.g. Java compiler)...
● src/main/java: source code for the course including exercises and solutions;
● src/main/resources: configuration files and sample data files required to run
some exercises.
How to run an exercise class ?
Each java based exercises provided is encoded in a dedicated class file for which the
package reflect the context of the exercise.
Example: intact.solution.psicquic.registry.ListingAllServices
Each of these classes has a main method so running it is easily done as explain below:
Command line with Maven
 Steps
1. Go into the intact­course directory
2. get the reference of the class you want to run, for instance:                     
intact.solution.psicquic.registry.ListingAllServices
3. Type:
    mvn exec:java
­Dexec.mainClass=intact.solution.psicquic.registry.ListingAllServices
Eclipse
 Steps
4. Right click on the class you want to run and choose: Run As > Java Application
5. If not done already, the project will compile and the output of the class will be shown in                                 
a console.
IntelliJ
 Steps
1. Right click on the class you want to run and choose: Run
2. If not done already, the project will compile and the output of the class will be shown in                                 
a console.
PSIMITAB
Learning objectives
● What are the various version of the MITAB formats, their strengh and shortcomings;
● Learn how to find MITAB content from IntAct and other resources;
● Gain practical experience of parsing MITAB.
Exercises
Exercise 1: Programmatic Access using the command line
No­frills access to the data, using the IntAct REST example URL.
 Steps
1. Open the PSICQUIC Registry page in your web browser: http://bit.ly/psicquic­registry;
2. Each PSICQUIC service has an example link to demonstrate a sample REST query,                       
copy the URL of a service in your clipboard as shows in Figure 2.1 below;
3. Open this URL in the address bar of a new window in your web browser:
4. http://cicblade.dep.usal.es/psicquic­ws/webservices/current/search/interactor/P0053
3;
5. Your should view MITAB data being downloaded from the APID PSICQUIC service.
Figure 2.1.  Copying the REST example URL from the APID PSICQUIC service.
 Question 1: Using the command line wget, download MITAB data from IntAct and store
it in a file called intact.tsv
Information
Should you not be familiar with wget, type man wgetin a terminal to get access to                               
documentation. Typically, downloading the content of a URL into a file is done as                         
follow:
wget “<URL>” ­O output.txt
Bear in mind that a URL can contain special characters (e.g. &) that can be                           
conflicting with your command line, to avoid this happening, make sure to surround                       
your URL with double quotes.
Question 2: Using the grepcommand, count how many interactions involve the protein                         
P03120.
Information
There are many ways to perform this task but here are a few command line tools that                               
may help you:
○ cat <file>: prints on the standard output the content of the file given as                         
parameter;
○ grep <value>: prints on the standard output all lines containing the value                     
given as parameter;
○ wc ­l: prints a count of line of the data received on standard input.
UNIX command lines can be chained together using the symbol |so that the output                           
of the preceding command is given as input to the following one. For instance cat                           
file.txt | wc ­l would print the count of line in file.txt
Exercise 2: Using the Java library for MITAB
In this section, your will benefit from using a Java IDE such as Eclipse or IntelliJ to facilitate                                 
the use of Maven, source code compilation, running the exercises...
This java library takes care of parsing MITAB25 data, making each MITAB line parsed into a                             
Java object:
Question 1: Can you write a class that reads a MITAB data file/stream and print out the                                 
count of interactions parsed?
 intact.exercise.chapter2.exercise2.Q1_ReadWholeFile
Question 2: Should you attempt to load the whole content of a data file/stream into                             
memory could cause problems if the volume of data is large. To facilitate this the class                             
psidev.psi.mi.tab.PsimiTabReaderalso allows developers to iterate over the data.               
Now write an other program (similar to question 2) that implements this more efficient                         
memory management.
 intact.exercise.chapter2.exercise2.Q2_ClientAndMitabBetterMemory
Question 3: Now that we have read the content of a MITAB file/stream, we can attempt                               
to write this content back to a file. Write a program that writes the MITAB content read into a                                   
file.
 intact.exercise.chapter2.exercise2.Q3_WriteToFile
Exercise 3: Indexing MITAB data locally using Lucene
Question 1: This library offers the possibility to to index a MITAB dataset using Lucene.                             
This enables users to run local MIQL queries, thus easing data processing. Write a program                           
that indexes the provided MITAB data file.
 intact.exercise.chapter2.exercise3.Q1_IndexMitabFile
Information
Apache Lucene is a high­performance, full­featured text search engine library written                   
entirely in Java. It is a technology suitable for nearly any application that requires                         
full­text search. You can find more information about Lucene on the Apache web site.
A reference to MIQL is provided below (Fig. 2.2.).
Figure 2.2.  MIQL fields reference.
Question 2: Write a program that queries the local Lucene index to search for                           
interaction evidences involving specific molecules. For instance by uniprot identifier O45406                   
or pubmed id 17129783.
 intact.exercise.chapter2.exercise3.Q2_QueryLocalIndexUsingMIQL
Question 3: Like MITAB2.6 and higher, the IntAct extended MITAB format does have a                           
column that describe potential complex expansion that may have been applied to generate                       
binary interactions. Write a program that reads an IntAct MITAB file and  print the following:
● total count of interactions;
● count of spoke expanded interaction;
● count of experimentaly identified binary interaction (i.e. not expanded).
 intact.exercise.chapter2.exercise3.Q3_FilterSpokeInteractions
PSICQUIC
Learning objectives
In this introductory chapter about PSICQUIC you will learn how to:
● Fetch molecular interaction data programmatically through PSICQUIC;
● Use PSICQUIC view to query multiple databases, not just IntAct.
Summary
● PSICQUIC allows to access multiple molecular interactions resources in the same
way;
● Access is available via SOAP and REST;
● Different standard formats can be obtained;
● Clients exist to get data from any of the services without having to write custom code;
● It is a community effort.
Exercises
Exercise 1: Accessing PSICQUIC via REST
In the next chapter we are going to talk about the PSIMITAB format in more detail. This
exercise only requires a web browser, as we are just going to build some URL to handle
specific cases.
The figure 3.1. (below) illustrate how to build a PSICQUIC REST URL:
Figure 3.1.  How to build a PSICQUIC REST URL !must be maxResults and not maxResult
 Question 1: Fetch the interactions for bbc1 in IntAct.
PSICQUIC_URL = http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webservices/
VERSION = current
 Question 2: Count the interactions for human (taxid 9606) in IntAct (using just the URL,
of course!).
 Help
Detailed help and methods to access PSICQUIC using URLs:
http://code.google.com/p/psicquic/wiki/PsicquicSpec_1_1_Rest
 Question 3: Is it the same to search with the query species:human and with the query
species:9606? Can you guess why?
 Question 4: Could you retrieve the first 10 binary interactions for human (taxid 9606) in
IntAct?
Exercise 2: Using PSICQUIC View
The PSICQUIC view is an example of application that uses PSICQUIC behind the scenes to
query many services at the same time. It can be found at:
http://www.ebi.ac.uk/Tools/webservices/psicquic/view
 Question 1: Now that we got rid of those funny URLs, you can try the difference between
species:human and species:9606 using PSICQUIC View. The
differences can be seen more clearly now. DIP is a clear example. Could
you explain what is happening?
The PSICQUIC Registry
Learning objectives
In this chapter you will learn how to:
● use the PSICQUIC Registry to get a list of available services;
● get specific information from the services;
● access the Registry with a browser;
● use the existing Java client to access the Registry programmatically;
● filter services by name or tag.
The Registry can be found at:
http://www.ebi.ac.uk/Tools/webservices/psicquic/registry/registry?action=STATUS
 Help
For further help and information on the query syntax used by the Registry check this
URL: http://code.google.com/p/psicquic/wiki/Registry
Summary
● The PSICQUIC Registry is a web resource that contains a list of publicly available
PSICQUIC services.
● Different information, such as the name, URLs and interaction counts can be
obtained.
● The Registry can be accessed programmatically.
● A Java client exists.
Exercises
Exercise 1: Direct access to the Registry
The registry can be access directly using a browser.
 Question 1: How many services are available?
Question 2: Could you get the same list in XML format?
 Question 3: Could you get the XML information only for the IntAct Service
(filter the other services)?
Exercise 2: Programmatic access to the Registry
This exercise requires the use of the Java registry client. Additional information about the
client, including how to include it in your projects, can be found at:
http://code.google.com/p/psicquic/wiki/RegistryJavaClient
Question 1: Could you list all the PSICQUIC Services and print its name in the
console?
 intact.exercise.chapter4.exercise2.Q1_ListingAllServices
Question 2: Like in the previous question, but could you print the count of
interactions and the REST URL examples as well?
 intact.exercise.chapter4.exercise2.Q2_ListingAllServices
Question 3: Could you print the above information, but only for those services
with the tag ‘imex curation’?
intact.exercise.chapter4.exercise2.Q3_ListingServicesByTags
PSICQUIC Java clients
Learning objectives
In this chapter you will learn how to retrieve data programmatically by using:
● the PSICQUIC Simple client;
● the PSICQUIC Universal client.
PSICQUIC Java clients
Slides: PSICQUIC Java clients
PSICQUIC Client Simple Universal
Java lib dependencies None Many
Protocol used REST SOAP
Streaming Yes No
Pagination Yes Yes
Integration with model None (but easily integrated) Full integration with XML and
MITAB models
Speed Faster Slower (due to response
generation)
Bandwidth Smaller Larger (SOAP evelope and
response)
Compression Available using specific
format
Yes
Compatibility PSICQUIC 1.1 or higher PSICQUIC 1.0 or higher
 Help
For further help and information about the PSICQUIC Java clients check this URL:
http://code.google.com/p/psicquic/wiki/JavaClient
Summary
● Two available Java clients exist: Simple and Universal.
● The Simple is a no­frills client, just wrapping the REST URL and returning the results
as a stream.
● The Universal is the original client and more complex. It is based on SOAP and
returns the results in a fully­fledged object model.
● A combination of the Simple and the MITAB library is recommended for maximum
performance and flexibility.
Exercises
Exercise 1: Using the PSICQUIC Universal client
 Question 1: Could you write the code to query the interactions for brca2 from IntAct and
print the identifiers for molecule A and B in the console?
 intact.exercise.chapter5.exercise1.Q1_PsicquicQuery
 Question 2: Access with SOAP to PSICQUIC services has a hard limit of 200
interactions per query. Could you write some code to get all the interactions for pubmed
16189514 from IntAct , which contains more than 2700 interactions?
 intact.exercise.chapter5.exercise1.Q2_ProcessLargeDatasets
Information
You will need to write a loop to paginate the results and get them in batches.
Exercise 2: Using the PSICQUIC Simple client
 Question 1: Could you write the code to download a MITAB stream from PSICQUIC
using the simple client? Print the MITAB for the publication with pubmed 16189514 from
IntAct in the console.
 intact.exercise.chapter5.exercise2.Q1_SimplePsicquicQuery
 Question 2: If you wanted to count the results for the above query before loading the
data, what could you do?
 intact.exercise.chapter5.exercise2.Q2_CountSimplePsicquicQuery
 Question 3: You could use the MITAB Java library to parse the results stream into a data
model. How would you read the whole result using the
psidev.psi.mi.tab.PsimiTabReader class? Could you print the identifiers for
molecules A and B?
 intact.exercise.chapter5.exercise2.Q3_ClientAndMitab
 Question 4: Is the approach of the previous exercise memory­efficient? If you have not
done it, could you think of a better way to handle the problem and only store in memory one
binary interaction at a time?
intact.exercise.chapter5.exercise2.Q4_ClientAndMitabBetterMemory
 Question 5: Could you write the code to print the PSI­MI XML format for the first 5
interactions of the query in Question 1?
 intact.exercise.chapter5.exercise2.Q5_XmlSimplePsicquicQuery
 Question 6: Could you query all the active PSICQUIC services and print the partial and
total interaction counts for P04637 (TP53)?
 intact.exercise.chapter5.exercise2.Q6_QueryActiveServices
PSICQUIC Service Provider
Learning objectives
In this chapter you will learn how to:
● Create your own PSICQUIC service;
● Start the service locally on the fly;
● Search some data on your custom service.
Create a PSICQUIC Service with your data
There exists a PSICQUIC Reference Implementation (RI) to simplify the installation of new
PSICQUIC Services. The RI just requires a MITAB file as data source, which will be indexed
and made available as a service.
 Help ­ How to install a PSICQUIC Service?
Detailed installation steps can be found at the PSICQUIC project wiki:
http://code.google.com/p/psicquic/wiki/HowToInstall
Summary
● A custom PSICQUIC service with your data is straight­forward to install thanks to the
Reference Implementation;
● MITAB data is indexed and made available as a web service.
Exercises
You will need to have the MITAB data to create the service in a file. For example:
 Question 1: Could you create a file using PSICQUIC with all the interactions for the
publication 16189514 from IntAct in MITAB format?
We will use this data in our PSICQUIC Service. To create the Service you can follow these
steps:
    Steps
1. Download and untar the Reference Implementation with the following commands:
wget
http://psicquic.googlecode.com/files/psicquic­ws­1.1.6­src.tar.gz
tar xfz psicquic­ws­1.1.6­src.tar.gz
cd psicquic­ws­1.1.6
2. Index your file using the RI, replacing <MITAB_FILE> with the name of your file. We
will pass as well the path to the index to be created (e.g.
/tmp/my­psicquic­index). This index will be essential for PSICQUIC as it will
contain all the needed data. After running this, the MITAB file could be discarded.
mvn clean compile ­P createIndex 
     ­D psicquic.index=/tmp/my­psicquic­index 
     ­D hasHeader=false 
     ­D mitabFile=<MITAB_FILE>
3. You should see a BUILD SUCCESS from Maven message after a few seconds.
4. Start the service on the fly using Jetty, using the path to the index::
mvn jetty:run ­D psicquic.index=/tmp/my­psicquic­index
5. Once the message [INFO] Started Jetty Server appears it means that the
server is available. Don’t stop it (e.g. with Control+C)
6. Open a browser and navigate to http://localhost:8080/psicquic­ws/webservices/ . If
you see a list of the SOAP and REST services, everything is working fine.
7. The URL http://localhost:8080/psicquic­ws/webservices/current/search/query/*, for
instance, will show all the data in your service.
 Question 2: Using the browser, how many interactions are present in your service for
the query P25786?
Information
If you were an experimentalist or a provider and wanted your service to be publicly
available by everybody you would just need to request inclusion into the Registry.
PSI­MI XML
Learning objectives
● Manipulate PSI­MI XML data using the existing Java library;
● Create binary interactions from complexes by using an Spoke expansion algorithm.
Introduction to PSI­MI XML
Slides: PSI­MI XML
 Help
More information about the PSI­MI XML fomat can be found at
http://code.google.com/p/psimi/wiki/PsimiXMLSpecifications
The sources and Java library can be downloaded from:
http://code.google.com/p/psimi/
Summary
● The PSI­MI XML library can be used to read and write XML files.
● It contains a model to represent the interaction data.
● Complexes can be properly represented in PSI­MI XML, like in the IntAct model.
Exercises
Sample files will be provided in each exercise class.
Exercise 1: Reading PSI­MI XML files
 Question 1: Could you use the psidev.psi.mi.xml.PsimiXmlReader to read a
data file? Iterate through the interactions in the file and print some information.
 intact.exercise.chapter7.exercise1.Q1_ReadWholeFile
 Question 2: What do you think it could be a limitation in the approach taken in Question
1?
 Question 3: You can read files in a memory­efficient way by using the
psidev.psi.mi.xml.PsimiXmlLightweightReader, which internally indexes the file
to read one interaction at a time. Could you write a class using this reader and printing some
information about the interactions in the file?
 intact.exercise.chapter7.exercise1.Q3_ReadIndexedFile
 Question 4: Could you list the participants of the interactions from a file, and their
respective roles?
 intact.exercise.chapter7.exercise1.Q4_ListParticipantsAndRole
Exercise 2: Writing PSI­MI XML files
 Question 1: Could you write an EntrySet to a file by using the
psidev.psi.mi.xml.PsimiXmlWriter?
 intact.exercise.chapter7.exercise2.Q1_WriteToFile
Exercise 3: Validating XML files
A web resource for PSI­XML file validation exists. It can be found at: http://www.ebi.ac.uk/intact/validator
        Steps
1. Go to http://www.ebi.ac.uk/intact/validator;
2. In the Upload PSI­MI XML 2.5 data press on the button “Choose File” and select
the file produced in the Exercise 2;
3. Click the “Validate” button and wait for the results.
 Question 1: Is the file generated in the previous exercise valid?
 Question 2: If we change the validation scope to IMEx using the radio button selector, is
the file still valid?
Exercise 4: Using expansion algorithms
The PSI­MI XML Java library contains a class with different implementations of expansion
algorithms, all implementing the
psidev.psi.mi.tab.expansion.ExpansionStrategy interface:
● Spoke expansion: psidev.psi.mi.tab.expansion.SpokeExpansion
● Matrix expansion: psidev.psi.mi.tab.expansion.MatrixExpansion
● Spoke without bait expansion:
psidev.psi.mi.tab.expansion.SpokeWithoutBaitExpansion
The interface has a method expand, that accepts an
psidev.psi.mi.xml.model.Interaction and creates a collection with the expanded
Interaction objects.
Figure 7.1. (Illustration of the Spoke and Matrix expansion models)
 Question 1: Write some code that expands the interactions in a file by using the Spoke
expansion using the provided XML file in the exercise. How many interactions are present in
the file and how many binary interactions would be generated with the expansion?
 intact.exercise.chapter7.exercise2.Q1_SpokeExpansionDemo
 Question 2: Do like in Question 1, but now use Matrix expansion. How many
interactions are generated now?
 intact.exercise.chapter7.exercise2.Q2_MatrixExpansionDemo
Using Cytoscape ­ a case study
Since the release of Cytoscape 2.7.0, there is the option of installing a plugin for PSICQUIC
that allows you to execute queries from within the application and visualise the resulting
networks.
Installing the plugin
The steps to install the plugin are fully explained in the PSICQUIC project wiki:
http://code.google.com/p/psicquic/wiki/CytoscapeClient
You can find the plugin in the Plugins > Manage Plugins, and then Network and Attributes I/O
> PSICQUICUniversalClient.
Executing a query
To run a PSICQUIC query using Cytoscape, go to File > Import > Network from Web
Services.
Then select “PSICQUIC Universal Web Service Client” as the data source.
After executing a query, the user will be presented with the list of PSICQUIC services with
results which can be visualized. In addition, Cytoscape offers the capability to merge
networks from the different services, which is another way of clustering data from multiple
resources.
It is then possible to utilise the Cytoscape visualization mapping options, for instance, to
render the interactions (edges) in different colors depending on the data source.
Course summary
In this course you should have learned the following:
● That there are standard formats and tools to gather molecular interaction data;
● These standards have good library support in Java;
● That beyond IntAct, many other database expose their data through PSICQUIC;
● You should feel confident to use data currently available online and use it in the                           
context of your own work.
Further reading
1. Orchard, S.,  Kerrien, S.,  Jones, P.,  Ceol, A.,  Chatr­Aryamontri, A.,  Salwinski, L.,  Nerothin,
J.,  Hermjakob, H. (2007) Submit your interaction data the IMEx way: a step by step guide to
trouble­free deposition. 7 Suppl 1, 28­34
2. Orchard, S., Salwinski, L., Kerrien, S., Montecchi­Palazzi, L., Oesterheld, M., Stümpflen, V.,
Ceol, A., Chatr­aryamontri, A., Armstrong, J., Woollard, P., et al. (2007) The Minimum
Information required for reporting a Molecular Interaction Experiment (MIMIx) Nat. Biotechnol,
25, 894­898
3. Kerrien, S.,  Orchard, S.,  Montecchi­Palazzi, L.,  Aranda, B.,  Quinn, A.F.,  Vinod, N.,  Bader,
G.D.,  Xenarios, I.,  Wojcik, J.,  Sherman, D., et al (2007) Broadening the horizon­­level 2.5 of
the HUPO­PSI format for molecular interactions. BMC biology,  5, 44
4. Blake, J.A.,  Harris, M.A. (2008) The Gene Ontology (GO) project: structured vocabularies for
molecular biology and their application to genome and expression analysis. Current protocols in
bioinformatics, 7,  7.2
5. The UniProt Consortium (2009) The Universal Protein Resource (UniProt) 2009.  Nucleic acids
research, (37),  d169­174
6. Degtyarenko, K.,  Hastings, J.,  de Matos, P.,  Ennis, M. (2009) ChEBI: an open bioinformatics
and cheminformatics resource. Current protocols in bioinformatics 14, 14.9
7. Hubbard, T.J.,  Aken, B.L.,  Ayling, S.,  Ballester, B.,  Beal,K., Bragin,E.,  Brent, S.,  Chen,Y.,
Clapham,P.,  Clarke, L. et al (2009) Ensembl 2009. Nucleic acids research  37, D690­7
8. Tateno, Y. (2008) International collaboration among DDBJ, EMBL Bank and GenBank.
Tanpakushitsu kakusan koso. Protein, nucleic acid, enzyme  53, 182­189
9. Hunter, S.,  Apweiler, R.,  Attwood, T.K.,  Bairoch, A.,  Bateman, A.,  Binns, D.,  Bork, P.,
Das, U.,  Daugherty, L., Duquenne, L. et al. (2009) InterPro: the integrative protein signature
database.  Nucleic acids research  37, D211­215
10. Kerrien, S.,  Alam­Faruque, Y.,  Aranda, B.,  Bancarz, I.,  Bridge, A.,  Derow, C. ,  Dimmer, E. ,
Feuermann, M.,  Friedrichsen, A.,  Huntley, R.,  Kohler, C.,  Khadake, J.,  Leroy, C.,  Liban, A.,
Lieftink, C., Montecchi­Palazzi, L., Orchard, S., Risse, J., Robbe, K., Roechert, B.,
Thorneycroft, D., Zhang, Y., Apweiler, R. and Hermjakob, H. (2007) IntAct­­open source
resource for molecular interaction data. Nucleic acids research  35, d561­565
Where to find our more
PSICQUIC Discussion Group: http://groups.google.com/group/psicquic
Contributors
Version 1.0 of this document:
● Bruno Aranda (baranda@ebi.ac.uk)
● Sandra Ochard (orchard@ebi.ac.uk)
● Samuel Kerrien (skerrien@ebi.ac.uk)
Course exercise answers
Chapter 1 answers: IntAct
Question 1: How many molecular interaction evidences are known for the gene LSM7 ?
Answer 1: the interaction tab shows the count of interaction: 115. Note that using the
MIQL query identifier:lsm7 only searches interactor related fields and
returns 106 interactions.
Question 2: How many molecular interaction evidences are known for the species
human ?
Answer 2: the query human yields 66,681 binary interaction, while species:human
only 65,811. This is because the basic query human isn’t specific and target
other data fields than species related ones.
Question 3: How many interaction evidences match the taxonomy term ‘mammalia’ ?
Answer 3: The interactions count is 75,618 for the MIQL query: species:mammalia.
However this query may return results between a mammalia and an other
species. If you only want inter­mammalia interactions you would have to write
your query as follow: taxidA:mammalia AND taxidB:mammalia, you
then only get 63,791 interactions. Should you want to isolate these
interactions between mammalia and non­mammalia, you could write the
following MIQL: (taxidA:mammalia AND NOT taxidB:mammalia) OR
(taxidB:mammalia AND NOT taxidA:mammalia) this results in
11,826 interaction evidences involving species such as Yersinia Pestis (632),
Bacillus antracis (1392).
Question 4: Can you name at least 2 species matched by this query from the resulting
interaction tab ?
Answer 4: If you leave your mouse cursor over the taxid of species A and B (as
demonstrated on the figure below),  you can identify some of the following
species: Human (9606), Mouse (10090), Rat (10116).
Chapter 2 answers: PSIMITAB
Exercise 1: Programmatic Access using the command line
 Question 1: Using the command line wget, download MITAB data from IntAct and store
it in a file called intact.tsv
 Answer 1: type the command line wget
“http://www.ebi.ac.uk/Tools/webservices/psicquic/intac
t/webservices/current/search/query/species:human?first
Result=0&maxResults=100” ­O intact.tsv
Question 2: Using the grepcommand, count how many interactions involve the protein                         
P03120.
 Answer 2: The command line cat intact.tsv | grep P03120 | wc ­l counts
21 MITAB lines
Exercise 2: using the Java library for MITAB
Question 1: Can you write a class that reads a MITAB data file/stream and print out the                                 
count of interactions parsed ?
 Answer 1: See intact.solution.chapter2.exercise2.Q1_ReadWholeFile
Question 2: Should you attempt to load the whole content of a data file/stream into                             
memory could cause problems if the volume of data is large. To facilitate this the class                             
psidev.psi.mi.tab.PsimiTabReaderalso allows developers to iterate over the data.               
Now write an other program (similar to question 2) that implements this more efficient                         
memory management.
 Answer 2: See intact.solution.chapter2.exercise2.Q2_ClientAndMitabBetterMemory
 Question 3:  Now that we have read the content of a MITAB file/stream, we can attempt
to write this content back to a file. Write a program that writes the MITAB content read into a
file.
 Answer 3: See intact.solution.chapter2.exercise2.Q3_WriteToFile
Exercise 3: Indexing MITAB data locally using Lucene
Question 1: This library offers the possibility to to index a MITAB dataset using Lucene.                             
This enables users to run local MIQL queries, thus easing data processing. Write a program                           
that indexes the provided MITAB data file.
 Answer 1: See intact.solution.chapter2.exercise3.Q1_IndexMitabFile
Question 2: Write a program that queries the local Lucene index to search for                           
interaction evidences involving specific molecules. For instance by uniprot identifier O45406                   
or pubmed id 17129783.
 Answer 2: See intact.solution.chapter2.exercise3.Q2_QueryLocalIndexUsingMIQL
Question 3: Like MITAB2.6 and higher, the IntAct extended MITAB format does have a                           
column that describe potential complex expansion that may have been applied to generate                       
binary interactions. Write a program that reads an IntAct MITAB file and  print the following:
● total count of interactions;
● count of spoke expanded interaction;
● count of experimentaly identified binary interaction (i.e. not expanded).
 Answer 3: See intact.solution.chapter2.exercise3.Q3_FilterSpokeInteraction
Chapter 3 answers: PSICQUIC
Exercise 1 answers: Direct access to the Registry
 Question 1: Fetch the interactions for bbc1 in IntAct.
 Answer 1:
http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webservices/current/search/query/bb
c1
 Question 2: Count the interactions for human (taxid: 9606) in IntAct .
 Answer 2: Using MIQL the query to retrieve all human interactions is species:9606.
Then, the query to be used:
http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webservices/current/search/query/sp
ecies:9606?format=count
Question 3: Is it the same to search with the query species:humanand with the                             
query species:9606? Can you guess why?
 Answer 3: Running these two queries return different number of results:
http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webservices/current/search/query/sp
ecies:human?format=count
http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webservices/current/search/query/sp
ecies:9606?format=count
The explanation of why these two counts are different can be explained by the fact that the
query species:human may hit other organisms (e.g. “human papillomavirus”). Hence, it is
safer to use species:9606 if you want to be really specific to that organism.
Question 4: Could you retrieve the first 10 binary interactions for human (taxid 9606) in                             
DIP?
Answer 4: To do so, the pagination parameters firstResultand maxResultscan                       
be used:
http://imex.mbi.ucla.edu/psicquic­ws/webservices/current/search/query/species:9606?firstR
esult=0&maxResults=10
Exercise 2 answers: Using PSICQUIC View
Question 1: Now that we got rid of those funny URLs, you can try the difference                               
between species:human and species:9606using PSICQUIC View. The differences               
can be seen more clearly now. DIP is a clear example. Could you explain what is happening?
Answer 1: DIP stores its human interactions using the scientific name “Homo sapiens”,                         
instead of the common name “human” that IntAct uses. Each provider prepares their own                         
data for PSICQUIC, which can lead to some discrepancies on what data to show. The                           
service providers are collaborating to reach a common agreement to what information should                       
be at least present, hence increasing the compatibility of some specific searches. In our                         
case, searching for species:9606will always return better results as everybody uses the                       
taxid.
Chapter 4 answers: The PSICQUIC Registry
Exercise 1 answers: Direct access to the Registry
 Question 1: How many services are available?
 Answer 1: 16
 Question 2: Could you get the same list in XML format?
 Answer 2:
http://www.ebi.ac.uk/Tools/webservices/psicquic/registry/registry?action=STATUS&format=
xml
 Question 3: Could you get the XML information only for the IntAct Service (filter the
other services)?
 Answer 3:
http://www.ebi.ac.uk/Tools/webservices/psicquic/registry/registry?action=STATUS&format=x
ml&name=IntAct
Exercise 2 answers: Programmatic access to the Registry
 Question 1: Could you list all the PSICQUIC Services and print its name in the console?
 Answer 1: See intact.solution.chapter4.exercise2.Q1_ListingAllServices
 Question 2: Like in the previous question, but could you print the count of interactions
and the REST URL examples as well?
 Answer 2: See intact.solution.chapter4.exercise2.Q2_ListingAllServices
 Question 3: Could you print the above information, but only for those services with the
tag ‘imex curation’?
 Answer 3: See
intact.solution.chapter4.exercise2.Q3_ListingServicesByTags
Chapter 5 answers: PSICQUIC Java clients
Exercise 1 answers: Using the PSICQUIC Universal client
 Question 1: Could you write the code to query the interactions for brca2 from IntAct
and print the identifiers for molecule A and B in the console?
 Answer 1: See intact.solution.chapter5.exercise1.Q1_PsicquicQuery
 Question 2: Access with SOAP to PSICQUIC services has a hard limit of 200
interactions per query. Could you write some code to get all the interactions for pubmed
16189514 from IntAct , which contains more than 2700 interactions?
 Answer 2: See intact.solution.chapter5.exercise1.Q2_ProcessLargeDatasets
Exercise 2 answers: Using the PSICQUIC Simple client
 Question 1: Could you write the code to download a MITAB stream from PSICQUIC
using the simple client? Print the MITAB for the publication with pubmed 16189514 from
IntAct in the console.
 Answer 1: See intact.solution.chapter5.exercise2.Q1_SimplePsicquicQuery
 Question 2: If you wanted to count the results for the above query before loading the
data, what could you do?
 Answer 2: See
intact.solution.chapter5.exercise2.Q2_CountSimplePsicquicQuery
 Question 3: You could use the MITAB Java library to parse the results stream into a
data model. How would you read the whole result using the
psidev.psi.mi.tab.PsimiTabReader? Could you print the interactions like in
Question 1 of Exercise 1?
 Answer 3: See intact.solution.chapter5.exercise2.Q3_ClientAndMitab
 Question 4: Is the approach of the previous exercise memory­efficient? If you have not
done it, could you think of a better way to handle the problem and only store in memory one
binary interaction at a time?
 Answer 4: See intact.solution.chapter5.exercise2.Q4_ClientAndMitabBetterMemory
 Question 5: Could you write the code to print the PSI­MI XML format for the first 5
interactions of the query in Question 1?
 Answer 5: See
intact.solution.chapter5.exercise2.Q5_XmlSimplePsicquicQuery
 Question 6: Could you query all the active PSICQUIC services and print the partial and
total interaction counts for P04637 (TP53)?
 Answer 6: See intact.solution.chapter5.exercise2.Q6_QueryActiveServices
Chapter 6 answers: PSICQUIC as a service provider
 Question 1: Could you create a file using PSICQUIC with all the interactions for the
publication 16189514 from IntAct in MITAB format?
 Answer 1: There are many ways to do this, as explained in previous exercises of this
course:
● User wget or curl to get your file (the following is just one line):
curl
"http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webse
rvices/current/search/query/pubid:16189514" > my­mitab.txt
● Go with your browser this URL and Save it
http://www.ebi.ac.uk/Tools/webservices/psicquic/intact/webservices/current/search/q
uery/pubid:16189514
 Question 2: Using the browser, how many interactions are present in your service for
the query P25786?
 Answer 2: 10.
http://localhost:8080/psicquic­ws/webservices/current/search/query/P25786?format=count
Chapter 7 answers: PSI­MI XML
Exercise 1 answers: Reading PSI­MI XML files
 Question 1: Could you use the psidev.psi.mi.xml.PsimiXmlReader to read a
data file? Iterate through the interactions in the file and print some information.
 Answer 1: See intact.solution.chapter7.exercise1.Q1_ReadWholeFile
 Question 2: What do you think it could be a limitation in the approach taken in Question
1?
 Answer 2: The PsimiXmlReader stores the whole file in memory. This can be a
problem when working with huge files as a java.lang.OutOfMemoryError may be
thrown.
 Question 3: You can read files in a memory­efficient way by using the
psidev.psi.mi.xml.PsimiXmlLightweightReader, which internally indexes the file
to read one interaction at a time. Could you write a class using this reader and printing some
information about the interactions in the file?
 Answer 3: See intact.solution.chapter7.exercise1.Q3_ReadIndexedFile
 Question 4: Could you list the participants of the interactions in a file, and their
respective roles?
 Answer 4: See
intact.solution.chapter7.exercise1.Q4_ListParticipantsAndRole
Exercise 2 answers: Writing PSI­MI XML files
 Question 1: Could you write an EntrySet to a file by using the
psidev.psi.mi.xml.PsimiXmlWriter?
 Answer 1: See intact.solution.chapter7.exercise2.Q1_WriteToFile
Exercise 3 answers: Validating PSI­MI XML files
 Question 1: Is the file generated in the previous exercise valid?
 Answer 1: Yes, the file is both syntactically and semantically valid for the MIMIx (default
level). This means it contains the minimum information required to report a molecular
interaction experiment.
 Question 2: If we change the validation scope to IMEx using the radio button selector, is
the file still valid?
 Answer 2: Obviously it still is syntactially valid. However, it is not semantically valid as
some of the more specific requirements for IMEx data are not present/correct in the file. The
curation standards for IMEx files are higher, hence the need of more specific requirements.
Exercise 4 answers: Using the Spoke expansion algorithm
 Question 1: Write some code that expands the interactions in a file by using the Spoke
expansion using the provided XML file in the exercise. How many interactions are present in
the file and how many binary interactions would be generated with the expansion?
psidev.psi.mi.xml.PsimiXmlWriter?
 Answer 1: See intact.solution.chapter7.exercise4.Q1_SpokeExpansionDemo
There are 4 interactions in the file and 20 after the expansion.
 Question 2: Do like in Question 1, but now use Matrix expansion. How many
interactions are generated now?
 Answer 2: Instead of instantiating a psidev.psi.mi.tab.expansion.SpokeExpansion
class, instantiate a psidev.psi.mi.tab.expansion.MatrixExpansion instead. The
number of matrix expanded interactions is 79.

More Related Content

What's hot

NetBioSIG2014-Talk by Hyunghoon Cho
NetBioSIG2014-Talk by Hyunghoon ChoNetBioSIG2014-Talk by Hyunghoon Cho
NetBioSIG2014-Talk by Hyunghoon ChoAlexander Pico
 
Overall Vision for NRNB: 2015-2020
Overall Vision for NRNB: 2015-2020Overall Vision for NRNB: 2015-2020
Overall Vision for NRNB: 2015-2020Alexander Pico
 
Revealing disease-associated pathways by network integration of untargeted me...
Revealing disease-associated pathways by network integration of untargeted me...Revealing disease-associated pathways by network integration of untargeted me...
Revealing disease-associated pathways by network integration of untargeted me...SOYEON KIM
 
NetBioSIG2013-Talk Robin Haw
NetBioSIG2013-Talk Robin Haw NetBioSIG2013-Talk Robin Haw
NetBioSIG2013-Talk Robin Haw Alexander Pico
 
NRNB Annual Report 2011
NRNB Annual Report 2011NRNB Annual Report 2011
NRNB Annual Report 2011Alexander Pico
 
Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015
Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015
Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015Mathew Varghese
 
NetBioSIG2012 anyatsalenko-en-viz
NetBioSIG2012 anyatsalenko-en-vizNetBioSIG2012 anyatsalenko-en-viz
NetBioSIG2012 anyatsalenko-en-vizAlexander Pico
 
NRNB Annual Report 2013
NRNB Annual Report 2013NRNB Annual Report 2013
NRNB Annual Report 2013Alexander Pico
 
NRNB Annual Report 2017
NRNB Annual Report 2017NRNB Annual Report 2017
NRNB Annual Report 2017Alexander Pico
 
NetBioSIG2013-Talk Tijana Milenkovic
NetBioSIG2013-Talk Tijana MilenkovicNetBioSIG2013-Talk Tijana Milenkovic
NetBioSIG2013-Talk Tijana MilenkovicAlexander Pico
 
NetBioSIG2012 chrisevelo
NetBioSIG2012 chriseveloNetBioSIG2012 chrisevelo
NetBioSIG2012 chriseveloAlexander Pico
 
NRNB Annual Report 2016: Overall
NRNB Annual Report 2016: OverallNRNB Annual Report 2016: Overall
NRNB Annual Report 2016: OverallAlexander Pico
 
Technology R&D Theme 2: From Descriptive to Predictive Networks
Technology R&D Theme 2: From Descriptive to Predictive NetworksTechnology R&D Theme 2: From Descriptive to Predictive Networks
Technology R&D Theme 2: From Descriptive to Predictive NetworksAlexander Pico
 
Particle Swarm Optimization for Gene cluster Identification
Particle Swarm Optimization for Gene cluster IdentificationParticle Swarm Optimization for Gene cluster Identification
Particle Swarm Optimization for Gene cluster IdentificationEditor IJCATR
 
NetBioSIG2012 ugurdogrusoz-cbio
NetBioSIG2012 ugurdogrusoz-cbioNetBioSIG2012 ugurdogrusoz-cbio
NetBioSIG2012 ugurdogrusoz-cbioAlexander Pico
 
Cheminformatics
CheminformaticsCheminformatics
CheminformaticsVin Anto
 
NetBioSIG2013-Talk Gang Su
NetBioSIG2013-Talk Gang SuNetBioSIG2013-Talk Gang Su
NetBioSIG2013-Talk Gang SuAlexander Pico
 

What's hot (20)

NetBioSIG2014-Talk by Hyunghoon Cho
NetBioSIG2014-Talk by Hyunghoon ChoNetBioSIG2014-Talk by Hyunghoon Cho
NetBioSIG2014-Talk by Hyunghoon Cho
 
Overall Vision for NRNB: 2015-2020
Overall Vision for NRNB: 2015-2020Overall Vision for NRNB: 2015-2020
Overall Vision for NRNB: 2015-2020
 
NRNB EAC Meeting 2012
NRNB EAC Meeting 2012NRNB EAC Meeting 2012
NRNB EAC Meeting 2012
 
Revealing disease-associated pathways by network integration of untargeted me...
Revealing disease-associated pathways by network integration of untargeted me...Revealing disease-associated pathways by network integration of untargeted me...
Revealing disease-associated pathways by network integration of untargeted me...
 
NetBioSIG2013-Talk Robin Haw
NetBioSIG2013-Talk Robin Haw NetBioSIG2013-Talk Robin Haw
NetBioSIG2013-Talk Robin Haw
 
NRNB Annual Report 2011
NRNB Annual Report 2011NRNB Annual Report 2011
NRNB Annual Report 2011
 
Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015
Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015
Computational Biology Methods for Drug Discovery_Phase 1-5_November 2015
 
NetBioSIG2012 anyatsalenko-en-viz
NetBioSIG2012 anyatsalenko-en-vizNetBioSIG2012 anyatsalenko-en-viz
NetBioSIG2012 anyatsalenko-en-viz
 
NRNB Annual Report 2013
NRNB Annual Report 2013NRNB Annual Report 2013
NRNB Annual Report 2013
 
NRNB Annual Report 2017
NRNB Annual Report 2017NRNB Annual Report 2017
NRNB Annual Report 2017
 
NetBioSIG2013-Talk Tijana Milenkovic
NetBioSIG2013-Talk Tijana MilenkovicNetBioSIG2013-Talk Tijana Milenkovic
NetBioSIG2013-Talk Tijana Milenkovic
 
NetBioSIG2012 chrisevelo
NetBioSIG2012 chriseveloNetBioSIG2012 chrisevelo
NetBioSIG2012 chrisevelo
 
NRNB Annual Report 2016: Overall
NRNB Annual Report 2016: OverallNRNB Annual Report 2016: Overall
NRNB Annual Report 2016: Overall
 
Technology R&D Theme 2: From Descriptive to Predictive Networks
Technology R&D Theme 2: From Descriptive to Predictive NetworksTechnology R&D Theme 2: From Descriptive to Predictive Networks
Technology R&D Theme 2: From Descriptive to Predictive Networks
 
Particle Swarm Optimization for Gene cluster Identification
Particle Swarm Optimization for Gene cluster IdentificationParticle Swarm Optimization for Gene cluster Identification
Particle Swarm Optimization for Gene cluster Identification
 
Applied Bioinformatics Assignment 5docx
Applied Bioinformatics Assignment  5docxApplied Bioinformatics Assignment  5docx
Applied Bioinformatics Assignment 5docx
 
NRNB EAC Report 2011
NRNB EAC Report 2011NRNB EAC Report 2011
NRNB EAC Report 2011
 
NetBioSIG2012 ugurdogrusoz-cbio
NetBioSIG2012 ugurdogrusoz-cbioNetBioSIG2012 ugurdogrusoz-cbio
NetBioSIG2012 ugurdogrusoz-cbio
 
Cheminformatics
CheminformaticsCheminformatics
Cheminformatics
 
NetBioSIG2013-Talk Gang Su
NetBioSIG2013-Talk Gang SuNetBioSIG2013-Talk Gang Su
NetBioSIG2013-Talk Gang Su
 

Similar to Java tutorial: Programmatic Access to Molecular Interactions

System Biology and Pathway Network.pptx
System Biology and Pathway Network.pptxSystem Biology and Pathway Network.pptx
System Biology and Pathway Network.pptxssuserecbdb6
 
Project report: Investigating the effect of cellular objectives on genome-sca...
Project report: Investigating the effect of cellular objectives on genome-sca...Project report: Investigating the effect of cellular objectives on genome-sca...
Project report: Investigating the effect of cellular objectives on genome-sca...Jarle Pahr
 
ANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MINING
ANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MININGANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MINING
ANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MININGijbbjournal
 
Unveiling the role of network and systems biology in drug discovery
Unveiling the role of network and systems biology in drug discoveryUnveiling the role of network and systems biology in drug discovery
Unveiling the role of network and systems biology in drug discoverychengcheng zhou
 
International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...
International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...
International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...CSCJournals
 
Multi-objective NSGA-II based community detection using dynamical evolution s...
Multi-objective NSGA-II based community detection using dynamical evolution s...Multi-objective NSGA-II based community detection using dynamical evolution s...
Multi-objective NSGA-II based community detection using dynamical evolution s...IJECEIAES
 
43_EMIJ-06-00212.pdf
43_EMIJ-06-00212.pdf43_EMIJ-06-00212.pdf
43_EMIJ-06-00212.pdfUmeshYadava1
 
Ieee projects 2012 2013 - Bio Informatics
Ieee projects 2012 2013 - Bio InformaticsIeee projects 2012 2013 - Bio Informatics
Ieee projects 2012 2013 - Bio InformaticsK Sundaresh Ka
 
Delineation of techniques to implement on the enhanced proposed model using d...
Delineation of techniques to implement on the enhanced proposed model using d...Delineation of techniques to implement on the enhanced proposed model using d...
Delineation of techniques to implement on the enhanced proposed model using d...ijdms
 
Berlin center for genome based bioinformatics koch05
Berlin center for genome based bioinformatics   koch05Berlin center for genome based bioinformatics   koch05
Berlin center for genome based bioinformatics koch05Slava Karpov
 
Structural Bioinformatics.pdf
Structural Bioinformatics.pdfStructural Bioinformatics.pdf
Structural Bioinformatics.pdfRahmatEkoSanjaya1
 
AI and Machine Learning for Secondary Metabolite Prediction
AI and Machine Learning for Secondary Metabolite PredictionAI and Machine Learning for Secondary Metabolite Prediction
AI and Machine Learning for Secondary Metabolite PredictionYannick Djoumbou
 
Systems Biology Approaches to Cancer
Systems Biology Approaches to CancerSystems Biology Approaches to Cancer
Systems Biology Approaches to CancerRaunak Shrestha
 
Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...
Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...
Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...CSCJournals
 
cadd-191129134050 (1).pptx
cadd-191129134050 (1).pptxcadd-191129134050 (1).pptx
cadd-191129134050 (1).pptxNoorelhuda2
 
Advanced Systems Biology Methods in Drug Discovery
Advanced Systems Biology Methods in Drug DiscoveryAdvanced Systems Biology Methods in Drug Discovery
Advanced Systems Biology Methods in Drug DiscoveryMikel Txopitea Elorriaga
 
Introduction to bioinformatics
Introduction to bioinformaticsIntroduction to bioinformatics
Introduction to bioinformaticsmaulikchaudhary8
 
Community Finding with Applications on Phylogenetic Networks [Extended Abstract]
Community Finding with Applications on Phylogenetic Networks [Extended Abstract]Community Finding with Applications on Phylogenetic Networks [Extended Abstract]
Community Finding with Applications on Phylogenetic Networks [Extended Abstract]Luís Rita
 

Similar to Java tutorial: Programmatic Access to Molecular Interactions (20)

System Biology and Pathway Network.pptx
System Biology and Pathway Network.pptxSystem Biology and Pathway Network.pptx
System Biology and Pathway Network.pptx
 
Project report: Investigating the effect of cellular objectives on genome-sca...
Project report: Investigating the effect of cellular objectives on genome-sca...Project report: Investigating the effect of cellular objectives on genome-sca...
Project report: Investigating the effect of cellular objectives on genome-sca...
 
ANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MINING
ANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MININGANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MINING
ANALYSIS OF PROTEIN MICROARRAY DATA USING DATA MINING
 
presentation
presentationpresentation
presentation
 
Unveiling the role of network and systems biology in drug discovery
Unveiling the role of network and systems biology in drug discoveryUnveiling the role of network and systems biology in drug discovery
Unveiling the role of network and systems biology in drug discovery
 
International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...
International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...
International Journal of Biometrics and Bioinformatics(IJBB) Volume (2) Issue...
 
Multi-objective NSGA-II based community detection using dynamical evolution s...
Multi-objective NSGA-II based community detection using dynamical evolution s...Multi-objective NSGA-II based community detection using dynamical evolution s...
Multi-objective NSGA-II based community detection using dynamical evolution s...
 
43_EMIJ-06-00212.pdf
43_EMIJ-06-00212.pdf43_EMIJ-06-00212.pdf
43_EMIJ-06-00212.pdf
 
Ieee projects 2012 2013 - Bio Informatics
Ieee projects 2012 2013 - Bio InformaticsIeee projects 2012 2013 - Bio Informatics
Ieee projects 2012 2013 - Bio Informatics
 
Delineation of techniques to implement on the enhanced proposed model using d...
Delineation of techniques to implement on the enhanced proposed model using d...Delineation of techniques to implement on the enhanced proposed model using d...
Delineation of techniques to implement on the enhanced proposed model using d...
 
Berlin center for genome based bioinformatics koch05
Berlin center for genome based bioinformatics   koch05Berlin center for genome based bioinformatics   koch05
Berlin center for genome based bioinformatics koch05
 
Structural Bioinformatics.pdf
Structural Bioinformatics.pdfStructural Bioinformatics.pdf
Structural Bioinformatics.pdf
 
AI and Machine Learning for Secondary Metabolite Prediction
AI and Machine Learning for Secondary Metabolite PredictionAI and Machine Learning for Secondary Metabolite Prediction
AI and Machine Learning for Secondary Metabolite Prediction
 
Systems Biology Approaches to Cancer
Systems Biology Approaches to CancerSystems Biology Approaches to Cancer
Systems Biology Approaches to Cancer
 
Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...
Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...
Multiple Features Based Two-stage Hybrid Classifier Ensembles for Subcellular...
 
pmic7074
pmic7074pmic7074
pmic7074
 
cadd-191129134050 (1).pptx
cadd-191129134050 (1).pptxcadd-191129134050 (1).pptx
cadd-191129134050 (1).pptx
 
Advanced Systems Biology Methods in Drug Discovery
Advanced Systems Biology Methods in Drug DiscoveryAdvanced Systems Biology Methods in Drug Discovery
Advanced Systems Biology Methods in Drug Discovery
 
Introduction to bioinformatics
Introduction to bioinformaticsIntroduction to bioinformatics
Introduction to bioinformatics
 
Community Finding with Applications on Phylogenetic Networks [Extended Abstract]
Community Finding with Applications on Phylogenetic Networks [Extended Abstract]Community Finding with Applications on Phylogenetic Networks [Extended Abstract]
Community Finding with Applications on Phylogenetic Networks [Extended Abstract]
 

More from Rafael C. Jimenez

BMB Resource Integration Workshop
BMB Resource Integration WorkshopBMB Resource Integration Workshop
BMB Resource Integration Workshop Rafael C. Jimenez
 
Proteomics repositories integration using EUDAT resources
Proteomics repositories integration using EUDAT resourcesProteomics repositories integration using EUDAT resources
Proteomics repositories integration using EUDAT resourcesRafael C. Jimenez
 
Summary of Technical Coordinators discussions
Summary of Technical Coordinators discussionsSummary of Technical Coordinators discussions
Summary of Technical Coordinators discussionsRafael C. Jimenez
 
The European life-science data infrastructure: Data, Computing and Services ...
The European life-science data infrastructure: Data, Computing and Services ...The European life-science data infrastructure: Data, Computing and Services ...
The European life-science data infrastructure: Data, Computing and Services ...Rafael C. Jimenez
 
Standardisation in BMS European infrastructures
Standardisation in BMS European infrastructuresStandardisation in BMS European infrastructures
Standardisation in BMS European infrastructuresRafael C. Jimenez
 
An introduction to programmatic access
An introduction to programmatic accessAn introduction to programmatic access
An introduction to programmatic accessRafael C. Jimenez
 
Life science requirements from e-infrastructure: initial results from a joint...
Life science requirements from e-infrastructure:initial results from a joint...Life science requirements from e-infrastructure:initial results from a joint...
Life science requirements from e-infrastructure: initial results from a joint...Rafael C. Jimenez
 
Technical activities in ELIXIR Europe
Technical activities in ELIXIR EuropeTechnical activities in ELIXIR Europe
Technical activities in ELIXIR EuropeRafael C. Jimenez
 
Challenges of big data. Summary day 1.
Challenges of big data. Summary day 1.Challenges of big data. Summary day 1.
Challenges of big data. Summary day 1.Rafael C. Jimenez
 
Challenges of big data. Aims of the workshop.
Challenges of big data. Aims of the workshop.Challenges of big data. Aims of the workshop.
Challenges of big data. Aims of the workshop.Rafael C. Jimenez
 
Data submissions and archiving raw data in life sciences. A pilot with Proteo...
Data submissions and archiving raw data in life sciences. A pilot with Proteo...Data submissions and archiving raw data in life sciences. A pilot with Proteo...
Data submissions and archiving raw data in life sciences. A pilot with Proteo...Rafael C. Jimenez
 
ELIXIR and data grand challenges in life sciences
ELIXIR and data grand challenges in life sciencesELIXIR and data grand challenges in life sciences
ELIXIR and data grand challenges in life sciencesRafael C. Jimenez
 
SASI, A lightweight standard for exchanging course information
SASI, A lightweight standard for exchanging course informationSASI, A lightweight standard for exchanging course information
SASI, A lightweight standard for exchanging course information Rafael C. Jimenez
 

More from Rafael C. Jimenez (20)

BMB Resource Integration Workshop
BMB Resource Integration WorkshopBMB Resource Integration Workshop
BMB Resource Integration Workshop
 
ELIXIR
ELIXIRELIXIR
ELIXIR
 
Proteomics repositories integration using EUDAT resources
Proteomics repositories integration using EUDAT resourcesProteomics repositories integration using EUDAT resources
Proteomics repositories integration using EUDAT resources
 
ELIXIR
ELIXIRELIXIR
ELIXIR
 
Summary of Technical Coordinators discussions
Summary of Technical Coordinators discussionsSummary of Technical Coordinators discussions
Summary of Technical Coordinators discussions
 
ELIXIR
ELIXIRELIXIR
ELIXIR
 
The European life-science data infrastructure: Data, Computing and Services ...
The European life-science data infrastructure: Data, Computing and Services ...The European life-science data infrastructure: Data, Computing and Services ...
The European life-science data infrastructure: Data, Computing and Services ...
 
Standardisation in BMS European infrastructures
Standardisation in BMS European infrastructuresStandardisation in BMS European infrastructures
Standardisation in BMS European infrastructures
 
ELIXIR
ELIXIRELIXIR
ELIXIR
 
ELIXIR
ELIXIRELIXIR
ELIXIR
 
Standards
StandardsStandards
Standards
 
ELIXIR TCG update
ELIXIR TCG updateELIXIR TCG update
ELIXIR TCG update
 
An introduction to programmatic access
An introduction to programmatic accessAn introduction to programmatic access
An introduction to programmatic access
 
Life science requirements from e-infrastructure: initial results from a joint...
Life science requirements from e-infrastructure:initial results from a joint...Life science requirements from e-infrastructure:initial results from a joint...
Life science requirements from e-infrastructure: initial results from a joint...
 
Technical activities in ELIXIR Europe
Technical activities in ELIXIR EuropeTechnical activities in ELIXIR Europe
Technical activities in ELIXIR Europe
 
Challenges of big data. Summary day 1.
Challenges of big data. Summary day 1.Challenges of big data. Summary day 1.
Challenges of big data. Summary day 1.
 
Challenges of big data. Aims of the workshop.
Challenges of big data. Aims of the workshop.Challenges of big data. Aims of the workshop.
Challenges of big data. Aims of the workshop.
 
Data submissions and archiving raw data in life sciences. A pilot with Proteo...
Data submissions and archiving raw data in life sciences. A pilot with Proteo...Data submissions and archiving raw data in life sciences. A pilot with Proteo...
Data submissions and archiving raw data in life sciences. A pilot with Proteo...
 
ELIXIR and data grand challenges in life sciences
ELIXIR and data grand challenges in life sciencesELIXIR and data grand challenges in life sciences
ELIXIR and data grand challenges in life sciences
 
SASI, A lightweight standard for exchanging course information
SASI, A lightweight standard for exchanging course informationSASI, A lightweight standard for exchanging course information
SASI, A lightweight standard for exchanging course information
 

Recently uploaded

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Bookvip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Bookmanojkuma9823
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAbdelrhman abooda
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 

Recently uploaded (20)

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Bookvip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptxAmazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
Amazon TQM (2) Amazon TQM (2)Amazon TQM (2).pptx
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 

Java tutorial: Programmatic Access to Molecular Interactions