Swiss-Prot 20 Talks on Google Video
Eric Jain has published the videos of the talks that happened during the "20th Anniversary of Swiss Prot": see http://eric.jain.name/2007/08/10/swiss-prot-20-talks-on-google-video/
Eric Jain has published the videos of the talks that happened during the "20th Anniversary of Swiss Prot": see http://eric.jain.name/2007/08/10/swiss-prot-20-talks-on-google-video/
Publié par
Pierre Lindenbaum
at
6:24 PM
0
commentaires
Libellés : bioinformatics, swissprot, video
Tim Yates is one of the latest member who joined the bioinformatics group on 'Nature Network'. Dr Yates works as a Research Programmer at the Paterson Institute for Cancer Research. On his web page is introduced X:MAP: an interactive, real-time scrollable, genome browser that shows the location of individual exon probes with respect to their target genes, transcripts and exons.
X:Map is a genome browser (http://xmap.picr.man.ac.uk/) which uses the google map API and the data from Ensembl. The result is really neat.
see also: AJAXification of genome browsers on NN.
Publié par
Pierre Lindenbaum
at
7:12 PM
3
commentaires
Libellés : ajax, api, bioinformatics, browser, genomics, google
Publié par
Pierre Lindenbaum
at
10:36 PM
7
commentaires
Libellés : scifoo
Via NodalPoint.
Keynote talk from Carole Goble at BOSC SIG from ISMB 2007 in Vienna, July 2007.
Publié par
Pierre Lindenbaum
at
9:01 PM
2
commentaires
Libellés : bioinformatics, biology, format, lsid, presentation, xml
This post is my notes about LSID but it has nothing todo with the current "LSID wars".
There is no or no good documentation about the life science identifiers(LSID). Did you just try to read the specs ? houch... I'm a biologist not a network engineer. Fortunately the sources of the firefox add-on for LSID where very informative. It shows what happen when you enter a LSID in the browser. (Note: Roderic Page has also implemented is own firefox extension for LSID, see http://lsid.mozdev.org/))
Say, you have a LSID identifier:
authority. By default the plugin looks at http://ubio.org:9090/authority to find a "WSDL" file.
Publié par
Pierre Lindenbaum
at
8:59 PM
0
commentaires
Libellés : bioinformatics, lsid, rdf, semantic web

The annual "Web Server Issue" of "Nucleic Acids Research" is available at :http://nar.oxfordjournals.org/content/vol35/suppl_2/index.dtl?etoc. This issue reports on 130 web servers.
Pierre
Publié par
Pierre Lindenbaum
at
5:09 PM
0
commentaires
Libellés : bioinformatics, journal
"URL +1, LSID -1" is the name of the current thread on "public-semweb-lifesci":
http://www.mail-archive.com/public-semweb-lifesci@w3.org/index.html#02766
This discussion (worth looking) is about the life science identifier 'LSID) and it was started by Eric Jain:
lsid:ncbi.nlm.nih.gov:pubmed:12507336 instead of http://www.ncbi.nlm.nih.gov/sites/entrez?Db=pubmed&Cmd=ShowDetailView&TermToSearch=12507336&ordinalpos=1&itool=EntrezSystem2.PEntrez.Pubmed.Pubmed_ResultsPanel.Pubmed_RVDocSum or http://www.ncbi.nlm.nih.gov/sites/entrez?Db=pubmed&Cmd=ShowDetailView&uid=12507336. (Note that the two later URL are not the same but they point to the same article). An LSID resolver can also be used to find/discover some other (RDF based) properties about your object.lsidres:".
(...)
LsidModule.registerSelf = function (compMgr, location, loaderStr, type){
// http://developer.mozilla.org/xpcom/api/nsIComponentRegistrar/
compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
compMgr.registerFactoryLocation(LSIDPROT_HANDLER_CID,
"Protocol handler for LSID",
"@mozilla.org/network/protocol;1?name=lsidres",
location, loaderStr, type);
}
(...)
Publié par
Pierre Lindenbaum
at
12:23 PM
0
commentaires
Libellés : bioinformatics, extension, firefox, lsid, rdf, semantic web
Google gears is an open source browser extension that enables web applications to provide offline functionality. The data are stored locally in a fully-searchable relational database using the sqlite engine.
My Biological Network is a tool I created as a test to play with Google gears: it is used to build a network of protein-protein interactions. It uses Google Gears to record your entries on the local disk, so Gears needs to be installed on your computer. Programming with gears with JAVASCRIPT is really cool as you don't have to implement the storage of the data on the server side and you're using some standard SQL statements to handle the data.
On my computer, the database is stored in /env/islande/home/lindenb/.mozilla/firefox/<profile-id>/Google Gears for Firefox/islande/<host>/mynetwork#database. The database can be manualy accessed using sqlite3:
sqlite3 mynetwork#database
SQLite version 3.4.0
Enter '.help' for instructions
sqlite> .tables
component interactionhash paper technology
interaction organism prote
sqlite> .schema organism
CREATE TABLE organism(id integer primary key ,name varchar(50) not null unique);
sqlite> select * from organism;
9606|Homo Sapiens
sqlite>
We the page is loaded, we check that gears was installed
if (!window.google || !google.gears) {
debug("NOTE: You must install Google Gears first.")
We then create the database if does not exist. The file is created in firefox in ${HOME}/.mozilla/firefox/<profile-id>/Google Gears for Firefox/<server>/mynetwork#database
connection = google.gears.factory.create("beta.database","1.0");I create the tables just by invoking some standards SQL 'CREATE TABLE' statements. I also insert some default values (e.g. human organism)
connection.execute("create table if not exists organism(id integer primary key ,name varchar(50) not null unique)");
connection.execute("insert or ignore into organism(id,name) values(9606,\"Homo Sapiens\")");
connection.execute("create table if not exists protein(id integerprimary key autoincrement,name varchar(50) not null,taxId int not null,acn varchar(50) not null unique)");
connection.execute("create table if not exists paper(pmid integerprimary key ,title varchar(255) not null,citation varchar(255) not null,firstAuthor varchar(50) not null)");
connection.execute("create table if not exists component(id integer primary key autoincrement,go varchar(50) not null unique, name varchar(50) not null unique)");
connection.execute("insert or ignore into component(go,name) values(\"GO:0005575\",\"cellular component\")");
connection.execute("insert or ignore into component(go,name) values(\"GO:0008372\",\"cellular component unknown\")");
connection.execute("create table if not exists technology(id integer primary key autoincrement,name varchar(50) not null unique, description varchar(255) not null)");
connection.execute("insert or ignore into technology(name,description) values(\"Y2H\",\"Yeast Two Hybrid System\")");
connection.execute("insert or ignore into technology(name,description) values(\"CoIP\",\"Co-Immuno Precipitation\")");
connection.execute("create table if not exists interaction(id integer primary key autoincrement, name varchar(50) not null unique,description varchar(255) not null)");
connection.execute("create table if not exists interactionhash(id integer primary key autoincrement,LINK_interaction int ,type varchar(20) not null,child int not null)");
When a data is about to be inserted we check all the fields and we insert them using SQL: INSERT INTO
var id= getById("organism-input-id");
if(!isInteger(id.value))
{
debug("TaxId not a Number");
return;
}
var name=getById("organism-input-name");
if(trim(name.value).length==0)
{
debug("Taxon Name empty");
return;
}
try
{
connection.execute("insert into organism(id,name) values("+sqlescape(trim(id.value))+","+sqlquote(trim(name.value))+")");
id.value="";
name.value="";
}
catch(err)
{
debug(err.message);
return;
}
a simple SELECT is used to retrieve the data and insert them in a HTML table
var rs= connection.execute("select id,name from organism order by name");
while (rs.isValidRow())
{
var tr= ce("tr");
table.appendChild(tr);
var td= ce("td");
tr.appendChild(td);
td.appendChild(ct(rs.field(0)));
td= ce("td");
tr.appendChild(td);
var a= ce("a");
a.setAttribute("title","Open in NCBI");
a.setAttribute("target","tax"+rs.field(0));
a.setAttribute("href","http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id="+rs.field(0));
td.appendChild(a);
a.appendChild(ct(rs.field(1)));
rs.next();
}
rs.close();
Publié par
Pierre Lindenbaum
at
9:49 PM
3
commentaires
Libellés : bioinformatics, firefox, gears, google, javascript, lsid, mozilla, network, ontology, protein, pubmed, rdf, science, semantic web, sql, sqlite, systems biology
In a recent post in NodalPoint, Paulo Nuin wrote a call for participation for his interviews in SciView. Here below are the questions I would suggest. I will try to submit this interview as soon I'll have time for this...
Publié par
Pierre Lindenbaum
at
9:31 PM
0
commentaires