<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-14688252</id><updated>2012-01-31T00:23:18.829+01:00</updated><category term='biogang'/><category term='ancestors'/><category term='flash'/><category term='stax'/><category term='processing'/><category term='mediawiki'/><category term='wereallgoingtodie'/><category term='pumed'/><category term='collaboration'/><category term='community'/><category term='mircorarray'/><category term='folding'/><category term='nature'/><category term='adobe'/><category term='parsing'/><category term='api'/><category term='applet'/><category term='bioinformatics'/><category term='cookie'/><category term='owl'/><category term='asn1'/><category term='job'/><category term='freebase'/><category term='knime'/><category term='git'/><category term='extension'/><category term='rss'/><category term='oreilly'/><category term='video'/><category term='nosql'/><category term='xhtml'/><category term='c++'/><category term='seti'/><category term='ncbi'/><category term='visualization'/><category term='genetics'/><category term='java'/><category term='xsd'/><category term='webservices'/><category term='friendfeed'/><category term='aop'/><category term='information'/><category term='graphics'/><category term='ebi'/><category term='format'/><category term='chemistry'/><category term='networking'/><category term='snp'/><category term='pdf'/><category term='c'/><category term='genealogy'/><category term='rest'/><category term='multithread prime'/><category term='interview'/><category term='report'/><category term='annotation'/><category term='flickr'/><category term='network'/><category term='framework'/><category term='velocity'/><category term='tree'/><category term='designpatterns'/><category term='json'/><category term='operon'/><category term='molecular biology'/><category term='google'/><category term='ruby'/><category term='feeds'/><category term='darwin'/><category term='geneontology'/><category term='mail'/><category term='education'/><category term='thesis'/><category term='biomoby'/><category term='xforms'/><category term='scifoo07'/><category term='perl'/><category term='cxf'/><category term='das'/><category term='tomcat'/><category term='protocols'/><category term='wsdl'/><category term='javacc'/><category term='xul'/><category term='grid'/><category term='toolbox'/><category term='rosetta'/><category term='ngs'/><category term='lsid'/><category term='node'/><category term='xquery'/><category term='sparql'/><category term='batik'/><category term='biology'/><category term='systems'/><category term='animation'/><category term='structured'/><category term='sax'/><category term='access'/><category term='canvas'/><category term='code'/><category term='nnb'/><category term='flex2'/><category term='boinc'/><category term='inkscape'/><category term='sping'/><category term='ecology'/><category term='curses'/><category term='paper'/><category term='ibd'/><category term='foaf'/><category term='del.icio.us'/><category term='knowledge'/><category term='drawing'/><category term='nci'/><category term='sqlite'/><category term='factor'/><category term='engine'/><category term='xslt'/><category term='post'/><category term='web desktop'/><category term='wikipedia'/><category term='cgi'/><category term='interaction'/><category term='diagram'/><category term='sql'/><category term='drools'/><category term='twitter'/><category term='administration'/><category term='mathematics'/><category term='gdd07'/><category term='server'/><category term='jjtree'/><category term='university'/><category term='taverna'/><category term='documentation'/><category term='ceph'/><category term='geni'/><category term='erlang'/><category term='france'/><category term='gwt'/><category term='art'/><category term='ontology'/><category term='validation'/><category term='mapreduce'/><category term='presentation'/><category term='library'/><category term='hadoop'/><category term='firefox'/><category term='formatdb'/><category term='linkage'/><category term='jni'/><category term='css'/><category term='spring'/><category term='tips'/><category term='doi'/><category term='journal'/><category term='treemap'/><category term='family'/><category term='simile'/><category term='citation'/><category term='greasemonkey'/><category term='generator'/><category term='connotea'/><category term='taxonomy'/><category term='abstract'/><category term='xml'/><category term='scientists'/><category term='mysql'/><category term='pcr'/><category term='sequence'/><category term='semantic web'/><category term='kml'/><category term='ubiquity'/><category term='geek'/><category term='gdd07fr'/><category term='algorithm'/><category term='flex'/><category term='filter'/><category term='bees'/><category term='batch'/><category term='arq'/><category term='ensembl'/><category term='fop'/><category term='gears'/><category term='jaxws'/><category term='svg'/><category term='book;system'/><category term='html'/><category term='impact'/><category term='keyvalue'/><category term='blast'/><category term='fun'/><category term='slide'/><category term='boston'/><category term='pedigree'/><category term='node.js'/><category term='couchdb'/><category term='gedcom'/><category term='wiki'/><category term='chemoinformatics'/><category term='pnas'/><category term='javascript'/><category term='dbpedia'/><category term='fuse'/><category term='timeline'/><category term='systems biology'/><category term='udf'/><category term='dia'/><category term='jena'/><category term='glassfish'/><category term='map'/><category term='ucsc'/><category term='social'/><category term='dot'/><category term='graph'/><category term='graphviz'/><category term='curl'/><category term='mesh'/><category term='BioHackathon'/><category term='evolution'/><category term='form'/><category term='hdf5'/><category term='rdf'/><category term='spreadsheet'/><category term='ibm'/><category term='xsl-fo'/><category term='python'/><category term='browser'/><category term='internet'/><category term='script'/><category term='open'/><category term='genomics'/><category term='hapmap'/><category term='postscript'/><category term='database'/><category term='science'/><category term='nar'/><category term='apache'/><category term='linux'/><category term='javafx'/><category term='hibernate'/><category term='berkeleydb'/><category term='ant'/><category term='soap'/><category term='tool'/><category term='php'/><category term='ajax'/><category term='programming'/><category term='tutorial'/><category term='gis'/><category term='r'/><category term='jsp'/><category term='sketch'/><category term='lucene'/><category term='mongodb'/><category term='go'/><category term='chart'/><category term='blog'/><category term='variation'/><category term='slidy'/><category term='pubmed'/><category term='time'/><category term='french'/><category term='source'/><category term='protein'/><category term='3D'/><category term='web2.0'/><category term='swissprot'/><category term='publlicaton'/><category term='history'/><category term='search'/><category term='japan'/><category term='quotes'/><category term='article'/><category term='publication'/><category term='slri'/><category term='mozilla'/><category term='parser'/><category term='scifoo'/><category term='vcf'/><title type='text'>YOKOFAKUN</title><subtitle type='html'>A blog about bioinformatics, semantic web, comics and social networks.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default?start-index=101&amp;max-results=100'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>477</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14688252.post-4445706743726837756</id><published>2012-01-31T00:23:00.000+01:00</published><updated>2012-01-31T00:23:18.861+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ontology'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='go'/><title type='text'>Inside the Variation Toolkit: Tools for Gene Ontology</title><summary type='text'>GeneOntologyDbManager is a C++ tool that is part of my experimental Variation Toolkit.
This program is a set of tools for GeneOntology, it is based on the sqlite3 library.




Download
Download the sources from Google-Code using subversion:....
svn checkout http://variationtoolkit.googlecode.com/svn/trunk/ variationtoolkit-read-only
... or update the sources of an existing installation... 
cd </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4445706743726837756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4445706743726837756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4445706743726837756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4445706743726837756'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2012/01/inside-variation-toolkit-tools-for-gene.html' title='Inside the Variation Toolkit: Tools for Gene Ontology'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2209684938126987384</id><published>2012-01-28T16:03:00.000+01:00</published><updated>2012-01-28T16:03:19.804+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vcf'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>Inside the variation toolkit: VCF2XML</title><summary type='text'>vcf2xml is C++ tool that is part of my Variation Toolkit.
It transforms a "Variant Call Format document" to XML, so it can be later processed with xslt, xquery, etc...









Dependencies

libxml http://xmlsoft.org/


Download
Download the sources from Google-Code using subversion:....
svn checkout http://variationtoolkit.googlecode.com/svn/trunk/ variationtoolkit-read-only
... or update the </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2209684938126987384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2209684938126987384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2209684938126987384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2209684938126987384'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2012/01/inside-variation-toolkit-vcf2xml.html' title='Inside the variation toolkit: VCF2XML'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3871534092359867423</id><published>2012-01-28T15:51:00.000+01:00</published><updated>2012-01-28T15:51:11.340+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vcf'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Insert your VCFs in a sqlite database.</title><summary type='text'>vcf2sqlite is C++ tool that is part of my Variation Toolkit.
It inserts a "Variant Call Format document" (VCF) into a sqlite3 database.







Download
Download the sources from Google-Code using subversion:....
svn checkout http://variationtoolkit.googlecode.com/svn/trunk/ variationtoolkit-read-only
... or update the sources of an existing installation... 
cd variationtoolkit
svn update
... and </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3871534092359867423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3871534092359867423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3871534092359867423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3871534092359867423'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2012/01/insert-your-vcfs-in-sqlite-database.html' title='Insert your VCFs in a sqlite database.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3250891501288547937</id><published>2012-01-07T12:03:00.000+01:00</published><updated>2012-01-07T12:04:50.327+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><category scheme='http://www.blogger.com/atom/ns#' term='cgi'/><title type='text'>A CGI-version of samtools tview.</title><summary type='text'>I've created a lightweight CGI-based web-application for samtools tview. This C++ program named ngsproject.cgi uses the samtools api, it allows any user to visualize all the alignments in a given NGS project. The projects and their BAMS are defined on the server side using a simple XML document. e.g: 
&lt;?xml version="1.0"?&gt;
&lt;projects&gt;
 &lt;reference id="hg19"&gt;
  &lt;path&gt;/home/lindenb/samtools-0.1.18/</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3250891501288547937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3250891501288547937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3250891501288547937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3250891501288547937'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2012/01/cgi-version-of-samtools-tview.html' title='A CGI-version of samtools tview.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-795325657043164571</id><published>2012-01-05T20:40:00.001+01:00</published><updated>2012-01-05T20:41:31.083+01:00</updated><title type='text'>The Variation Toolkit</title><summary type='text'>During the last weeks, I've worked on an experimental C++ package named The Variation Toolkit (varkit). It was originally designed to provide some command lines equivalent to knime4bio but I've added more tools over time. Some of those tools are very simple-and-stupid ( fasta2tsv) , reinvent the wheel ("numericsplit"), are part of an answer to biostar, are some old tools (e.g. bam2wig) that have </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/795325657043164571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=795325657043164571' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/795325657043164571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/795325657043164571'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2012/01/variation-toolkit.html' title='The Variation Toolkit'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3960650111668264800</id><published>2011-12-01T15:33:00.001+01:00</published><updated>2011-12-01T15:42:43.125+01:00</updated><title type='text'>Suggest some new terms for the EDAM Ontology for Bioinformatics</title><summary type='text'>EDAM is an ontology of general bioinformatics concepts, including topics and data types, formats, identifiers and operations.
Is your specific subject of research present in this ontology (e.g "RNA-Seq") ?  go and have a look at http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=EDAM. If it is not, feel free to suggest a new term in the form below. Your term might be included in the next </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3960650111668264800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3960650111668264800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3960650111668264800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3960650111668264800'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/12/suggest-some-new-terms-for-edam.html' title='Suggest some new terms for the EDAM Ontology for Bioinformatics'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-551816615837928743</id><published>2011-11-20T10:32:00.001+01:00</published><updated>2011-11-20T10:48:29.177+01:00</updated><title type='text'>Processing json data with apache velocity.</title><summary type='text'>I've written a tool named "apache velocity" which parse json data and processes it with "Apache velocity" (a template engine ). The (javacc) source code is available here:


https://github.com/lindenb/jsandbox/blob/master/src/sandbox/VelocityJson.jj







Example
Say you have defined some classes using JSON:

[
  {
    "type": "record",
    "name": "Exon",
    "fields" : [
      {"name": "start"</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/551816615837928743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=551816615837928743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/551816615837928743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/551816615837928743'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/11/processing-json-data-with-apache.html' title='Processing json data with apache velocity.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8705832623740609357</id><published>2011-11-16T15:06:00.001+01:00</published><updated>2011-11-16T15:10:24.660+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vcf'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='soap'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='jaxws'/><category scheme='http://www.blogger.com/atom/ns#' term='genomics'/><category scheme='http://www.blogger.com/atom/ns#' term='wsdl'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><category scheme='http://www.blogger.com/atom/ns#' term='generator'/><category scheme='http://www.blogger.com/atom/ns#' term='webservices'/><title type='text'>"VCF annotation" with the NHLBI GO Exome Sequencing Project (JAX-WS)</title><summary type='text'>The NHLBI Exome Sequencing Project (ESP) has released a web service to query their data. "The goal of the NHLBI GO Exome Sequencing Project (ESP) is to discover novel genes and mechanisms contributing to heart, lung and blood disorders by pioneering the application of next-generation sequencing of the protein coding regions of the human genome across diverse, richly-phenotyped populations and to </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8705832623740609357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8705832623740609357' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8705832623740609357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8705832623740609357'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/11/vcf-annotation-with-nhlbi-go-exome.html' title='&quot;VCF annotation&quot; with the NHLBI GO Exome Sequencing Project (JAX-WS)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5615080425736777306</id><published>2011-11-01T18:56:00.000+01:00</published><updated>2011-11-01T18:56:25.605+01:00</updated><title type='text'>The paper about BioStar has been published in "PLoS Computational Biology"</title><summary type='text'>The article describing BioStar has been published in PLoS Computational Biology:





BioStar: An Online Question &amp; Answer Resource for the Bioinformatics Community

Laurence D. Parnell, Pierre Lindenbaum, Khader Shameer, Giovanni Marco Dall'Olio, Daniel C. Swan, Lars Juhl Jensen, Simon J. Cockell, Brent S. Pedersen, Mary E. Mangan, Christopher A. Miller, Istvan Albert. 2011
PLoS Comput Biol 7(10</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5615080425736777306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5615080425736777306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5615080425736777306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5615080425736777306'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/11/paper-about-biostar-has-been-published.html' title='The paper about BioStar has been published in &quot;PLoS Computational Biology&quot;'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2358288460614308433</id><published>2011-10-21T11:28:00.000+02:00</published><updated>2011-10-21T16:29:42.951+02:00</updated><title type='text'>A reference genome with or without the 'chr' prefix</title><summary type='text'>The name of the chromosomes in the fasta files for the human genome are prefixed with 'chr' :
$  grep "&gt;" hg19.fa 
&gt;chr1
&gt;chr2
&gt;chr3
&gt;chr4
&gt;chr5
&gt;chr6
(...)
The FAIDX index for this fasta file looks like this:
chr1 249250621 6 50 51
chr2 243199373 254235646 50 51
chr3 198022430 502299013 50 51
chr4 191154276 704281898 50 51
chr5 180915260 899259266 50 51
chr6 171115067 1083792838 50 51
(...)
.</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2358288460614308433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2358288460614308433' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2358288460614308433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2358288460614308433'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/10/reference-genome-with-or-without-chr.html' title='A reference genome with or without the &apos;chr&apos; prefix'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3889061486439565564</id><published>2011-10-07T22:35:00.001+02:00</published><updated>2011-10-07T22:35:28.234+02:00</updated><title type='text'>Knime4Bio: a set of custom nodes for the interpretation of NGS data with KNIME</title><summary type='text'>Our paper has just been published in Bioinformatics  :-)

http://bioinformatics.oxfordjournals.org/content/early/2011/10/07/bioinformatics.btr554.abstract





Knime4Bio: a set of custom nodes for the interpretation of Next Generation Sequencing data with KNIME.

   Pierre Lindenbaum, Solena Le Scouarnec, Vincent Portero and Richard Redon








Summary: Here, we describe Knime4Bio, a set of </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3889061486439565564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3889061486439565564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3889061486439565564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3889061486439565564'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/10/knime4bio-set-of-custom-nodes-for.html' title='Knime4Bio: a set of custom nodes for the interpretation of NGS data with KNIME'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/zPdcbybEnSM/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7119031509146974123</id><published>2011-10-05T23:55:00.001+02:00</published><updated>2011-10-10T16:24:03.033+02:00</updated><title type='text'>Grouping mutations/Gene=f(sample)</title><summary type='text'>GroupByGene is a small C++ tool grouping the data:

CHROM
POS
REF
GENE
SAMPLE

by gene=f(sample). This tool is available on google code : http://code.google.com/p/variationtoolkit/source/browse/trunk/src/groupbygene.cpp
Example:
$ cat input.tsv

#CHROM	POS	REF	ALT	GENE	SAMPLE	
chr1	10	A	T	gene1	indi1
chr1	10	A	T	gene1	indi2
chr1	11	C	G	gene1	indi2
chr2	110	C	G	gene2	indi3
chr3	210	A	T	gene3	indi1</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7119031509146974123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7119031509146974123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7119031509146974123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7119031509146974123'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/10/grouping-mutationsgenefsample.html' title='Grouping mutations/Gene=f(sample)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3254759660590944232</id><published>2011-10-05T23:16:00.002+02:00</published><updated>2011-10-05T23:16:38.536+02:00</updated><title type='text'>Verticalize: printing the input stream vertically.</title><summary type='text'>A useful tool: verticalize is a small C++ tool printing the input stream vertically. The source is available on github : https://github.com/lindenb/ccsandbox/blob/master/src/verticalize.cpp.
An Example with 1000genomes.org :
$ curl -s "ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20100804/ALL.2of4intersection.20100804.sites.vcf.gz"|\
gunzip  -c | grep -v "##" |\
verticalize  | head -n 30

&gt;&gt;&gt;</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3254759660590944232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3254759660590944232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3254759660590944232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3254759660590944232'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/10/verticalize-printing-input-stream.html' title='Verticalize: printing the input stream vertically.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8983411789600359192</id><published>2011-09-26T23:02:00.002+02:00</published><updated>2011-09-26T23:03:51.659+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='genomics'/><category scheme='http://www.blogger.com/atom/ns#' term='postscript'/><title type='text'>PostScript as a Programming Language for Bioinformatics: mynotebook</title><summary type='text'>"PostScript (PS) is an interpreted, stack-based programming language. It is best known for its use as a page description language in the electronic and desktop publishing areas."[wikipedia]. In this post, I'll show how I've used to create a simple and lightweight view 
of the genome.




Introduction: just a simple postscript program
The following PS program fills a rectangular gray shape; You </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8983411789600359192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8983411789600359192' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8983411789600359192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8983411789600359192'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/09/postscript-as-programming-language-for.html' title='PostScript as a Programming Language for Bioinformatics: mynotebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4426163435511813526</id><published>2011-09-23T00:37:00.000+02:00</published><updated>2011-09-23T00:42:38.704+02:00</updated><title type='text'>Joining  genomic annotations files with the tabix API.</title><summary type='text'>Tabix is a software that is part of the samtools package.
After indexing a file, tabix is able to quickly retrieve data lines overlapping genomic regions (see also my previous post about tabix). Here, I wrote a tool named jointabix that joins the data of a (chrom/start/end) file with a  file indexed with tabix. I've posted the code on github at: https://github.com/lindenb/samtools-utilities/blob/</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4426163435511813526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4426163435511813526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4426163435511813526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4426163435511813526'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/09/joining-genomic-annotations-files-with.html' title='Joining  genomic annotations files with the tabix API.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-329813914139536143</id><published>2011-09-11T15:12:00.002+02:00</published><updated>2011-09-11T15:13:30.048+02:00</updated><title type='text'>The Wikipedia Template:Infobox_biodatabase is now integrated in DBPedia</title><summary type='text'>In January 2011, I started the project Template:Infobox_biodatabase. The goal of this project is the annotation of the biological databases in wikipedia using an infobox. The pages annotated with this template have now been integrated into DBpedia 3.7 and it is now possible to query the data through a SPARQL endpoint.
(Note: during the process of writing the new pages in wikipedia, a few articles</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/329813914139536143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=329813914139536143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/329813914139536143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/329813914139536143'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/09/wikipedia-templateinfoboxbiodatabase-is.html' title='The Wikipedia Template:Infobox_biodatabase is now integrated in DBPedia'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7959896349024771293</id><published>2011-09-09T22:54:00.000+02:00</published><updated>2011-09-09T22:56:55.074+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Customizing "C printf" to print a FASTA sequence.</title><summary type='text'>The GNU C library lets you define your own custom conversion specifiers
for printf template strings. In the current post, I will show how to add a new modifier for printf to print a fasta sequence. Say we have a C structure holding a FASTA sequence:
typedef struct fasta_t
	{
	char* name;
	char* sequence;
	}Fasta;
The new output conversion is registered with  register_printf_specifier.

</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7959896349024771293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7959896349024771293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7959896349024771293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7959896349024771293'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/09/customizing-c-printf-to-print-fasta.html' title='Customizing &quot;C printf&quot; to print a FASTA sequence.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4748838032524870164</id><published>2011-09-06T22:31:00.004+02:00</published><updated>2011-09-07T08:43:11.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='format'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Parsing a BAM file with javascript, yes we can. (Node.js and V8)</title><summary type='text'>Node.js is an event-driven I/O server-side JavaScript environment based on V8,  Google's open source JavaScript engine. In the current post I will describe how I've used Node/V8 to parse a BAM file. Here I've used node v0.5.5 and my code is hosted in a new git repository bionode.


Designing a C++ native extension for Node.js wrapping the bgzf format
BAM files are stored using the bgzf format. We</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4748838032524870164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4748838032524870164' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4748838032524870164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4748838032524870164'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/09/parsing-bam-with-javascript-yes-we-can.html' title='Parsing a BAM file with javascript, yes we can. (Node.js and V8)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-6355689885911087779</id><published>2011-09-06T20:44:00.002+02:00</published><updated>2011-09-06T21:11:11.041+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Merging two XML files using the libxml streaming API.</title><summary type='text'>I just wrote a program appending one or more XML files to another XML file using the libxml streaming API. This program named mergexml is available on github at: mergexml.Usage$ mergexml -hmergexml: Pierre Lindenbaum PHD. 2011.Compilation: Sep  6 2011 at 19:54:22.Usage: mergexml [options] -i database.xml xml1, xml2, ....xmlnOptions:  -i  (required)  -o  (default:stdout)  --replace replace xml-in</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/6355689885911087779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=6355689885911087779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6355689885911087779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6355689885911087779'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/09/merging-two-xml-files-using-libxml.html' title='Merging two XML files using the libxml streaming API.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7935742734548596096</id><published>2011-08-13T14:21:00.005+02:00</published><updated>2011-08-13T14:56:49.804+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='fuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='taxonomy'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><category scheme='http://www.blogger.com/atom/ns#' term='geek'/><title type='text'>A FUSE-based filesystem reproducing the NCBI Taxonomy hierarchy.</title><summary type='text'>In this post I will show how I've used FUSE to create a new loadable filesystem for Linux, reproducing the tree of the NCBI Taxonomy.From the Fuse Homepage:With FUSE it is possible to implement a fully functional filesystem in a userspace program.  Features include:Simple library APISimple installation (no need to patch or recompile the kernel)Secure implementationUserspace - kernel interface </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7935742734548596096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7935742734548596096' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7935742734548596096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7935742734548596096'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/08/fuse-based-filesyetem-reproducing-ncbi.html' title='A FUSE-based filesystem reproducing the NCBI Taxonomy hierarchy.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-6607640856393455537</id><published>2011-08-10T22:20:00.006+02:00</published><updated>2011-08-10T22:27:40.040+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='mediawiki'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Wikipedia OpenSearch and semantic bash completion</title><summary type='text'>I wrote a tool that use the opensearch API for mediawiki to display the results of a query in wikipedia:$ opensearch Charles DarwCharles_Darwin   Charles Robert Darwin FRS (12 February 1809 – 19 April 1882) was an English...Charles_Darwin_University   Charles Darwin University (CDU) is an Australian public university wi...Charles_Darwin%27s_health   For much of his adult life, Charles Darwin's </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/6607640856393455537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=6607640856393455537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6607640856393455537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6607640856393455537'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/08/wikipedia-opensearch-and-semantic-bash.html' title='Wikipedia OpenSearch and semantic bash completion'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5069683807394994399</id><published>2011-08-09T22:15:00.004+02:00</published><updated>2011-08-09T22:40:29.357+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Quick tip: bash completion for Bioinformatics</title><summary type='text'>The default behavior for the &lt;tab&gt; completion can be extended by creating a new file:${HOME}/.bash_completionin your home.For example, you can write your own Bash Completion for samtools, bwa or your favourite tool by adding the following line in "${HOME}/.bash_completion":complete -f -X '!*.@(bam|sam|fasta|fa|fa.gz|fastq.gz|fasta.gz)' samtools bwaOpen a new bash and type:$ samtools index </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5069683807394994399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5069683807394994399' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5069683807394994399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5069683807394994399'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/08/quick-tip-bash-completion-for.html' title='Quick tip: bash completion for Bioinformatics'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4740135773154213309</id><published>2011-08-01T22:51:00.003+02:00</published><updated>2011-08-01T22:55:54.610+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ontology'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='freebase'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Using the  Freebase and the Bioportal Widgets to create a semantic object.</title><summary type='text'>The following HTML code uses:a Widget from the NCBO Bioportal for the Protein-protein interaction OntologyAnd two Widgets from Freebase, linking to the proteins, the genes and the diseases.After completion, it generates a JSON object describing a semantic object:{"subject":"http://www.freebase.com/view/en/nsp3","predicate":"http://purl.org/obo/owl/MI#MI_0407","value":"http://www.freebase.com/view</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4740135773154213309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4740135773154213309' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4740135773154213309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4740135773154213309'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/08/using-freebase-and-bioportal-widgets-to.html' title='Using the  Freebase and the Bioportal Widgets to create a semantic object.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8150316914735018457</id><published>2011-08-01T19:54:00.003+02:00</published><updated>2011-08-01T19:57:59.723+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Memory-Mapping the Human Genome with 'mmap': my notebook</title><summary type='text'>In this post, I've explored how to use a memory-mapped file to handle the 3Go of the Human Genome sequence as if it was entirely loaded in memory.Via wikipedia: "A memory-mapped file is a segment of virtual memory which has been assigned a direct byte-for-byte correlation with some portion of a file or file-like resource. This resource is typically a file that is physically present on-disk... In </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8150316914735018457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8150316914735018457' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8150316914735018457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8150316914735018457'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/08/memory-mapping-human-genome-with-mmap.html' title='Memory-Mapping the Human Genome with &apos;mmap&apos;: my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8864188465529278605</id><published>2011-07-31T20:10:00.003+02:00</published><updated>2011-07-31T20:13:14.360+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='keyvalue'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Storing some SNPs using the leveldb library. My notebook.</title><summary type='text'>In this post I'll describe how I've used the  leveldb API, a C++ key-value database, to store some SNPs (key=rs,value=sequence). "LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.". A benchmark for this engine is available here: http://code.google.com/p/leveldb/source/browse/trunk/doc/benchmark.html.Download &amp; install</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8864188465529278605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8864188465529278605' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8864188465529278605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8864188465529278605'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/storing-some-snps-using-leveldb-library.html' title='Storing some SNPs using the leveldb library. My notebook.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-6082301745510790810</id><published>2011-07-27T17:54:00.004+02:00</published><updated>2011-07-27T18:04:37.123+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Controlling IGV through a Port: my notebook.</title><summary type='text'>A protocol for interacting with the The Integrative Genomics Viewer (IGV) is described here: http://www.broadinstitute.org/igv/PortCommands. So, you can save some pictures of a genomic region without interacting with IGV.Via a shell script$ cat script.shmkdir -p /tmp/igvsleep 2echo "snapshotDirectory /tmp/igv"sleep 2echo "goto chr3:100"sleep 2echo "snapshot"sleep 2echo "goto chr3:200-300"sleep </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/6082301745510790810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=6082301745510790810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6082301745510790810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6082301745510790810'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/controlling-igv-through-port-my.html' title='Controlling IGV through a Port: my notebook.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5861083195371836623</id><published>2011-07-26T19:12:00.002+02:00</published><updated>2011-07-26T19:15:31.254+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>A mysql full-text parser searching for some SNPs</title><summary type='text'>A mysql full-text parser server plugin can be used to replace or modify the built-in full-text parser.This post a full-text parser plugin named bioparser that extracts the rs#### id from a text.The sourceThe source of this plugin is available on github at:https://github.com/lindenb/bioudf/blob/master/src/bioparser.c.The work horse of the plugin is a simple function bioparser_parse scanning the </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5861083195371836623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5861083195371836623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5861083195371836623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5861083195371836623'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/mysql-full-text-parser-searching-for.html' title='A mysql full-text parser searching for some SNPs'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4186121480344517324</id><published>2011-07-25T10:44:00.002+02:00</published><updated>2011-07-25T10:49:14.894+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>The samtools C API: creating a WIG file for the genome coverage</title><summary type='text'>I wrote a tool which uses the samtools API to generate a WIG file for the genome coverage. This tool, bam2wig, as well as some other tools using this library are available in the following git repository:https://github.com/lindenb/samtools-utilitiesMy code is based on this original C source hosted on: http://samtools.sourceforge.net/sam-exam.shtml. (I hope I understood this API as many functions/</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4186121480344517324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4186121480344517324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4186121480344517324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4186121480344517324'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/samtools-c-api-creating-wig-file-for.html' title='The samtools C API: creating a WIG file for the genome coverage'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8518568523769790726</id><published>2011-07-20T00:06:00.001+02:00</published><updated>2011-07-20T00:08:22.068+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='timeline'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='france'/><title type='text'>Drawing a SVG timeline with the  http://data.bnf.fr data</title><summary type='text'>The National French Library has recently started to releaseits data as RDF/XML. Here, I've played with the biographies of the famous French writers to create a simple timeline.Unfortunately, this timeline is too large to be displayed here. :-)However, here is the java code I used to generate this map as a SVG document: See also: Freebase and the History of Sciences That's it,Pierre</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8518568523769790726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8518568523769790726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8518568523769790726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8518568523769790726'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/drawing-svg-timeline-with-httpdatabnffr.html' title='Drawing a SVG timeline with the  http://data.bnf.fr data'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7259791065435305593</id><published>2011-07-18T12:44:00.004+02:00</published><updated>2011-07-23T12:16:36.960+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>An interactive 'dialog' generating a SAM Flag</title><summary type='text'>The following shell script uses the dialog utility to generate a numeric Sam flag.$ sh selectsam.sh       ┌───────────────────────SAM FLAGS──────────────────────────┐      │ SELECT FLAGS                                             │        │ ┌──────────────────────────────────────────────────────┐ │        │ │ [X] 1     Read Paired                                │ │        │ │ [ ] 2     Read </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7259791065435305593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7259791065435305593' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7259791065435305593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7259791065435305593'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/interactive-dialog-generating-sam-flag.html' title='An interactive &apos;dialog&apos; generating a SAM Flag'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7606781312798569703</id><published>2011-07-15T19:21:00.004+02:00</published><updated>2011-07-15T19:44:50.884+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>I can't save you, but I can help you: reverse-complementing a DNA in OpenOffice</title><summary type='text'>People in my lab are using "Microsoft Word" to edit and annotate their sequences. Just like Neil, I can't save them but I can help them: here is an OpenOffice / LibreOffice  macro reverse-complementing the current selected text. open libreoffice/openofficeOpen menu "Tools / Macros / Organize macros / Basic...Select "My Macros/Standard" and click on "New"Copy+paste my macro hereClick on the top </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7606781312798569703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7606781312798569703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7606781312798569703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7606781312798569703'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/i-cant-save-you-but-i-can-help-you.html' title='I can&apos;t save you, but I can help you: reverse-complementing a DNA in OpenOffice'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7154127420749625719</id><published>2011-07-14T23:20:00.005+02:00</published><updated>2011-07-23T12:11:52.178+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>A text alignment viewer using the samtools API</title><summary type='text'>I wrote a modified version of samtools tview. The original code uses the curses API to display an interactive sequence viewer.I wanted to generate this kind of screen for a large number of positions and I wanted to be able to redirect the output  to a unix pipeline so I changed the original code in order to only handle an extensible 2-dimensional array of characters. The code I wrote is available</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7154127420749625719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7154127420749625719' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7154127420749625719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7154127420749625719'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/text-alignment-viewer-using-samtools.html' title='A text alignment viewer using the samtools API'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3661627629035615500</id><published>2011-07-09T00:42:00.002+02:00</published><updated>2011-07-10T12:10:32.548+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hdf5'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='format'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Storing SNPs in a HDF5 file: my notebook</title><summary type='text'>I discovered the benefits of using twitter in 2008, the day Deepak Singh replied to one of my tweets related to the storage of a large number of genotypes.Since that day, I've tried to use the HDF5 library, without any success (there's a large disheartening  documentation/API on the HDF5 site and the API seems to be only used by a small number of geeks). Furthermore, HDF5 is a technology used by </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3661627629035615500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3661627629035615500' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3661627629035615500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3661627629035615500'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/storing-snps-in-hdf5-file-my-notebook.html' title='Storing SNPs in a HDF5 file: my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7711950924317641498</id><published>2011-07-04T20:31:00.001+02:00</published><updated>2011-07-04T20:33:16.696+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='rest'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><title type='text'>The Neo4j REST API. My notebook</title><summary type='text'>Neo4j is a open-source graph engine implemented in Java.  This post is my notebook for the Neo4J-server, a server  combining a REST API and a webadmin application into a single stand-alone server.Download &amp; extract Neo4JDownload Neo4J from here$ tar xfz neo4j-community-1.4.M04-unix.tar.gz$ rm neo4j-community-1.4.M04-unix.tar.gz$ cd neo4j-community-1.4.M04/Start the  Neo4J Server#edit the config </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7711950924317641498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7711950924317641498' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7711950924317641498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7711950924317641498'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/07/neo4j-rest-api-my-notebook.html' title='The Neo4j REST API. My notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4710492725930261960</id><published>2011-06-28T14:54:00.001+02:00</published><updated>2011-06-28T14:56:51.353+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='format'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>The java library for BigBed and BigWig: my notebook</title><summary type='text'>Jim Robinson and his team, from the Broad Institute/IGV, have recently released a java library parsing the BigBed and the BigWig formats. Here is my notebook for this API.Download and compile the libraryThe sources are hosted at:  http://bigwig.googlecode.com/.$ svn checkout http://bigwig.googlecode.com/svn/trunk/ bigwig-read-only$ cd bigwig-read-only$ antBuildfile: build.xmlcompile:    [mkdir] </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4710492725930261960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4710492725930261960' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4710492725930261960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4710492725930261960'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/java-library-for-bigbed-and-bigwig-my.html' title='The java library for BigBed and BigWig: my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7593281364770293970</id><published>2011-06-28T09:43:00.001+02:00</published><updated>2011-06-28T09:44:13.114+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>Bioinformatician 2.0 ( JeBiF Workshop 2011 )</title><summary type='text'>Here is the presentation I gave for the JeBiF Workshop 2011 (jobs and careers in bioinformatics).Bioinformatician 2.0  View more presentations from Pierre Lindenbaum  Pierre Legrain (CEA) and Franck Molina, CNRS talking about working in Bioinformatics in the industry and/or academia.</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7593281364770293970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7593281364770293970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7593281364770293970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7593281364770293970'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/bioinformatician-20-jebif-workshop-2011.html' title='Bioinformatician 2.0 ( JeBiF Workshop 2011 )'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7682824916710815523</id><published>2011-06-19T19:10:00.001+02:00</published><updated>2011-06-19T19:13:10.756+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='berkeleydb'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><title type='text'>A couchdb-like application using apache JETTY and BerkeleyDB. My notebook</title><summary type='text'>This is my notebook for the Jetty API. Jetty provides an Web server and javax.servlet container. It can be embedded in devices, tools, frameworks, application servers, and clusters. I find it more easier for developping and testing a new web application as it doesn't require some deployement descriptors, some configuration files, a web container, etc... like in apache tomcat. As I will show below</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7682824916710815523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7682824916710815523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7682824916710815523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7682824916710815523'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/couchdb-like-application-using-apache.html' title='A couchdb-like application using apache JETTY and BerkeleyDB. My notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3114157812600537440</id><published>2011-06-15T23:55:00.002+02:00</published><updated>2011-06-16T00:01:39.404+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='genetics'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Sorting and Joining some Genotypes with Hadoop.</title><summary type='text'>This post describes how I've used hadoop to merge two large files produced by our Affymetrix-Axiom Genotyping platform.(Note: working with the last version of hadoop has been a headache: it contains some classes with the same name: ('org.apache.hadoop.mapreduce.Reducer' and 'org.apache.hadoop.mapred.Reducer' ), many classes have been deprecated ( org.apache.hadoop.mapred.JobConf ) but they are </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3114157812600537440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3114157812600537440' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3114157812600537440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3114157812600537440'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/sorting-and-joining-some-genotypes-with.html' title='Sorting and Joining some Genotypes with Hadoop.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7491831738899578000</id><published>2011-06-13T19:17:00.005+02:00</published><updated>2011-06-13T19:32:06.698+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>XSLT+SVG= "It Came from Outer Space" (anaglyphs)</title><summary type='text'>"It Came from Outer Space", Universal's first film to be filmed in 3-D.Just like with the "Gimp", Inkscape  , a SVG editor, can manage some layers:Each layer will appear in the SVG document as an element svg:g with an attribute: inkscape:groupmode="layer" under the root element svg:svg. I've written a XSLT stylesheet that converts the SVG image to an Anaglyph image. The stylesheet is available on</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7491831738899578000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7491831738899578000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7491831738899578000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7491831738899578000'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/xsltsvg-it-came-from-outer-space.html' title='XSLT+SVG= &quot;It Came from Outer Space&quot; (anaglyphs)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3837183268642010765</id><published>2011-06-10T22:57:00.002+02:00</published><updated>2011-06-10T23:03:41.092+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>An extension for Inkscape processing a sequence from Genbank</title><summary type='text'>Let's create a new extension for inkscape by recycling an old XSLT stylsheet producing a SVG image ! For example, we're going to use this xslt stylsheet: https://github.com/lindenb/xslt-sandbox/blob/master/stylesheets/bio/ncbi/gb2svg.xsl that transforms a Genbank XML INSDSeq to SVG. It is downloaded into the extension directory; ${HOME}/.config/inkscape/extensions/gb2svg.xslNow let's tell </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3837183268642010765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3837183268642010765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3837183268642010765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3837183268642010765'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/extension-for-inkscape-processing.html' title='An extension for Inkscape processing a sequence from Genbank'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8564552456341169076</id><published>2011-06-10T22:00:00.001+02:00</published><updated>2011-06-10T22:02:30.487+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='postscript'/><title type='text'>Vectorial drawing with the UCSC Genome browser and inkscape</title><summary type='text'>Select a view in the UCSC genome browser. Export it (top menu) it as Encapsulated Postscript (EPS)Import the EPS file in inkscape'Ungroup' the objects and have fun.That's it.Pierre</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8564552456341169076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8564552456341169076' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8564552456341169076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8564552456341169076'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/vectorial-drawing-with-ucsc-genome.html' title='Vectorial drawing with the UCSC Genome browser and inkscape'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7128583484422946763</id><published>2011-06-07T22:52:00.003+02:00</published><updated>2011-06-07T22:57:05.067+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='jni'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Handling a BigWig file from Java+JNI : my notebook</title><summary type='text'>In a previous post I've shown how to use a Java JNI interface to control a NCURSES panel from a java program.I'll show here how to use java JNI to call the C methods developped by Jim Kent's team at UCSC to handle a BigWig file.The Makefile for compiling the following sources is defined below:Export the LD_LIBRARY_PATH:export LD_LIBRARY_PATH=/path/to/current/directoryDownload Jim Kent's sources </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7128583484422946763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7128583484422946763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7128583484422946763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7128583484422946763'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/handling-bigwig-file-from-javajni-my.html' title='Handling a BigWig file from Java+JNI : my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2714687493610257149</id><published>2011-06-04T21:47:00.002+02:00</published><updated>2011-06-04T22:09:03.473+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='citation'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><title type='text'>Pubmed: sorting the articles on the number of times they've been cited</title><summary type='text'>In 2008 I used www.eigenfactor.org/ to sort a set of Pubmed articles on the impact factor of the journal. In the current post I will show I've used  NCBI ELink to sort the articles on the number of times they've have been cited in some other articles in pubmed-central.The NCBI ELink API checks for the existence of an external or Related Articles link from a list of one or more primary IDs. It can</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2714687493610257149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2714687493610257149' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2714687493610257149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2714687493610257149'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/06/pubmed-sorting-articles-on-number-of.html' title='Pubmed: sorting the articles on the number of times they&apos;ve been cited'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2364998690513287944</id><published>2011-05-31T22:06:00.000+02:00</published><updated>2011-05-31T22:08:05.328+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Playing with the Gimp server: my notebook</title><summary type='text'>In the following post, I'll show how the Gimp can be used as a server that will read and execute some statements in the scheme programming language. The scheme script will be used to downlad, resize and filter an image from the web.Starting the Gimp ServerGo in menu Filters→Script-Fu→Start ServerThe original image(3156 x 2538)Barbara McClintock in the lab at Cold Spring Harbor in 1947The </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2364998690513287944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2364998690513287944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2364998690513287944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2364998690513287944'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/05/playing-with-gimp-server-my-notebook.html' title='Playing with the Gimp server: my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4496281026847082850</id><published>2011-05-11T13:32:00.001+02:00</published><updated>2011-05-11T13:36:44.993+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knime'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='filter'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Analyzing exome data with KNIME</title><summary type='text'>A presentation I gave last week in my lab Analyzing Exome Data with KNIME   View more presentations from Pierre Lindenbaum  </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4496281026847082850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4496281026847082850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4496281026847082850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4496281026847082850'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/05/analyzing-exome-data-with-knime.html' title='Analyzing exome data with KNIME'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3347536604675816402</id><published>2011-04-28T21:43:00.007+02:00</published><updated>2011-04-29T16:24:59.480+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='map'/><category scheme='http://www.blogger.com/atom/ns#' term='gis'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>mapping people I'm following on twitter: (KML, java, geonames.org)</title><summary type='text'>I wrote a java tool to map the people I'm following on twitter. This tool invokes the twitter API to fetch the profiles of my contacts and it uses the geonames web services to guess the geolocation of the places.The source code is available on github at https://github.com/lindenb/jsandbox/blob/master/src/sandbox/TwitterToKML.java.the build.xml is here.Compilationant twitterkml#get your twitter-id</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3347536604675816402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3347536604675816402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3347536604675816402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3347536604675816402'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/04/mapping-people-im-following-on-twitter.html' title='mapping people I&apos;m following on twitter: (KML, java, geonames.org)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8218271242209486645</id><published>2011-04-28T16:58:00.003+02:00</published><updated>2011-04-28T17:21:52.334+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>dbNSFP: a lightweight database of human non-synonymous SNPs and their  functional predictions</title><summary type='text'>People from the "Human Genetics Center" in Houston have compiled a new resource named dbNSFP and described in http://www.ncbi.nlm.nih.gov/pubmed/21520341.Hum Mutat. 2011 Apr 21. doi:10.1002/humu.21517.dbNSFP: a lightweight database of human non-synonymous SNPs and their functional predictions. Liu X, Jian X, Boerwinkle E.They have compiled the "prediction scores from four new and popular </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8218271242209486645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8218271242209486645' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8218271242209486645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8218271242209486645'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/04/dbnsfp-lightweight-database-of-human.html' title='dbNSFP: a lightweight database of human non-synonymous SNPs and their  functional predictions'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3371012644734125763</id><published>2011-04-22T22:50:00.003+02:00</published><updated>2011-04-22T22:52:00.775+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Playing with the HTML5 File API: translating a Fasta file.</title><summary type='text'>In the current post, I'm using the new HTML5 File Api. This new API can read the content of a file on the client side without needing a remote server. Let me repeat this: YOU DO NOT NEED A SERVERYOU DO NOT NEED TO COPY AND PASTE THE CONTENT OF THE FILE IN A TEXTAREA.As an example, the following code reads a whole DNA fasta file stored on your computer and translate each DNA sequence to a protein.</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3371012644734125763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3371012644734125763' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3371012644734125763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3371012644734125763'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/04/playing-with-html5-file-api-translating.html' title='Playing with the HTML5 File API: translating a Fasta file.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-6307624521945727561</id><published>2011-04-15T01:20:00.005+02:00</published><updated>2011-04-15T01:42:31.849+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><title type='text'>"404 not found": An update for "bioinformatics/cabios"</title><summary type='text'>Yesterday, I blogged about the persistence of the URLs present in the abstract of NAR. Today , I've updated my tool and used it to scan the abstracts of the following pubmed query:  "Bioinformatics"[JOUR] or "Comput Appl Biosci"[JOUR].Here is the result:YearTotalAlive%</summary><link rel='related' href='http://figshare.com/figures/index.php/Bioinformatics.404_20110415.rdf' title='&quot;404 not found&quot;: An update for &quot;bioinformatics/cabios&quot;'/><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/6307624521945727561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=6307624521945727561' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6307624521945727561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6307624521945727561'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/04/404-not-found-update-for.html' title='&quot;404 not found&quot;: An update for &quot;bioinformatics/cabios&quot;'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7029656344146627094</id><published>2011-04-14T00:09:00.006+02:00</published><updated>2011-04-19T16:48:24.584+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nar'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>"404 not found": a database of non-functional resources in the NAR database collection</title><summary type='text'>Today,  Andra Waagmeester asked on Biostar :"NAR nicely lists all their database issues on http://www.oxfordjournals.org/nar/database/c/. Is the list also available in a downloadable format?".I suggested to download  from pubmed all the articles published in an annual issue of NAR , to extract the URLs from the abstract and to check if they were still active. I just wrote a java program doing </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7029656344146627094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7029656344146627094' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7029656344146627094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7029656344146627094'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/04/404-not-found-database-of-non.html' title='&quot;404 not found&quot;: a database of non-functional resources in the NAR database collection'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1531953717782358328</id><published>2011-03-30T22:24:00.002+02:00</published><updated>2011-03-30T22:28:29.391+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='javacc'/><category scheme='http://www.blogger.com/atom/ns#' term='genomics'/><title type='text'>Parsing a genomic position with javacc</title><summary type='text'>Parsing a genomic position (chrom:start-end) is an easy task but I've always been too lazy to create a library for this. Today I wrote a Java-CC-based parser for analyzing the various syntaxes of a genomic position. Here is the grammar I used:COMMA: ","LETTER: (["a"-"z"]|["A"-"Z"]|"_") ;DIGIT: ["0"-"9"];INT:&lt;DIGIT&gt; ( (&lt;DIGIT&gt;|&lt;COMMA&gt;)* &lt;DIGIT&gt;)? ;BP: "b" ("p")? ;KB: ("k") ("B")? ;MB: ("m") ("B")?</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1531953717782358328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1531953717782358328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1531953717782358328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1531953717782358328'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/parsing-genomic-position-with-javacc.html' title='Parsing a genomic position with javacc'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1857135044406399262</id><published>2011-03-29T23:52:00.001+02:00</published><updated>2011-03-29T23:56:39.556+02:00</updated><title type='text'>Mapping a mutation on a protein to the genome.</title><summary type='text'>A colleague asked me to solve the following problem: from an article in which a protein (don't dream, there was no accession number) was transferred, she wanted to know the position of the mutation on the human genome to determine whether a known SNP was there.The program I wrote, backlocate is available on github: https://github.com/lindenb/jsandbox/blob/master/src/sandbox/BackLocate.java and </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1857135044406399262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1857135044406399262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1857135044406399262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1857135044406399262'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/mapping-mutation-on-protein-to-genome.html' title='Mapping a mutation on a protein to the genome.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8753054128459282754</id><published>2011-03-24T21:23:00.003+01:00</published><updated>2011-03-24T22:00:34.709+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>The ultimate Bioinformatics “Cheat Sheet”</title><summary type='text'>The following question was recently asked on Biostar:inspired by Keith Robison's post on "cheat sheets", what would you put on a cheat sheet for bioinformatics? This might include one-line scripts, conversion factors, handy rules of thumb, etc...well, here is my 'cheat sheet': ;-)That's it,Pierre(arrows are from wikimedia-commons )</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8753054128459282754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8753054128459282754' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8753054128459282754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8753054128459282754'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/ultimate-bioinformatics-cheat-sheet.html' title='The ultimate Bioinformatics “Cheat Sheet”'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-6267205934413577189</id><published>2011-03-22T21:45:00.003+01:00</published><updated>2011-03-22T21:54:34.429+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blast'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>Blast Stylesheet :  XML to HTML</title><summary type='text'>I wrote a XSLT stylesheet for the following question on Biostar: I'd like to create an HTML file (from the XML file and XSL stylesheet) similar to what It can be achieved when we performed a BLAST search on the NCBI server.The stylesheet I wrote is available on github at: https://github.com/lindenb/xslt-sandbox/blob/master/stylesheets/bio/ncbi/blast2html.xsl. (see also my previous post blast2svg </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/6267205934413577189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=6267205934413577189' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6267205934413577189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6267205934413577189'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/blast-stylesheet-xml-to-html.html' title='Blast Stylesheet :  XML to HTML'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1404706810543141105</id><published>2011-03-18T14:58:00.002+01:00</published><updated>2011-03-18T15:06:50.464+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='science'/><category scheme='http://www.blogger.com/atom/ns#' term='japan'/><category scheme='http://www.blogger.com/atom/ns#' term='scientists'/><category scheme='http://www.blogger.com/atom/ns#' term='BioHackathon'/><title type='text'>Japan Science Support</title><summary type='text'>via Rutger Vos:width:400px;height:233px;background-color:white; border: 1px solid black;margin-top:30px;margin-bottom:30px;padding:15px;      "&gt;&lt;!--User's icon--&gt;&lt;!--Screen name--&gt;@rvosa&lt;!--User name--&gt;Rutger Vos , Reading, Berkshire, UKSupport scientists in Japan, RT or visit this page http://biohelpathon.org/ via @rvosa&lt;!--Creation date--&gt;Fri Mar 18 13:51:46 +0000 2011</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1404706810543141105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1404706810543141105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1404706810543141105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1404706810543141105'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/japan-science-support.html' title='Japan Science Support'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5931616729715643982</id><published>2011-03-17T12:31:00.002+01:00</published><updated>2011-03-17T12:40:59.412+01:00</updated><title type='text'>Truncating mutations in the last exon of NOTCH2 cause a rare skeletal disorder with osteoporosis</title><summary type='text'>Here is my presentation describing the computational aspect of our paper recently published in Nature Genetics. This papers shows how truncating mutations in the NOTCH2 protein are the main cause of the Hadju-Cheney syndrome.Isidor, Bertrand &amp; al. (2011)."Truncating mutations in the last exon of NOTCH2 cause a rare skeletal disorder with osteoporosis"Nature Genetics  doi:10.1038/ng.778 NOTCH2 </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5931616729715643982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5931616729715643982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5931616729715643982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5931616729715643982'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/truncating-mutations-in-last-exon-of.html' title='Truncating mutations in the last exon of NOTCH2 cause a rare skeletal disorder with osteoporosis'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-581630464504898806</id><published>2011-03-07T20:17:00.002+01:00</published><updated>2011-03-07T20:21:16.784+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='protein'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='canvas'/><title type='text'>Drawing a protein (Biostar #6172)</title><summary type='text'>This post is my answer for this question on Biostar:Drawing a protein:Dear all I often find protein's image like this (...) Do you know if there's a program to draw them (I mean circles with letters).I wrote a Java-Swing application named WirePeptide displaying a draggable peptide. This application is available on github at https://github.com/lindenb/jsandbox/blob/master/src/sandbox/</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/581630464504898806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=581630464504898806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/581630464504898806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/581630464504898806'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/drawing-protein-biostar-6172.html' title='Drawing a protein (Biostar #6172)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-383180830749191197</id><published>2011-03-06T00:44:00.003+01:00</published><updated>2011-03-06T00:58:05.447+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xsl-fo'/><category scheme='http://www.blogger.com/atom/ns#' term='fop'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>Creating a pdf of your favorite tweets with Apache FOP.</title><summary type='text'>This post describes how I created a PDF document from a set of twitter statuses.I created a XSLT stylesheet transforming a twitter status as XML.This stylesheet is available on github at: https://github.com/.../twitter/status2fo.xsl.The stylesheet transforms the XML file generated by the twitter API (e.g.:http://api.twitter.com/1/statuses/show/44175380516585472.xml) to XSL-FO. This xsl-fo is then</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/383180830749191197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=383180830749191197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/383180830749191197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/383180830749191197'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/creating-pdf-of-your-favorite-tweets.html' title='Creating a pdf of your favorite tweets with Apache FOP.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7680114385199786051</id><published>2011-03-03T23:45:00.002+01:00</published><updated>2011-03-04T01:00:03.981+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='chart'/><title type='text'>count(biostar-users)=f(time)</title><summary type='text'>Another quick post about href="http://biostar.stackexchange.com"&gt;http://biostar.stackexchange.com.Here, I plotted the number of users over time. Note: I embbeded the images in theHTML source with the following command:(echo -n "&lt;img src='data:image/png;base64,"; base64 &lt; myimage.png | tr -d "\n" ; echo "'/&gt;" ) &gt; image_in_html.htmlError in the Y-label: I didn't use the log10 for this one (thanks </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7680114385199786051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7680114385199786051' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7680114385199786051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7680114385199786051'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/countbiostar-usersftime_03.html' title='count(biostar-users)=f(time)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5228943590363666782</id><published>2011-03-03T22:16:00.002+01:00</published><updated>2011-03-03T22:20:47.031+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='gis'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='kml'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>XSLT+XML+geolocation=KML "BioStar users on a world map"</title><summary type='text'>Today, I'be been appointed administrator of http://biostar.stackexchange.com/. It enables me to download a XML dump of the biostar database. Regarding the users, the XML file looks like this:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;Users&gt;  (...)  &lt;row&gt;    &lt;Id&gt;30&lt;/Id&gt;    &lt;UserTypeId&gt;4&lt;/UserTypeId&gt;    &lt;Reputation&gt;13562&lt;/Reputation&gt;    &lt;Views&gt;1485&lt;/Views&gt;    &lt;CreationDate&gt;2010-02-25T17:27:15.56&lt;/</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5228943590363666782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5228943590363666782' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5228943590363666782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5228943590363666782'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/03/xsltxmlgeolocationkml-biostar-users-on.html' title='XSLT+XML+geolocation=KML &quot;BioStar users on a world map&quot;'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3619330517185125378</id><published>2011-02-23T21:51:00.001+01:00</published><updated>2011-02-23T21:53:08.734+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='dia'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='diagram'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><title type='text'>Creating a custom shape for DIA: my notebook.</title><summary type='text'>In the this post, I'll describe how to create a custom shape for DIA, a diagram creation program.  The logo of the NCBI (149x183) was downloaded from commons.wikimedia.org.Inkscape was used to transform this picture to a vectorial drawing (SVG).In ${HOME}/.dia/sheet, I wrote the following sheet describing the package Bio and containing one object named "Bio - NCBI"&lt;?xml version="1.0" encoding="</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3619330517185125378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3619330517185125378' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3619330517185125378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3619330517185125378'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/creating-custom-shape-for-dia-my.html' title='Creating a custom shape for DIA: my notebook.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7661650087802050043</id><published>2011-02-22T21:47:00.003+01:00</published><updated>2011-02-22T21:50:21.887+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><title type='text'>A flex scanner extracting the metadata from a PDF file.</title><summary type='text'>4 years ago, I played with the adobe XMP library to extract the XMP metadata from a set of PDF files.Today, I was suprised to simply display the XMP data contained in a PDF from Nature by using the following command line:curl -s "http://www.nature.com/nrcardio/journal/v8/n2/pdf/nrcardio.2010.184.pdf" |\strings |\grep -A 100 "&lt;x:xmpmeta"I've generalized this process by implementing a GNU-flex </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7661650087802050043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7661650087802050043' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7661650087802050043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7661650087802050043'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/flex-scanner-extracting-metadata-from.html' title='A flex scanner extracting the metadata from a PDF file.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-6358607282708432448</id><published>2011-02-21T18:56:00.001+01:00</published><updated>2011-02-21T18:58:01.378+01:00</updated><title type='text'>Tabix: Fast retrieval of sequence features from generic TAB-delimited files</title><summary type='text'>This post is about Tabix whose paper has been recently published in Bioinformatics:Bioinformatics. 2011 Jan 5.Tabix: Fast retrieval of sequence features from generic TAB-delimited files.Li H.Broad Institute, 7 Cambridge Center, Cambridge, MA 02142, USA.Download &amp;InstallDownload tabix from Extract &amp; compile:&gt; bunzip2  tabix-0.2.3.tar.bz2&gt; tar xf tabix-0.2.3.tar&gt; cd tabix-0.2.3&gt; makeTesting with </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/6358607282708432448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=6358607282708432448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6358607282708432448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/6358607282708432448'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/tabix-fast-retrieval-of-sequence.html' title='Tabix: Fast retrieval of sequence features from generic TAB-delimited files'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1275206211808460790</id><published>2011-02-18T19:32:00.003+01:00</published><updated>2011-02-18T19:53:18.391+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>A Data Scraper for Amazonia (expression)</title><summary type='text'>Today, we had a lecture about the "human induced pluripotent stem cells", presented by John De Vos. He introduced Amazonia, a free web atlas that allows an easy query of public human transcriptome data. Although there is no web service (REST/SOAP) to access this data, I was interested in getting some profiles of expression from this database as it is something I've failed to achieve with NCBI/GEO</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1275206211808460790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1275206211808460790' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1275206211808460790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1275206211808460790'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/data-scraper-for-amazonia-expression.html' title='A Data Scraper for Amazonia (expression)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1231618388112477334</id><published>2011-02-16T08:54:00.004+01:00</published><updated>2011-02-16T08:58:38.985+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Generating a WIG file containing the coverage data of a BAM file</title><summary type='text'>The following (experimental) C-code generates a 'Wiggle Track Format' (WIG) file containing the coverage/depth data extracted from a BAM file.It uses the C API of samtools to loop over the mapped short reads of the BAM file, and for each short-read, it scans the CIGAR description and increase the number of hits seen on the chromosome at a given position.It takes as an optional UCSC knownGene.txt </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1231618388112477334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1231618388112477334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1231618388112477334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1231618388112477334'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/generating-wig-file-containing-coverage.html' title='Generating a WIG file containing the coverage data of a BAM file'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5044849500913686095</id><published>2011-02-08T20:43:00.002+01:00</published><updated>2011-02-08T20:47:15.885+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Visualizing my twitter network with Zoom.it</title><summary type='text'>I wrote a small Java tool to download my twitter network as a GEXF file. This tool is available on github at:https://github.com/lindenb/(...)/TwitterGraph.javajava -jar  twittergraph.jar -o twittergraph.gexf 7431072 #my twitter IDThis tool doesn't use the OAuth API, so it have to wait for a few minutes, and retry to connect, every times  it reaches the twitter API quotas (150 requests per hour). </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5044849500913686095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5044849500913686095' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5044849500913686095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5044849500913686095'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/visualizing-my-twitter-network-with.html' title='Visualizing my twitter network with Zoom.it'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2652510986179202083</id><published>2011-02-03T22:39:00.003+01:00</published><updated>2011-02-03T22:43:35.466+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='interaction'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><title type='text'>Using the #Gephi toolkit to draw a graph from PSI-MI data, my notebook</title><summary type='text'>GEPHI, interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs. Recently, a java library , the Gephi toolkit has been released and was used by LinkedIn for generating its inMaps.I've been playing with the Toolkit, to generate a graph from a PSI-MI file downloaded from EMBL-Strings. The source code is available on github:</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2652510986179202083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2652510986179202083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2652510986179202083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2652510986179202083'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/using-gephi-toolkit-to-draw-graph-from.html' title='Using the #Gephi toolkit to draw a graph from PSI-MI data, my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8336822281155323623</id><published>2011-02-03T21:16:00.004+01:00</published><updated>2011-02-03T21:23:26.747+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>Testing if a BAM file is sorted using the samtools C API.</title><summary type='text'>"Is my BAM file sorted ? is there any tool (in samtools ?) to quickly know whether a BAM file has been sorted or not ? should I run `samtools sort` ?": this is the question I asked yesterday on BioStar.Brad Chapman  suggested to use 'samtools index' as an unsorted BAM would return an error.On my side I wrote the following 'C' program using the Samtools API:This program opens one or more BAM file </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8336822281155323623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8336822281155323623' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8336822281155323623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8336822281155323623'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/02/testing-if-bam-file-is-sorted-using.html' title='Testing if a BAM file is sorted using the samtools C API.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1284283335257913972</id><published>2011-01-07T17:24:00.004+01:00</published><updated>2011-01-07T17:31:40.393+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='taxonomy'/><category scheme='http://www.blogger.com/atom/ns#' term='tree'/><title type='text'>SVG image in wikipedia + Zoom.it =a  Zoomable "Tree of life"</title><summary type='text'>Zoom.it is a free service for viewing and sharing high-resolution imagery. You give us the link to any image ( including SVG, pdfs) on the web  along with a nice short URL.. As a test, I used the SVG file "Tree of life with genome size.svg" on wikipedia and here is the awesome result generated by Zoom.it:http://zoom.it/1zyThat's it,Piere</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1284283335257913972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1284283335257913972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1284283335257913972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1284283335257913972'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/01/svg-image-in-wikipedia-zoomit-zoomable.html' title='SVG image in wikipedia + Zoom.it =a  Zoomable &quot;Tree of life&quot;'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3261183195213468303</id><published>2011-01-05T23:59:00.003+01:00</published><updated>2011-01-06T00:10:40.527+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='structured'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Template:Infobox biodatabase</title><summary type='text'>I've just started creating a wikipedia infobox to annotate the biological databases in wikipedia. If many articles use this template, then it will be possible to parse the them and to create a list of the databases providing some web services, some SPARQL endpoints, having a download area etc... The infobox itself is still a draft, so feel free to modify it or to suggest some other fields in the </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3261183195213468303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3261183195213468303' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3261183195213468303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3261183195213468303'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/01/templateinfobox-biodatabase.html' title='Template:Infobox biodatabase'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5027271971236573434</id><published>2011-01-05T23:21:00.002+01:00</published><updated>2011-01-05T23:25:31.711+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='genetics'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='soap'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='cxf'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='wsdl'/><category scheme='http://www.blogger.com/atom/ns#' term='webservices'/><title type='text'>Coding a CXF web service translating a DNA to a protein. My notebook</title><summary type='text'>Apache CXF is a Web Services framework. In this post, I'll will describe how I implemented a Web Service translating a DNA to a protein using the web server Apache Tomcat and the CXF libraries.Defining the interfaceFirst a simple java interface bio.Translate is needed to describe the service. This simple service receives a string (the dna) and returns a string (the peptide). The annotations will </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5027271971236573434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5027271971236573434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5027271971236573434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5027271971236573434'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/01/coding-cxf-web-service-translating-dna.html' title='Coding a CXF web service translating a DNA to a protein. My notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1710459144673069665</id><published>2011-01-05T16:47:00.001+01:00</published><updated>2011-01-05T16:50:40.862+01:00</updated><title type='text'>Don't mask this sequence, please.</title><summary type='text'>I recently asked on Biostar if it would be worth to mask the non-genic sequence before aligning the short reads on the reference after an exome sequencing. Although I was convinced by the answer of lh3, I was curious to observe the difference with some real data.I've downloaded two fastqs files from ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/data/NA20772/sequence_read/ERR004053_*.</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1710459144673069665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1710459144673069665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1710459144673069665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1710459144673069665'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/01/dont-mask-this-sequence-please.html' title='Don&apos;t mask this sequence, please.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4901570239146721358</id><published>2011-01-01T11:15:00.004+01:00</published><updated>2011-01-26T21:39:36.637+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='das'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='genomics'/><category scheme='http://www.blogger.com/atom/ns#' term='annotation'/><category scheme='http://www.blogger.com/atom/ns#' term='ngs'/><title type='text'>My tool to annotate VCF files.</title><summary type='text'>The Variant Call Format is a text file format generated by many tools for NGS. It contains meta-information lines, a header line, and then data lines describing how the mutations were called. I don't like this format because it cannot be used to store some hierachical annotations (like json or xml), nevertheless it is a de facto standard.I wrote a tool called vcfannotator to append a set of </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4901570239146721358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4901570239146721358' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4901570239146721358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4901570239146721358'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2011/01/my-tool-to-annotate-vcf-files.html' title='My tool to annotate VCF files.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-776389422713992214</id><published>2010-12-31T15:05:00.004+01:00</published><updated>2010-12-31T15:18:32.901+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='protein'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Translating a DNA to a Protein using server-side javascript and C: my notebook</title><summary type='text'>In my previous post , I used Node.js to translate a DNA to a protein on the Server-side, using javascript. In the following post, I again will translate a DNAn but this time by calling a specialized C program on the server side.Source codeThe C programThe C program reads a DNA string from stdin a translate it using the standard genetic code:Compilation:gcc -o /my/bin/path/translate translate.cThe</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/776389422713992214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=776389422713992214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/776389422713992214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/776389422713992214'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/12/translating-dna-to-protein-using-server.html' title='Translating a DNA to a Protein using server-side javascript and C: my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3609599578874167419</id><published>2010-12-31T13:47:00.005+01:00</published><updated>2010-12-31T14:04:00.957+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='protein'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><title type='text'>Server-side javascript: translating a DNA with Node.js</title><summary type='text'>(wikipedia) Node.js  is an evented I/O framework for the V8 JavaScript engine on Unix-like platforms. It is intended for writing scalable (javascript-based) network programs such as web servers.In the following post I will create a javascript server translating a DNA to a protein.Installing Node.jsI've downloaded the sources for Node.js from http://nodejs.org/#download. It compiled (configure+</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3609599578874167419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3609599578874167419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3609599578874167419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3609599578874167419'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/12/server-side-javascript-translating-dna.html' title='Server-side javascript: translating a DNA with Node.js'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4917205867617980045</id><published>2010-12-14T21:47:00.002+01:00</published><updated>2010-12-14T21:50:21.440+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><title type='text'>Looking for an expert ?</title><summary type='text'>Yesterday, Andrew Su  asked on Biostar: "Given a gene, what is the best automated method to identify the world experts? ".Here is my solution:First for a given gene name, we use NCBI-ESearch to find its Gene-Id in NCBI GeneThe Gene record is then downloaded as XML using NCBI-EFetchXPATH is used to retrieve all the articles in pubmed about this gene and identified by the XML tags &lt;PubMedId&gt;Each </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4917205867617980045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4917205867617980045' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4917205867617980045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4917205867617980045'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/12/looking-for-expert.html' title='Looking for an expert ?'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2678692307259402874</id><published>2010-12-13T20:38:00.004+01:00</published><updated>2010-12-13T20:52:51.240+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journal'/><category scheme='http://www.blogger.com/atom/ns#' term='open'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='publication'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>A new journal: BMC Open Research Computation #OpenResComp</title><summary type='text'>www.openresearchcomputation.comCiting ''Aims &amp; scope'':Open Research Computation publishes peer reviewed articles that describe the development, capacities, and uses of software designed for use by researchers in any field.Submissions relating to software for use in any area of research are welcome as are articles dealing with algorithms, useful code snippets, as well as large applications or web</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2678692307259402874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2678692307259402874' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2678692307259402874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2678692307259402874'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/12/new-journal-bmc-open-research.html' title='A new journal: BMC Open Research Computation #OpenResComp'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8588822091905549865</id><published>2010-11-24T20:52:00.004+01:00</published><updated>2010-11-24T21:11:46.626+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>My drawing for the cover of "Immunity" has been published</title><summary type='text'>My drawing for the cover of the latest issue of "Immunity" has been published. The original version was not used because the layer containing the gradients has been removed.. My drawing illustrates the paper by Kasper &amp; al.: Cell-Cell Propagation of NF-κB Transcription Factor and MAP Kinase Activation Amplifies Innate Immunity against Bacterial InfectionImmunity, Volume 33, Issue 5, 804-816, 18 </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8588822091905549865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8588822091905549865' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8588822091905549865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8588822091905549865'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/11/my-drawing-for-cover-of-immunity-has.html' title='My drawing for the cover of &quot;Immunity&quot; has been published'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1378602878996088606</id><published>2010-11-17T22:41:00.004+01:00</published><updated>2010-11-17T22:49:54.198+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='parser'/><category scheme='http://www.blogger.com/atom/ns#' term='blast'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='parsing'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='annotation'/><title type='text'>BLAST/XML+Annotations</title><summary type='text'>I recently asked on Biostar if it would be possible to align two sequences while displaying their respective annotations.As both answers I received (SPICE and jalview ) require a graphical interface, I quickly wrote a command-line java program  doing the job. This program reads a NCBI/BLAST XML output and, if the 'query' or the 'hit' definition lines start with "gi|....", it fetches the Genbank </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1378602878996088606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1378602878996088606' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1378602878996088606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1378602878996088606'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/11/blastxmlannotations.html' title='BLAST/XML+Annotations'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-3578114163528720393</id><published>2010-11-03T18:48:00.005+01:00</published><updated>2010-11-24T18:59:53.223+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='journal'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>We got email from "Immunity"</title><summary type='text'>regarding my previous post:From: xxxx@cell.comSent: Wednesday, November 03, 2010 5:55 PMSubject: Regarding cover-art decision for ImmunityI'm pleased to notify you that your submission has been selected as the cover art for the November issue of Immunity! I’ve attached a low-resolution mockup of the cover here for your notice because we’ve adjusted the colors a bit. Furthermore, could you please </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/3578114163528720393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=3578114163528720393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3578114163528720393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/3578114163528720393'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/11/we-got-email-from-immunity.html' title='We got email from &quot;Immunity&quot;'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-786787712485715986</id><published>2010-10-29T18:07:00.004+02:00</published><updated>2010-10-30T17:45:28.633+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stax'/><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='mediawiki'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='timeline'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><category scheme='http://www.blogger.com/atom/ns#' term='scientists'/><title type='text'>Revisions=f(time): and the winner is Charles Darwin</title><summary type='text'>I've been playing with the mediawiki API to draw a timeline of popular scientists through the last centuries using the number of revisions in wikipedia as the Y-axis. The java code generating this timeline is available here:WikipediaBioEdits.java. This code:loops over the articles having a Template:infobox scientistgets the categories of an article and retrieves the birth/death dates threw the </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/786787712485715986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=786787712485715986' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/786787712485715986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/786787712485715986'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/10/revisionsftime-and-winner-is-charles.html' title='Revisions=f(time): and the winner is Charles Darwin'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2316446172965972</id><published>2010-10-27T01:02:00.001+02:00</published><updated>2010-10-27T01:05:25.744+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><title type='text'>Coloring a black and white drawing with the GIMP: my notebook</title><summary type='text'>I've been kindly asked to draw a proposal for the cover of http://www.cell.com/immunity (It's just a project and I'm not sure it will be accepted). So, here is my notebook for using GIMP (GNU Image Manipulation Program) to colorize a black and white drawing. Foreword:: just like everybody: I do hate gimp.The Original DrawingScan the original drawing at 600dpi. Open it as a ".xcf" color image (the</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2316446172965972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2316446172965972' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2316446172965972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2316446172965972'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/10/coloring-black-and-white-drawing-with.html' title='Coloring a black and white drawing with the GIMP: my notebook'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1570282727348559644</id><published>2010-10-24T21:07:00.004+02:00</published><updated>2010-10-24T21:39:56.547+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='protein'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><title type='text'>Where are the alternative reading frames in the Human Genome ?</title><summary type='text'>The following post was inspired by a question asked recently on Biostar :"Do exons ever have different reading frames in spliced variants?".To find those alternative reading frames I've used the table KnownGene available at UCSC from : http://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/knownGene.txt.gz. This file contains the positions of the exons for each transcript in the human genome:</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1570282727348559644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1570282727348559644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1570282727348559644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1570282727348559644'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/10/where-are-alternative-reading-frames-in.html' title='Where are the alternative reading frames in the Human Genome ?'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2160131074507345555</id><published>2010-10-11T22:39:00.002+02:00</published><updated>2010-10-11T22:47:00.499+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='mediawiki'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='jsp'/><category scheme='http://www.blogger.com/atom/ns#' term='annotation'/><title type='text'>A custom JSP tag for mediawiki</title><summary type='text'>I'm pretty happy with the following custom JSP tag for mediawiki I wrote last week (http://code.google.com/p/code915/source/browse/trunk/charpak/src/WEB-INF/src/fr/inserm/umr915/charpak/j2ee/tags/MediaWikiTag.java). For a given title, it calls the mediawiki api to test if an article exists in a mediawiki installation. In my case, this system will be useful to let my users write some custom </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2160131074507345555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2160131074507345555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2160131074507345555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2160131074507345555'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/10/custom-jsp-tag-for-mediawiki.html' title='A custom JSP tag for mediawiki'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8017267423698166708</id><published>2010-10-11T21:37:00.004+02:00</published><updated>2010-10-11T21:54:40.178+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='mesh'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='sax'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><title type='text'>Playing with the Wordle algorithm: a tag cloud of Mesh Terms</title><summary type='text'>The paper describing Wordle has been recently published (http://www.research.ibm.com/visual/papers/wordle_final2.pdf ). The algorithm was briefly described:    “The most distinctive geometric aspect of a Wordle is the layout algorithm, which packs words to make efficient use of space. While many space-filling visualizations exist, they typically work by recursiveLayout proceeds according to this </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8017267423698166708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8017267423698166708' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8017267423698166708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8017267423698166708'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/10/playing-with-worldle-algorithm-tag.html' title='Playing with the Wordle algorithm: a tag cloud of Mesh Terms'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7889635289184776924</id><published>2010-10-10T11:50:00.000+02:00</published><updated>2010-11-03T18:46:14.563+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><title type='text'>The Geek is dead. Long live the Geek :-)</title><summary type='text'>congratulations to Neil! ;-)        frameborder="0"  scrolling="no" width="210px" height="60px"&gt;        frameborder="0"  scrolling="no" width="210px" height="60px"&gt;</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7889635289184776924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7889635289184776924' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7889635289184776924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7889635289184776924'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/10/geek-is-dead-long-live-geek.html' title='The Geek is dead. Long live the Geek :-)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-710081795203858244</id><published>2010-09-24T17:23:00.001+02:00</published><updated>2010-09-24T17:26:12.268+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='mongodb'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='r'/><title type='text'>Connecting to a MongoDB database from R using the C API for MongoDB</title><summary type='text'>Today, Neil posted an article titled" Connecting to a MongoDB database from R using Java". In the current post, I'll show  how to use the C API for MongoDB to fetch some MongoDB  data from R. The code will be somehow similar to my previous post "A stateful C function for R: parsing Fasta sequences".OK, First, let's add a few values in mongo:for(i=1;i&gt; 20;++i)      db.dbsnps.save({_id:"rs"+i,name:</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/710081795203858244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=710081795203858244' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/710081795203858244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/710081795203858244'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/connecting-to-mongodb-database-from-r.html' title='Connecting to a MongoDB database from R using the C API for MongoDB'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-4829981689868414968</id><published>2010-09-22T23:26:00.005+02:00</published><updated>2010-09-23T00:13:46.332+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='canvas'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='chart'/><title type='text'>A Simple tool to get the sex ratio in pubmed.</title><summary type='text'>Just for fun, I wrote a simple java tool to get the sex ratio of the authors in Pubmed. This program fetches a list of names/genders I found in the following perl module: http://cpansearch.perl.org/src/EDALY/Text-GenderFromName-0.33/GenderFromName.pm. The source code is available at http://github.com/lindenb/(...)/PubmedGender.javaUpdate:I uloaded an executable jar  here.(In the following </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/4829981689868414968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=4829981689868414968' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4829981689868414968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/4829981689868414968'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/simple-tool-to-get-sex-ratio-in-pubmed.html' title='A Simple tool to get the sex ratio in pubmed.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7163609452499763162</id><published>2010-09-21T20:36:00.002+02:00</published><updated>2010-09-21T20:38:55.380+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='go'/><category scheme='http://www.blogger.com/atom/ns#' term='mongodb'/><category scheme='http://www.blogger.com/atom/ns#' term='geneontology'/><category scheme='http://www.blogger.com/atom/ns#' term='tree'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>Trees in Mongodb, my notebook with Gene Ontology</title><summary type='text'>In the current post I've loaded the Gene Ontology into MongoDB and played with the tree structure of the database:Loading GeneOntology into MongoDBFirst, download GO as RDF at http://archive.geneontology.org/latest-termdb/go_daily-termdb.rdf-xml.gz and transform it with my XSLT stylesheet go2mongo.xsl (available here):&lt;?xml version=&amp;apos;1.0&amp;apos;  encoding="UTF-8" ?&gt;&lt;xsl:stylesheet        xmlns:</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7163609452499763162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7163609452499763162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7163609452499763162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7163609452499763162'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/trees-in-mongodb-my-notebook-with-gene.html' title='Trees in Mongodb, my notebook with Gene Ontology'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2155476441573224501</id><published>2010-09-19T21:36:00.004+02:00</published><updated>2010-09-19T21:59:13.145+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='mongodb'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Indexing some genomic positions with MongoDB: my benchmark</title><summary type='text'>The aim of this post was to find a good way to index some genomic positions with mongodb. (Update: it was tested on my laptop without replication )My initial dataset is a list of SNPs on the chromosomes chr22 and chrM from the UCSC.mysql -N -h  genome-mysql.cse.ucsc.edu -A -u genome -D hg18 \ -e 'select chrom,chromStart,name from snp130  where chrom in("chr22","chrM")'From this dataset, a </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2155476441573224501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2155476441573224501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2155476441573224501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2155476441573224501'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/indexing-some-genomic-positions-with.html' title='Indexing some genomic positions with MongoDB: my benchmark'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2471422267307493907</id><published>2010-09-16T17:38:00.003+02:00</published><updated>2010-09-16T17:43:44.127+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='jsp'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='mongodb'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><title type='text'>Using MongoDB with Apache Tomcat, searching for Pubmed articles</title><summary type='text'>The current post continues the previous one titled "MongoDB and NCBI pubmed: Inserting, searching and updating. My notebook.".Here I've used the Java API for MongoDB/BSON in Apache Tomcat, the java servlet container to search and display some pubmed papers stored in mongo via a web interface. At the end the result looks like this:The servletThe servlet uses the JAVA API for mongo.An instance of </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2471422267307493907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2471422267307493907' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2471422267307493907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2471422267307493907'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/using-mongodb-with-apache-tomcat.html' title='Using MongoDB with Apache Tomcat, searching for Pubmed articles'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5929024577554328302</id><published>2010-09-15T17:55:00.006+02:00</published><updated>2010-09-16T08:18:56.243+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='nosql'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='mongodb'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>MongoDB and NCBI pubmed: Inserting, searching and updating. My notebook.</title><summary type='text'>After Neil and Jan, it is now my turn to play with MongoDB.In this post, I've inserted some NCBI/PUBMED records into Mongo and tested various queries for selecting and updating the entries.The initial set was a list of ~300 records where Charles Darwin was cited as a  "[PersonalNameSubject]": http://www.ncbi.nlm.nih.gov/sites/entrez?db=pubmed&amp;cmd=search&amp;term=%22Darwin+C%22[ps]. This set was saved</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5929024577554328302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5929024577554328302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5929024577554328302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5929024577554328302'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/mongodb-and-ncbi-pubmed-inserting.html' title='MongoDB and NCBI pubmed: Inserting, searching and updating. My notebook.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8375728190231712847</id><published>2010-09-04T11:29:00.004+02:00</published><updated>2010-09-04T11:35:26.474+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='toolbox'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><category scheme='http://www.blogger.com/atom/ns#' term='asn1'/><title type='text'>Dumping  NCBI Gene as XML: my notebook.</title><summary type='text'>Download the NCBI C toolboxThe version I used was ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/CURRENT/NCBI_C_Toolkit/ncbi_c--Jun_15_2010.tar.gz, the uncompress the file.Change the name to 'ncbi':mv ncbi_c--Jun_15_2010.tar.gz ncbiand compile the toolkit:ncbi/make/makedis.csh (...)**********************************************************The new binaries are located in ./ncbi/build/ directory******</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8375728190231712847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8375728190231712847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8375728190231712847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8375728190231712847'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/dumping-ncbi-gene-as-xml-my-notebook.html' title='Dumping  NCBI Gene as XML: my notebook.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8498153656526795925</id><published>2010-09-02T21:43:00.005+02:00</published><updated>2010-09-02T21:47:30.470+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='darwin'/><title type='text'>Playing with the ming API , a C library for SWF/Flash.My notebook.</title><summary type='text'>Ming is a C library generating some simple Flash/SWF movies. In this post I will describe how I used the Ming API by try to converting to SWF the SVG that was generated in a previous post Genetic Algorithm with Darwin's Face: Dynamic SVG The original SVG fileThe original SVG file looks like this:&lt;?xml version="1.0"?&gt;&lt;svg:svg xmlns:svg="http://www.w3.org/2000/svg" version="1.1" width="160" height=</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8498153656526795925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8498153656526795925' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8498153656526795925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8498153656526795925'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/09/playing-with-ming-api-c-library-for.html' title='Playing with the ming API , a C library for SWF/Flash.My notebook.'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-7100507005324342913</id><published>2010-08-11T21:52:00.004+02:00</published><updated>2010-08-11T22:13:00.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='mediawiki'/><category scheme='http://www.blogger.com/atom/ns#' term='extension'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='pubmed'/><category scheme='http://www.blogger.com/atom/ns#' term='ncbi'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>Mwncbi, a mediawiki extension loading asynchronously some records from the NCBI</title><summary type='text'>I've just created new extension for mediawiki. This extension creates a new handler for three new tags :&lt;ncbigene/&gt; , &lt;ncbisnp&gt; and &lt;ncbipubmed&gt;.Each of those tags download asynchronously a XML record from the NCBI (Gene, NCBI Pubmed or dbSNP) using NCBI-EFetch. The XML is then transformed to HTML  on the client side using a XSLT transformation and inserted in the mediawiki page. (As the XSLT </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/7100507005324342913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=7100507005324342913' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7100507005324342913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/7100507005324342913'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/08/mwncbi-mediawiki-extension-loading.html' title='Mwncbi, a mediawiki extension loading asynchronously some records from the NCBI'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8175919172829269821</id><published>2010-08-06T21:50:00.001+02:00</published><updated>2010-08-06T21:53:26.829+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mediawiki'/><category scheme='http://www.blogger.com/atom/ns#' term='extension'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>A MediaWiki extension displaying the UCSC Genome Browser</title><summary type='text'>Today I wrote an extension for mediawiki displaying an HTML &lt;iframe/&gt; to the UCSC Genome Browser. This extension will help my colleagues to annotate some candidate genes threw our local wiki.This extension handles a new tag &lt;ucsciframe&gt; composed of three required parameters: 'chrom', 'start' and 'end'.For example &lt;ucsciframe chrom="chr2" start="98987" end="9879899"/&gt;The source code for this </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8175919172829269821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8175919172829269821' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8175919172829269821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8175919172829269821'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/08/mediawiki-extension-displaying-ucsc.html' title='A MediaWiki extension displaying the UCSC Genome Browser'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-5125298071353387283</id><published>2010-08-04T21:50:00.002+02:00</published><updated>2010-08-04T21:53:07.561+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='snp'/><category scheme='http://www.blogger.com/atom/ns#' term='svg'/><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='genomics'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>A Tiny Genome Browser (XHTML/Javascript/json/svg)</title><summary type='text'>I'm currently working on a small set of NGS data and all I need is a simple genome browser to display my mutations while being able to select some SNPs according to some criteria (is it a known rs## , what is the prediction with SIFT or/and Polyphen ?, etc... ). As it is a relative small amount of data, it can be embedded in a webpage without needing a web server.First, I need a description of </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/5125298071353387283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=5125298071353387283' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5125298071353387283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/5125298071353387283'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/08/tiny-genome-browser-xhtmljavascriptjson.html' title='A Tiny Genome Browser (XHTML/Javascript/json/svg)'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-1218065422462714216</id><published>2010-08-03T22:21:00.004+02:00</published><updated>2010-08-03T22:47:50.262+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><title type='text'>Curvilnear perspective</title><summary type='text'>I've always been fascinated by Albert Flocon's book about Curvilinear Perspective.[source]I started the article in the french wikipedia and I've searched for a long time how to generate those figures. The solution was rather simple simple: For a point with the 3D coordinates:(x0,y0,z0). Then, in a curvilinear perspectivedist=sqrt(x1^2 + y1^2 + z1^2)x=x1/disty=y1/distI can now generate my own </summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/1218065422462714216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=1218065422462714216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1218065422462714216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/1218065422462714216'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/08/curvilnear-perspective.html' title='Curvilnear perspective'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-2354081712060027196</id><published>2010-08-03T21:33:00.003+02:00</published><updated>2010-08-03T21:57:13.901+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Creating a TAR file in C++</title><summary type='text'>I just wrote a C++ class creating a Tar file. The source code is available at:http://github.com/.../tarball.h. Creating such archive is useful when a web server should return a set of files or when a tool generates a whole bunch of files.Example~&gt; g++ -Wall -I ${PATH_TO_SRC}/cclindenb/src/core tarfile.cpp~&gt; ./a.out~&gt; tar tvf archive.tar-rw-r--r-- pierre/users     14 2010-08-03 20:50 myfiles/item1</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/2354081712060027196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=2354081712060027196' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2354081712060027196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/2354081712060027196'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/08/creating-tar-file-in-c.html' title='Creating a TAR file in C++'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14688252.post-8505596145422935584</id><published>2010-08-03T20:18:00.002+02:00</published><updated>2010-08-03T20:23:09.503+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bioinformatics'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='ucsc'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>Transforming mysql results to JSON using XSLT</title><summary type='text'>The option '-X' of mysql produces a XML output:mysql --user=genome --host=genome-mysql.cse.ucsc.edu -A \ -e 'select * from knownGene where chrom="chr1" limit 2' -X  -D hg19&lt;?xml version="1.0"?&gt;&lt;resultset statement="select * from knownGene where chrom=&amp;quot;chr1&amp;quot; limit 2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;  &lt;row&gt;     &lt;field name="name"&gt;uc001aaa.3&lt;/field&gt;        &lt;field name</summary><link rel='replies' type='application/atom+xml' href='http://plindenbaum.blogspot.com/feeds/8505596145422935584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14688252&amp;postID=8505596145422935584' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8505596145422935584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14688252/posts/default/8505596145422935584'/><link rel='alternate' type='text/html' href='http://plindenbaum.blogspot.com/2010/08/transforming-mysql-results-to-json.html' title='Transforming mysql results to JSON using XSLT'/><author><name>Pierre Lindenbaum</name><uri>http://www.blogger.com/profile/13765837643388003852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_19HRU-hRDtc/SMGGE5T10nI/AAAAAAAAAmU/R_mbNx_oN4E/S220/photoIG.jpg'/></author><thr:total>3</thr:total></entry></feed>
