Magallanes Help
On-line updated information available at:
http://www.bitlab-es.com/magallanes
Javier Rios
Oswaldo Trelles
2
Index
1 INTRODUCTION ............................................................................................................................3
1.1 STATE OF ART ............................................................................................................................3 1.2 WHAT’S MAGALLANES ..............................................................................................................3 1.3 AND VICTORIA? .........................................................................................................................3 1.4 WHY MAGALLANES AND VICTORIA? .........................................................................................4
2 INSTALLATION..............................................................................................................................5
2.1 ZIPPED VERSION .........................................................................................................................5 2.2 JAVA WEB START VERSION (JNLP) ...........................................................................................5 2.3 WEB VERSION ............................................................................................................................5
3 USING MAGALLANES ..................................................................................................................6
3.1 REPOSITORIES ............................................................................................................................6 3.2 RESOURCES................................................................................................................................6 3.3 SEARCH TYPES ...........................................................................................................................6 3.4 SEARCH OPTIONS........................................................................................................................6 3.5 WORKFLOW GENERATOR ...........................................................................................................6
4 EXAMPLE ........................................................................................................................................8
5 MAGALLANES FOR DEVELOPERS.........................................................................................13
5.1 USING MAGALLANES AS A PLUGIN ..........................................................................................13 5.2 USING THE VICTORIA SEARCH ENGINE .....................................................................................13
6 FULL LIST OF REFERENCES ...................................................................................................15
3
1 Introduction
1.1 State of art
Typically, clients that exploit repositories supply some mechanism to help in the
discovery process, most of them with syntactic orientation. In this section we are going
to describe the state of the art in discovering processes:
● MowServ:
+ Number of hits.
+ Highlight the hits in the full list of available resources (tree organization).
- Need to expand the tree to identify the hits.
- Diaply all resources (no-way to shown only the hits).
- Search limited to full string matching (allows for intermediate spaces).
● Seehawk:
+ From a text file it shows the services that can be compatibles with that file as
input.
- It doesn't perform any type of search.
● Remora:
+ Search Services compatibles with a DataType.
- It performs a search like MowServ (full string matching).
● Taverna:
- Doesn't shows the number of hits.
- Doesn't purge the tree removing the unmatched elements.
- Highlights the services that hits but doesn't mark the matches.
- Only search on the services' name.
- Only perform full string searches.
1.2 What’s Magallanes
Magallanes is a versatile and platform-independent search client that helps in the
discovery of services and datatypes specially oriented to deal with repositories of web-
services and associated datatypes. A service or data-type discovery process aims to
identify the set of services or data-types that satisfy a given number of constraints from
the pool of all the available (e.g. what services are available to process my sequence?).
Typically, clients that exploit these repositories supply some mechanism to help in the
discovery process, most of them with syntactic orientation such as search for web
services by name and also by function or input or output parameters. Text search
functionality over the service’s name is also frequent in clients. However, for the final
user this type of syntactic discovering process is not efficient since it assume a user-
knowledge on the names of objects or services. Magallanes offers the necessary
architecture for flexible and expandable identification of Web-services in such a way
they can increase the client capabilities and enforce the integration process.
1.3 And Victoria?
Victoria is the core of Magallanes, a search engine that assigns a score for each
resource and orders the results by relevance. Victoria allows the implementation of
search clients without graphic interface or without Magallanes as graphic interface.
4
1.4 Why Magallanes and Victoria?
Ferdinand Magellan (Magallanes) (Spring 1480 – April 27, 1521, Mactan Island,
Cebu, Philippines) was a Portuguese maritime explorer who, while in the service of the
Spanish Crown, tried to find a westward route to the Spice Islands of Indonesia. This
was the first successful attempt to circumnavigate the Earth in history. Although he did
not complete the entire voyage (he was killed during the Battle of Mactan in the
Philippines) fellow Basque-navigator Juan Sebastian Elcano completed the final
westward voyage. As Magellan traveled farther west than the Spice Islands, which he
had visited on earlier voyages from the west, he became one of the first individuals to
cross all the meridians of the globe. He was the first person to lead an expedition sailing
westward from Europe to Asia and to cross the Pacific Ocean.
Victoria was the first ship to successfully circumnavigate the world. The voyage
was lead by Ferdinand Magellan and was accompanied by four other ships. Of this fleet
of five, Victoria was the only ship to complete the voyage. Magellan himself was killed
in the Philippines. This ship along with the others was given to Magellan by King
Charles V of Spain. Victoria was named after the church of Santa Maria de la Victoria
de Triana, where Magellan took an oath of allegiance to Charles V in order to be
granted full access to the Spice Islands.
5
2 Installation
You can download Magallanes from our web site: http://www.bitlab-
es.com/magallanes
2.1 Zipped version
For use this version you need the next requisites:
• An application to unzip the file.
• Java 6 or greater.
You only need to unzip the file where you want and run Magallanes.bat
(Windows systems) or Magallanes.sh (Linux-like systems).
2.2 Java Web Start version (JNLP)
For use this version you need the next requisites:
• Java 6 or greater.
Simply click on the “Magallanes (Java Web Start)” link on our web page and it
will be installed automatically.
2.3 Web version
This is a web based version and can be used from either web navigator and it is
used like any web search engine.
6
3 Using Magallanes
Magallanes works like any search engine; you must select the repository where
you want to perform the search, the type of search and a query. Magallanes will show
you a list of results ordered by relevancy.
3.1 Repositories
You have different repositories available for perform the search.
You can search on a specific repository or on all the repositories at the same
time.
3.2 Resources
Magallanes can search DataTypes, Services and ServiceTypes. You can select
what resources you want to search.
For example you can search “sequence” only on DataTypes or “aminoacid
sequence” on all the resources.
3.3 Search types
You have 3 types of search available:
• AND: the results must have all the words of the query.
• OR: the results must have almost one of the query's words.
• REGEX: the query is read as a regular expression and the results will
have almost one match on the results.
3.4 Search options
You have more options available for configure your search:
• Case Sensitive: Select this option if you want to distinguish lowercase
and uppercase.
• Follow Links: With this option when Magallanes is calculating the score
of a service will follow the links on the help and include the content of
that in the search.
3.5 Workflow generator
Magallanes can help you to build a workflow with the workflow generator tool
available on the standalone and JNLP versions of Magallanes.
In order to use this tool, you may select the repo that you want to use and select
the workflow's source and target datatypes.
7
To select the datatypes you have two options:
• On the Search tab, find the desired datatype, right click over it and
select “Set as workflow's source” or “Set as workflow's target”.
• On the Workflows tab you can try to write directly the datatype id on
the Soruce or Target text box. If you press the down key on your
keyboard, it will show you a list of the matching datatypes.
When you have selected the Source and Target datatypes, you can click the
button Generate Workflow.
After a little moment, you could show the generated workflow.
The workflows generates by Magallanes are really pipelines, the branches that
you can see on the graph are the different services (Green boxes) or datatypes (Orange
boxes) that you can use. To select one service/datatype double click over it and the other
branches will disappear. If you want to undo the last change you must right click on the
graph.
8
4 Example
1. Searching for a datatype: use “sequence” as keyword
a. It’s noteworthy to observe the “did you mean XXX” ability. Magallanes when a word is not found is able to recommend a close
alternative. In this case is a misprinting error “se1uence”.
2. Identify the datatype and use it as WF’s source (using the right click popup menu).
1.
1.a.
2.
9
3. Now you can check that the source has been set successful.
4. Now you can search another datatype going to the Search tab again or try to find it writing a part of his name into the target box.
4.
3.
10
5. When you have selected the source and target datatypes, you can click the Generate Workflow button.
6. The workflow generated has multiple branches indicating all the paths to go from AminoAcidSequence to BLAST-Text.
5.
6.
11
7. If you want to select one of the options you must double click over the service that you want in your workflow.
7.
13
5 Magallanes for Developers
5.1 Using Magallanes as a Plugin
In order to use the Magallanes GUI in your application, you can use the
Magallanes API as you can see on the next example:
//We need a panel to insert the Magallanes GUI:
JPanel pnlPlugin;
...
//Set the repository (Manual):
Repo repo = newRepoManual(name,dataTypeModule,serviceModule,serviceTypeModule);
SharedInfo.getSharedInfo().setCurrentRepo(repo);
//Create the search on the panel:
SearchGUI searchPlugin = new SearchGUI(pnlPlugin);
//Add a listener for receive the events from Magallanes:
searchPlugin.addResultListener(new MyResultListener());
...
public class MyResultListener implements ResultListener {
public void resourceSelected(DataType dt) {
//This function will be called on double click over a DataType
...
}
public void resourceSelected(Service srv) {
//This function will be called on double click over a Service
...
}
public void resourceSelected(ServiceType st) {
//This function will be called on double click over a ServiceType
...
}
}
5.2 Using the Victoria search engine
If you want to use Magallanes but you have your own GUI, you can use Victoria
directly:
//You must have a list of resources (from the modular api) where perform the search:
//(e.g. DataTypes)
List<DataTypes> datatypes;
List<Resource> source = Resource.newResource(datatypes);
//'search' is the seaarch query:
String search;
//'caseSensitive' if you want to distinguish between uppercase and lowercase:
boolean caseSensitive;
//'type' is the type of search to perform (the values are defined on the enum type EType and they are
//AND,OR y REGEX):
EType type;
...
//Create a new search engine (Victoria):
SearchEngine se = new SearchEngine(source, search, cs, type);
//Perform the search and take the results:
List<Resource> res = se.search();
...
14
And if you want to use the “Did you mean...” functionality:
//'se' is the search engine created previously:
//Get the DidYouMean object:
DidYouMean dym = se.didYouMean();
//Now you can iterate over the “did you mean” prediction.
//The elements will be ordered by relevancy:
for(List<String> search : dym) {
//'search' will be the query words fixed:
//Now you can show to the user the query and let he to decide.
}
15
6 Full list of references • Ahab, a tool for surfing the BioMoby sea.
http://bioinfo.icapture.ubc.ca/bgood/Ahab.html
• BioMoby Dashboard. http://biomoby.open-bio.org/CVS_CONTENT/moby-
live/Java/docs/Dashboard.html
• Carrere S, Gouzy J.; Remora: a pilot in the ocean of biomoby web-services.
Bioinformatics, ( (2006) ) 22, : 900–901.
• Oinn T, et al. Taverna: a tool for the composition and enactment of
bioinformatics workflows. Bioinformatics, (2004) 20, : 3045–3054.
• Gordon Paul M.K., Trinh Quang and Sensen Christoph W.; (2007) Semantic
Web Service provision: a realistic framework for Bioinformatics programmers;
Bioinformatics 23(9):1178-1180
• Gordon P.M.K., Sensen C.W. (2007) Seahawk: Moving Beyond HTML in Web-
based Bioinformatics Analysis. BMC Bioinformatics 8:208.
• Levenshtein, V.I.; Binary codes capable of correcting deletions, insertions, and
reversals. Soviet Physics Doklady 10 (1966):707–710.
• myGrid project: http://www.mygrid.org.uk/
• Navas-Delgado I, et al. Intelligent client for integrating bioinformatics services.
Bioinformatics, ( (2006) ) 22, : 106–111.
• Ramirez S, Karlsson J, … TEMU
• Wilkinson M.D., Gessler D., Farmer A., Stein L. (2003). The Bio-MOBY
Project Explores Open-Source, Simple, Extensible Protocols for Enabling
Biological Database Interoperability. Pro-ceedings Virtual Conference Genomic
and Bioinformatics (3):16-26. (ISSN 1547-383X)
• Wilkinson M. Gbrowse moby: a web-based browser for biomoby services.
Source Code for Biology and Medicine, ( (2006) ) 1, : 4.
• Wroe Chris, Stevens Robert, Goble Carole, Roberts Angus, Greenwood Mark;
(2003), A suite of daml+oil ontologies to describe bioinformatics web services
and data; International Journal of Cooperative Information Systems special issue
on Bioinformatics, ISSN: 0218-8430