SlideShare une entreprise Scribd logo
1  sur  28
Another Genome Browser LocusTree Pierre Lindenbaum PhD.  Fondation Jean Dausset Dec. 2009 [email_address] http://plindenbaum.blogspot.com
 
“ A brave new genome browser”
Saaien Tist http://saaientist.blogspot.com
BerkeleyDB: A Key/Value Database  (Oracle) C API Java Bindings (JNI) Pure Java http://www.oracle.com/database/berkeley-db/index.html
How it works
 
 
 
 
 
 
Loading the Data
<organisms> <organism id=&quot;36&quot;> <name>hg18</name> <description> Human Genome Build v.36 </description> <metadata>{&quot;taxon-id&quot;:9606}</metadata> </organism> </organisms> Organisms
<tracks> <track id=&quot;1&quot;> <name>cytobands</name> <description>UCSC cytobands</description> </track> <track id=&quot;2&quot;> <name>knownGene</name> <description>UCSC knownGene</description> </track> <track id=&quot;3&quot;> <name>snp130</name> <description>dbSNP v.130</description> </track> </tracks> Tracks
<chromosomes organism-id=&quot;36&quot;> <chromosome id=&quot;1&quot;> <name>chr1</name> <metadata> {&quot;size&quot;:247249719,&quot;type&quot;:&quot;autosomal&quot;} </metadata> </chromosome> <chromosome id=&quot;10&quot;> <name>chr10</name> <metadata> {&quot;size&quot;:135374737,&quot;type&quot;:&quot;autosomal&quot;} </metadata> </chromosome> (...) </chromosomes> Chromosomes Chromosomes
public interface LTLoader { public MappedObject getMappedObject(); public String getChromosome(); public Set<String> getKeywords(); } public interface LTStreamLoader extends LTLoader { public void open(String uri) throws IOException; public void close() throws IOException; public boolean next() throws IOException; } Objects
<loaders> <load organism-id=&quot;36&quot; track-id=&quot;5&quot; class-loader=&quot;fr.cephb.locustree.loaders.UCSCAllMrnaLoader&quot; limit=&quot;10000&quot;> http://hgdownload.cse.ucsc.edu/(...)/all_mrna.txt.gz </load> <load organism-id=&quot;36&quot; track-id=&quot;4&quot; class-loader=&quot;fr.cephb.locustree.loaders.UCSCSnpCodingLoader&quot; limit=&quot;10000&quot;> http://hgdownload.cse.ucsc.edu/(...)/snp130CodingDbSnp.txt.gz </load> </loaders> Objects
Implementation: Servlet/JSP Apache Tomcat
Searching
Browsing
SVG
hg18  chr1  knownGene  uc001act.2  Q96HA4  1007060 1041599 {'exonEnds':[1008230,1009626,1009749,1011255,1012447,1012840,1015671,1016226,1016808,1017346,1040318,1041599],'exonStarts':[1007060,1009157,1009723,1011120,1012381,1012744,1015595,1016118,1016714,1017233,1040264,1041302],'strand':'-'} hg18  chr1  knownGene  uc001acm.2  Q96HA4-2  1007060 1017346 {'exonEnds':[1008230,1011255,1012447,1012840,1015671,1016808,1017346],'exonStarts':[1007060,1011120,1012381,1012744,1015595,1016714,1017233],'strand':'-'} hg18  chr1  knownGene  uc001acu.2  Q96HA4-4  1007060 1041599 {'exonEnds':[1008230,1009626,1009749,1011255,1012447,1012840,1015671,1016808,1017346,1041599],'exonStarts':[1007060,1009595,1009723,1011120,1012381,1012744,1015595,1016714,1017233,1041302],'strand':'-'} hg18  chr1  knownGene  uc009vju.1  uc009vju.1  1007060 1017346 {'exonEnds':[1008230,1009626,1009749,1011255,1012840,1015671,1016808,1017346],'exonStarts':[1007060,1009595,1009723,1011120,1012744,1015595,1016714,1017233],'strand':'-'} hg18  chr1  knownGene  uc001acr.2  uc001acr.2  1007060 1041599 {'exonEnds':[1008230,1009329,1009626,1009749,1011255,1012447,1012840,1015671,1016617,1016808,1017346,1041599],'exonStarts':[1007060,1009157,1009595,1009723,1011120,1012381,1012744,1015595,1016520,1016714,1017233,1041302],'strand':'-'} hg18  chr1  knownGene  uc001acs.2  uc001acs.2  1007060 1041599 {'exonEnds':[1008230,1009329,1009626,1009749,1011255,1012447,1012840,1015671,1016808,1017346,1041599],'exonStarts':[1007060,1009157,1009595,1009723,1011120,1012381,1012744,1015595,1016714,1017233,1041302],'strand':'-'} Export: text/plain
 
Distributed Annotation System DAS
 
LocusTreeService service=new LocusTreeService(); LocusTree locustree=service.getLocusTreeSePort(); final int organismId=36; for(Chromosome chrom  :  locustree. getChromosomes(organismId) ) { System.out.println( chrom.getId()+&quot;&quot;+ chrom.getName()+&quot;&quot;+ chrom.getOrganismId()+&quot;&quot;+ chrom.getLength() ); } 1 chr1 36 247249719 2 chr2 36 242951149 3 chr3 36 199501827 4 chr4 36 191273063 5 chr5 36 180857866 6 chr6 36 170899992 7 chr7 36 158821424 8 chr8 36 146274826 9 chr9 36 140273252 (...)
Thank you.

Contenu connexe

En vedette

GenoCensus™: Analysis and Visualisation of Genomic Copy Number Variation
GenoCensus™: Analysis and Visualisation of Genomic Copy Number VariationGenoCensus™: Analysis and Visualisation of Genomic Copy Number Variation
GenoCensus™: Analysis and Visualisation of Genomic Copy Number VariationPierre Lindenbaum
 
Analyzing Exome Data with KNIME
Analyzing Exome Data with KNIMEAnalyzing Exome Data with KNIME
Analyzing Exome Data with KNIMEPierre Lindenbaum
 
Tweeting for the BioStar Paper
Tweeting for the BioStar PaperTweeting for the BioStar Paper
Tweeting for the BioStar PaperPierre Lindenbaum
 
RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...
RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...
RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...Pierre Lindenbaum
 
Introduction to mongodb for bioinformatics
Introduction to mongodb for bioinformaticsIntroduction to mongodb for bioinformatics
Introduction to mongodb for bioinformaticsPierre Lindenbaum
 
Pourquoi et comment créer son Réseau
Pourquoi et comment créer son RéseauPourquoi et comment créer son Réseau
Pourquoi et comment créer son RéseauPierre Lindenbaum
 
20110114 Next Generation Sequencing Course
20110114 Next Generation Sequencing Course20110114 Next Generation Sequencing Course
20110114 Next Generation Sequencing CoursePierre Lindenbaum
 

En vedette (11)

GenoCensus™: Analysis and Visualisation of Genomic Copy Number Variation
GenoCensus™: Analysis and Visualisation of Genomic Copy Number VariationGenoCensus™: Analysis and Visualisation of Genomic Copy Number Variation
GenoCensus™: Analysis and Visualisation of Genomic Copy Number Variation
 
Me & Biohackathon 2010
Me & Biohackathon 2010Me & Biohackathon 2010
Me & Biohackathon 2010
 
Analyzing Exome Data with KNIME
Analyzing Exome Data with KNIMEAnalyzing Exome Data with KNIME
Analyzing Exome Data with KNIME
 
Tweeting for the BioStar Paper
Tweeting for the BioStar PaperTweeting for the BioStar Paper
Tweeting for the BioStar Paper
 
20120423.NGS.Rennes
20120423.NGS.Rennes20120423.NGS.Rennes
20120423.NGS.Rennes
 
RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...
RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...
RoXaN, une nouvelle protéine cellulaire interagissant avec la protéine non-st...
 
Biblio2.0
Biblio2.0Biblio2.0
Biblio2.0
 
Bioinformatician 2.0
Bioinformatician 2.0Bioinformatician 2.0
Bioinformatician 2.0
 
Introduction to mongodb for bioinformatics
Introduction to mongodb for bioinformaticsIntroduction to mongodb for bioinformatics
Introduction to mongodb for bioinformatics
 
Pourquoi et comment créer son Réseau
Pourquoi et comment créer son RéseauPourquoi et comment créer son Réseau
Pourquoi et comment créer son Réseau
 
20110114 Next Generation Sequencing Course
20110114 Next Generation Sequencing Course20110114 Next Generation Sequencing Course
20110114 Next Generation Sequencing Course
 

Similaire à An implementation of Jan Aerts' LocusTree

Searching the Now
Searching the NowSearching the Now
Searching the Nowlucasjosh
 
HTML5, the open web, and what it means for you -Tech4Africa
HTML5, the open web, and what it means for you -Tech4AfricaHTML5, the open web, and what it means for you -Tech4Africa
HTML5, the open web, and what it means for you -Tech4AfricaRobert Nyman
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyChristian Thilmany
 
Web Scraper Shibuya.pm tech talk #8
Web Scraper Shibuya.pm tech talk #8Web Scraper Shibuya.pm tech talk #8
Web Scraper Shibuya.pm tech talk #8Tatsuhiko Miyagawa
 
JSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLJSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLseleciii44
 
Fast SOA with Apache Synapse
Fast SOA with Apache SynapseFast SOA with Apache Synapse
Fast SOA with Apache SynapsePaul Fremantle
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheCris Holdorph
 
Enhance Web Performance
Enhance Web PerformanceEnhance Web Performance
Enhance Web PerformanceAdam Lu
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationDavid Calavera
 
Real time web (Orbited) at BCNE3
Real time web (Orbited) at BCNE3Real time web (Orbited) at BCNE3
Real time web (Orbited) at BCNE3Alex Kavanagh
 
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015CODE BLUE
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersTodd Anglin
 
Faceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StoryFaceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StorySourcesense
 
London Web - Making a usable accessible website using HTML5 and CSS3 allowing...
London Web - Making a usable accessible website using HTML5 and CSS3 allowing...London Web - Making a usable accessible website using HTML5 and CSS3 allowing...
London Web - Making a usable accessible website using HTML5 and CSS3 allowing...Nathan O'Hanlon
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaPrajal Kulkarni
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moondavejohnson
 
Beyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noahlusis
 

Similaire à An implementation of Jan Aerts' LocusTree (20)

Searching the Now
Searching the NowSearching the Now
Searching the Now
 
HTML5, the open web, and what it means for you -Tech4Africa
HTML5, the open web, and what it means for you -Tech4AfricaHTML5, the open web, and what it means for you -Tech4Africa
HTML5, the open web, and what it means for you -Tech4Africa
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Web Scraper Shibuya.pm tech talk #8
Web Scraper Shibuya.pm tech talk #8Web Scraper Shibuya.pm tech talk #8
Web Scraper Shibuya.pm tech talk #8
 
JSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLJSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTL
 
Fast SOA with Apache Synapse
Fast SOA with Apache SynapseFast SOA with Apache Synapse
Fast SOA with Apache Synapse
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
 
Html5
Html5Html5
Html5
 
Enhance Web Performance
Enhance Web PerformanceEnhance Web Performance
Enhance Web Performance
 
GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementation
 
Real time web (Orbited) at BCNE3
Real time web (Orbited) at BCNE3Real time web (Orbited) at BCNE3
Real time web (Orbited) at BCNE3
 
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
 
Faceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StoryFaceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents Story
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
London Web - Making a usable accessible website using HTML5 and CSS3 allowing...
London Web - Making a usable accessible website using HTML5 and CSS3 allowing...London Web - Making a usable accessible website using HTML5 and CSS3 allowing...
London Web - Making a usable accessible website using HTML5 and CSS3 allowing...
 
JSON Viewer XPATH Workbook
JSON Viewer XPATH WorkbookJSON Viewer XPATH Workbook
JSON Viewer XPATH Workbook
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
 
Beyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noah
 

Plus de Pierre Lindenbaum

Next Generation Sequencing file Formats ( 2017 )
Next Generation Sequencing file Formats ( 2017 )Next Generation Sequencing file Formats ( 2017 )
Next Generation Sequencing file Formats ( 2017 )Pierre Lindenbaum
 
Mum, I 3D printed a gel comb !
Mum, I 3D printed a gel comb !Mum, I 3D printed a gel comb !
Mum, I 3D printed a gel comb !Pierre Lindenbaum
 
"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)Pierre Lindenbaum
 
File formats for Next Generation Sequencing
File formats for Next Generation SequencingFile formats for Next Generation Sequencing
File formats for Next Generation SequencingPierre Lindenbaum
 
Building a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebook
Building a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebookBuilding a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebook
Building a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebookPierre Lindenbaum
 
Golden Gate technology an efficient technology for performing Association stu...
Golden Gate technology an efficient technology for performing Association stu...Golden Gate technology an efficient technology for performing Association stu...
Golden Gate technology an efficient technology for performing Association stu...Pierre Lindenbaum
 

Plus de Pierre Lindenbaum (15)

Next Generation Sequencing file Formats ( 2017 )
Next Generation Sequencing file Formats ( 2017 )Next Generation Sequencing file Formats ( 2017 )
Next Generation Sequencing file Formats ( 2017 )
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Mum, I 3D printed a gel comb !
Mum, I 3D printed a gel comb !Mum, I 3D printed a gel comb !
Mum, I 3D printed a gel comb !
 
"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)
 
Advanced NCBI
Advanced NCBI Advanced NCBI
Advanced NCBI
 
File formats for Next Generation Sequencing
File formats for Next Generation SequencingFile formats for Next Generation Sequencing
File formats for Next Generation Sequencing
 
Building a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebook
Building a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebookBuilding a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebook
Building a Simple LIMS with the Eclipse Modeling Framework (EMF) ,my notebook
 
Make
MakeMake
Make
 
XML for bioinformatics
XML for bioinformaticsXML for bioinformatics
XML for bioinformatics
 
Sketching 20120412
Sketching 20120412Sketching 20120412
Sketching 20120412
 
Biostar17037
Biostar17037Biostar17037
Biostar17037
 
Variation Toolkit
Variation ToolkitVariation Toolkit
Variation Toolkit
 
Post doctoriales 2011
Post doctoriales 2011Post doctoriales 2011
Post doctoriales 2011
 
MyWordle.java
MyWordle.javaMyWordle.java
MyWordle.java
 
Golden Gate technology an efficient technology for performing Association stu...
Golden Gate technology an efficient technology for performing Association stu...Golden Gate technology an efficient technology for performing Association stu...
Golden Gate technology an efficient technology for performing Association stu...
 

Dernier

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

An implementation of Jan Aerts' LocusTree

  • 1. Another Genome Browser LocusTree Pierre Lindenbaum PhD. Fondation Jean Dausset Dec. 2009 [email_address] http://plindenbaum.blogspot.com
  • 2.  
  • 3. “ A brave new genome browser”
  • 5. BerkeleyDB: A Key/Value Database (Oracle) C API Java Bindings (JNI) Pure Java http://www.oracle.com/database/berkeley-db/index.html
  • 7.  
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 14. <organisms> <organism id=&quot;36&quot;> <name>hg18</name> <description> Human Genome Build v.36 </description> <metadata>{&quot;taxon-id&quot;:9606}</metadata> </organism> </organisms> Organisms
  • 15. <tracks> <track id=&quot;1&quot;> <name>cytobands</name> <description>UCSC cytobands</description> </track> <track id=&quot;2&quot;> <name>knownGene</name> <description>UCSC knownGene</description> </track> <track id=&quot;3&quot;> <name>snp130</name> <description>dbSNP v.130</description> </track> </tracks> Tracks
  • 16. <chromosomes organism-id=&quot;36&quot;> <chromosome id=&quot;1&quot;> <name>chr1</name> <metadata> {&quot;size&quot;:247249719,&quot;type&quot;:&quot;autosomal&quot;} </metadata> </chromosome> <chromosome id=&quot;10&quot;> <name>chr10</name> <metadata> {&quot;size&quot;:135374737,&quot;type&quot;:&quot;autosomal&quot;} </metadata> </chromosome> (...) </chromosomes> Chromosomes Chromosomes
  • 17. public interface LTLoader { public MappedObject getMappedObject(); public String getChromosome(); public Set<String> getKeywords(); } public interface LTStreamLoader extends LTLoader { public void open(String uri) throws IOException; public void close() throws IOException; public boolean next() throws IOException; } Objects
  • 18. <loaders> <load organism-id=&quot;36&quot; track-id=&quot;5&quot; class-loader=&quot;fr.cephb.locustree.loaders.UCSCAllMrnaLoader&quot; limit=&quot;10000&quot;> http://hgdownload.cse.ucsc.edu/(...)/all_mrna.txt.gz </load> <load organism-id=&quot;36&quot; track-id=&quot;4&quot; class-loader=&quot;fr.cephb.locustree.loaders.UCSCSnpCodingLoader&quot; limit=&quot;10000&quot;> http://hgdownload.cse.ucsc.edu/(...)/snp130CodingDbSnp.txt.gz </load> </loaders> Objects
  • 22. SVG
  • 23. hg18 chr1 knownGene uc001act.2 Q96HA4 1007060 1041599 {'exonEnds':[1008230,1009626,1009749,1011255,1012447,1012840,1015671,1016226,1016808,1017346,1040318,1041599],'exonStarts':[1007060,1009157,1009723,1011120,1012381,1012744,1015595,1016118,1016714,1017233,1040264,1041302],'strand':'-'} hg18 chr1 knownGene uc001acm.2 Q96HA4-2 1007060 1017346 {'exonEnds':[1008230,1011255,1012447,1012840,1015671,1016808,1017346],'exonStarts':[1007060,1011120,1012381,1012744,1015595,1016714,1017233],'strand':'-'} hg18 chr1 knownGene uc001acu.2 Q96HA4-4 1007060 1041599 {'exonEnds':[1008230,1009626,1009749,1011255,1012447,1012840,1015671,1016808,1017346,1041599],'exonStarts':[1007060,1009595,1009723,1011120,1012381,1012744,1015595,1016714,1017233,1041302],'strand':'-'} hg18 chr1 knownGene uc009vju.1 uc009vju.1 1007060 1017346 {'exonEnds':[1008230,1009626,1009749,1011255,1012840,1015671,1016808,1017346],'exonStarts':[1007060,1009595,1009723,1011120,1012744,1015595,1016714,1017233],'strand':'-'} hg18 chr1 knownGene uc001acr.2 uc001acr.2 1007060 1041599 {'exonEnds':[1008230,1009329,1009626,1009749,1011255,1012447,1012840,1015671,1016617,1016808,1017346,1041599],'exonStarts':[1007060,1009157,1009595,1009723,1011120,1012381,1012744,1015595,1016520,1016714,1017233,1041302],'strand':'-'} hg18 chr1 knownGene uc001acs.2 uc001acs.2 1007060 1041599 {'exonEnds':[1008230,1009329,1009626,1009749,1011255,1012447,1012840,1015671,1016808,1017346,1041599],'exonStarts':[1007060,1009157,1009595,1009723,1011120,1012381,1012744,1015595,1016714,1017233,1041302],'strand':'-'} Export: text/plain
  • 24.  
  • 26.  
  • 27. LocusTreeService service=new LocusTreeService(); LocusTree locustree=service.getLocusTreeSePort(); final int organismId=36; for(Chromosome chrom : locustree. getChromosomes(organismId) ) { System.out.println( chrom.getId()+&quot;&quot;+ chrom.getName()+&quot;&quot;+ chrom.getOrganismId()+&quot;&quot;+ chrom.getLength() ); } 1 chr1 36 247249719 2 chr2 36 242951149 3 chr3 36 199501827 4 chr4 36 191273063 5 chr5 36 180857866 6 chr6 36 170899992 7 chr7 36 158821424 8 chr8 36 146274826 9 chr9 36 140273252 (...)