genomedia, a middleware platform for distributed genomic information p.e. gros, j. hérisson,...
TRANSCRIPT
GenoMEDIA,
a Middleware Platform
for Distributed Genomic Information
P.E. Gros, J. Hérisson, N.Ferey, R.Gherbi
LIMSI-CNRS
Université Paris-Sud,
Orsay, France
Huge, Distributed and HeterogeneousInformation (example of E. coli K12)
gcgtataacgtattattctggtcgcacccgccagagcagaaaatattggggcagcggcgcgggcaa
MRITIILVAPARAENIGAAARAMKTMGFSDLRIVDSQAHLEPATRWVAHGSGDIIDNIKVFPTLAESLHDVDFTVATTARSRAKYHYYATPVELVPLLEEKSSWMSHAALVFGREDSGLTNEELALADVLTGVPMVADYPSLNLGQAVVATTA
Integration
• Need of data/tool integration and visualization– Goals
• To allow users (biologists) to link tools and databases
• To offer some kind of integration transparency
• To propose a visualization paradigm suitable for huge data exploration by users (biologists)
– « distributed » approach• Communication ??
• Location ??
GenoMEDIA Approach
DBDB
Tool
Tool(pubmedlink)
Tool(entropy)
Unified DBSQL
Select entropyentropy(sequence) from S_cerevisiae where PubMedLinkPubMedLink(‘lastT’, name)>.5
Agent1 ??
ANS : Application Naming Service service location, group notion, no centralization,
loadbalancing
Agent 1(0)
Agent 1(1)
Agent 2cache
cache
cache
Clientcache
??????
??????
Agent 1(0):(loc 1,charge 1)
Agent 1(0):(loc 1,charge 1)
Agent 1(0):(loc 1,charge 1)
Location
Lydia : Communication
• We want :
– An efficient communication scheme• Futur model
– A transparent communication model• Encapsulation
– A multi-platform interface through LDL• (C/C++, Java, SQL...)
Lydia Example (entropy, curvature)
TypeAbstract Math_ADN{calcul_entropy(String s):floatcalcul_Curvature(String s) :float}
class Math_ADN: public Servant{private value calcul(value v)public ://to implemente float calcul_entropy(char * s) float calcul_Curvature(char *s)}
Interface in C++ for the Servant
class Math_ADN : public Call{ public :static Future * calcul_entropy(char * s)staticFuture * calcul_Curvature(char *s)
}
Interface in C++ for the Client
Compilation of the script for the Servant
Compilation of the script for the Client
Lydia, ANS, GenoMEDIA
Through the LDL, Lydia et ANS links components to a Database
Select generate_coord3Dgenerate_coord3D(sequence) from S_cerevisiae where PubMedLinkPubMedLink(‘lastT’, name)>.5
Sequence S. cerevisiae SGBD
generate_coord3Dgenerate_coord3D et PubMedLink LydiaC_x | C_y | C_z | W_x | W_y| W_z-4.71 | 3.31 | 2.97 | 4.75 | 3.45 | -2.82 2.16 | 6.25 | 5.22 | 2.23 | 7.28 | -4.58
GenoMEDIA Stack
SQL SGBD
SQL Translator
JVM
ANS
Lydia
Agent Stub
RMI Direct
Native
DNS Naming
JDBC, ODBC, PHP,QT……
An Application View of GenoMEDIA
Conclusions & prospects
• A good tools integration
• A good Database integration through “view notion”
• We look for a good representation and exploration of generated data (Virtual Reality ?)
• We look for a good integration GUI
GenoMEDIA data flow
User function(skeletton)
Lydia ANSIP mTCP/IP
User function(stub)
Lydia ANSIP mTCP/IP
Genomic Database(Genbank)
SGDB
HTTPDWeb Browser http
Applications Xml
First results : factual data