From 0e706214e89a66439228ebabb7fe116ecd081f59 Mon Sep 17 00:00:00 2001 From: Micha Rautenberg Date: Tue, 12 Jul 2016 10:23:12 +0200 Subject: Add in-silico-methods 2012 presentation --- .../in-silico-methods12/in-silico-methods.html | 569 +++++++++++++++++++++ .../in-silico-methods12/in-silico-methods.rst | 221 ++++++++ .../presentations/in-silico-methods12/index.html | 569 +++++++++++++++++++++ .../in-silico-methods12/lazar-input.png | Bin 0 -> 54827 bytes .../in-silico-methods12/lazar-output1.png | Bin 0 -> 39072 bytes .../in-silico-methods12/lazar-output2.png | Bin 0 -> 60856 bytes .../in-silico-methods12/lazar-output3.png | Bin 0 -> 54945 bytes .../presentations/in-silico-methods12/ui/.DS_Store | Bin 0 -> 6148 bytes .../in-silico-methods12/ui/small-white/blank.gif | Bin 0 -> 49 bytes .../in-silico-methods12/ui/small-white/framing.css | 24 + .../ui/small-white/iepngfix.htc | 42 ++ .../in-silico-methods12/ui/small-white/opera.css | 8 + .../in-silico-methods12/ui/small-white/outline.css | 16 + .../in-silico-methods12/ui/small-white/pretty.css | 115 +++++ .../in-silico-methods12/ui/small-white/print.css | 24 + .../in-silico-methods12/ui/small-white/s5-core.css | 11 + .../in-silico-methods12/ui/small-white/slides.css | 10 + .../in-silico-methods12/ui/small-white/slides.js | 558 ++++++++++++++++++++ views/presentations.haml | 3 + 19 files changed, 2170 insertions(+) create mode 100644 public/presentations/in-silico-methods12/in-silico-methods.html create mode 100644 public/presentations/in-silico-methods12/in-silico-methods.rst create mode 100644 public/presentations/in-silico-methods12/index.html create mode 100644 public/presentations/in-silico-methods12/lazar-input.png create mode 100644 public/presentations/in-silico-methods12/lazar-output1.png create mode 100644 public/presentations/in-silico-methods12/lazar-output2.png create mode 100644 public/presentations/in-silico-methods12/lazar-output3.png create mode 100644 public/presentations/in-silico-methods12/ui/.DS_Store create mode 100644 public/presentations/in-silico-methods12/ui/small-white/blank.gif create mode 100644 public/presentations/in-silico-methods12/ui/small-white/framing.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/iepngfix.htc create mode 100644 public/presentations/in-silico-methods12/ui/small-white/opera.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/outline.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/pretty.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/print.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/s5-core.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/slides.css create mode 100644 public/presentations/in-silico-methods12/ui/small-white/slides.js diff --git a/public/presentations/in-silico-methods12/in-silico-methods.html b/public/presentations/in-silico-methods12/in-silico-methods.html new file mode 100644 index 0000000..189761c --- /dev/null +++ b/public/presentations/in-silico-methods12/in-silico-methods.html @@ -0,0 +1,569 @@ + + + + + + + +In silico methods for toxicity prediction + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+
+

In silico methods for toxicity prediction

+ +++ + + + + + + + +
Author:Christoph Helma
Affiliation:in silico toxicology gmbh
Date:2012-10-04
+ +
+
+

Outline

+
    +
  • In silico toxicology methods
  • +
  • Lazar framework
  • +
  • Products and services
  • +
+
+
+

In silico methods

+
    +
  • Systems biology/molecular modeling
  • +
  • Expert systems
  • +
  • Data driven techniques
  • +
+
+
+

Systems biology/molecular modeling

+

Model individual events (e.g. receptor interactions, (de)toxification) of the adverse outcome pathway

+
    +
  • Mechanistic interpretation
  • +
+
    +
  • Calculations/simulations may be very time consuming
  • +
  • May require a lot of experimental data for parameterization
  • +
  • Impossible to model mechanisms of complex toxicological endpoints
  • +
+

Examples: VirtualToxLab/Biograf

+
+
+

Expert systems

+

Formalize expert knowledge about chemicals and toxicity mechanisms and create a software program

+
    +
  • Mechanistic interpretation
  • +
+
    +
  • Model creation very time consuming
  • +
  • Many toxicity mechanisms are poorly understood or even unknown
  • +
  • Error prone and hard to validate (strong tendency towards overfitting)
  • +
+

Examples: Derek/Lhasa

+
+
+

Data driven

+

Use all existing data for a particular endpoint and apply machine learning/QSAR algorithms in order to create a prediction model

+
    +
  • Comparably fast
  • +
  • Applicable for every endpoint with sufficient experimental data
  • +
  • Sound validation possible
  • +
+
    +
  • Applicability domain/model quality depends on experimental data
  • +
  • Mechanistic relevance has to be extracted from models/descriptors/predictions
  • +
+

Examples: Classical QSARs, Topkat, Multicase, lazar

+
+
+

Lazy-Structure-Activity Relationships (lazar)

+

Automated read across predictions

+
    +
  • Find similar compounds (=neighbors) with measured activities
  • +
  • Create a local (Q)SAR model with neighbors as training compounds
  • +
  • Make a prediction with this model
  • +
+

Lazar estimates the confidence (applicability domain) for each prediction

+
+
+

Chemical Similarity

+

Can be based on

+
    +
  • Chemical structures
  • +
  • Chemical properties
  • +
  • Biological properties
  • +
  • ...
  • +
+

Lazar uses activity specific similarities

+
+
+

Activity specific similarities

+

Consider only relevant (i.e. statistically significant) substructures, properties, ... for similarity calculations

+

Algorithms for finding relevant substructures (by A. Maunz):

+
    +
  • Backbone refinement classes (BBRC)
  • +
  • Latent structure mining (LAST)
  • +
+
+ + + + +
+

Lazar limitations

+
    +
  • Model quality depends on data quality
  • +
  • Applicability domain depends on learning instances
  • +
+
+
+

in silico toxicology gmbh

+

Open source software and algorithm development

+
    +
  • Predictive toxicology and QSAR models
  • +
  • Toxicological data mining
  • +
  • Life science webservices and data warehouses
  • +
+
+
+

Why open source?

+
    +
  • Clear and unambiguous documentation of implemented algorithms essential for scientific software (also required by many regulatory guidelines)
  • +
  • Collaboration with partners, projects and external contributors
  • +
  • Establishment of international standards
  • +
  • Security of investment
  • +
+
+
+

EU Research projects (FP6/7)

+ +++ + + + + + + + + + + + +
Sens-it-iv:Novel testing strategies for in vitro assessment of allergens
Scarlet:Network on in silico methods for carcinogenicity and mutagenicity
OpenTox:Open source framework for predictive toxicology
ToxBank:Integrated data analysis and servicing of alternative testing methods in toxicology
ModNanoTox:Modelling toxicity behaviour of engineered nanoparticles
+
+
+

Free products and services

+ +++ + + + + + + + + + +
Lazar application:
 http://lazar.in-silico.ch
OpenTox Webservices:
 http://webservices.in-silico.ch
Source code:https://github.com/opentox
+

Issue tracker, documentation, ...

+
+
+

Commercial products and services

+
    +
  • Lazar "software as a service" (SaaS): secure access for confidential predictions, batch predictions, ...
  • +
  • Virtual appliances with lazar software for in-house/desktop installation
  • +
  • Installation services
  • +
  • Phone and email support
  • +
+
+
+

Commercial products and services

+
    +
  • Virtual toxicity screening of compounds and libraries
  • +
  • Development of prediction models for new endpoints
  • +
  • Scientific programming, contract research and consulting
  • +
+
+
+

Contact

+ +++ + + + + + +
Web:http://www.in-silico.ch
Email:helma@in-silico.ch
+
+
+ + diff --git a/public/presentations/in-silico-methods12/in-silico-methods.rst b/public/presentations/in-silico-methods12/in-silico-methods.rst new file mode 100644 index 0000000..33f5884 --- /dev/null +++ b/public/presentations/in-silico-methods12/in-silico-methods.rst @@ -0,0 +1,221 @@ +========================================= +In silico methods for toxicity prediction +========================================= + +:Author: Christoph Helma +:Affiliation: in silico toxicology gmbh +:Date: 2012-10-04 + +.. footer:: 2012-10-04 *in silico* toxicology gmbh + +Outline +======= + +.. class:: incremental + +- In silico toxicology methods +- Lazar framework +- Products and services + +In silico methods +================= +.. class:: incremental + +- Systems biology/molecular modeling +- Expert systems +- Data driven techniques + +Systems biology/molecular modeling +==================================== + +Model individual events (e.g. receptor interactions, (de)toxification) of the *adverse outcome pathway* + +.. class:: incremental small green + +- Mechanistic interpretation + +.. class:: incremental small red + +- Calculations/simulations may be very time consuming +- May require a lot of experimental data for parameterization +- Impossible to model mechanisms of complex toxicological endpoints + +Examples: VirtualToxLab/Biograf + +Expert systems +============== + +Formalize expert knowledge about chemicals and toxicity mechanisms and create a software program + +.. class:: incremental small green + +- Mechanistic interpretation + +.. class:: incremental small red + +- Model creation very time consuming +- Many toxicity mechanisms are poorly understood or even unknown +- Error prone and hard to validate (strong tendency towards overfitting) + +Examples: Derek/Lhasa + +Data driven +=========== + +Use all existing data for a particular endpoint and apply machine learning/QSAR algorithms in order to create a prediction model + +.. class:: incremental small green + +- Comparably fast +- Applicable for every endpoint with sufficient experimental data +- Sound validation possible + +.. class:: incremental small red + +- Applicability domain/model quality depends on experimental data +- Mechanistic relevance has to be extracted from models/descriptors/predictions + +Examples: Classical QSARs, Topkat, Multicase, lazar + +Lazy-Structure-Activity Relationships (lazar) +============================================= + +Automated read across predictions + +.. class:: incremental small + +- Find *similar* compounds (=neighbors) with measured activities +- Create a local (Q)SAR model with neighbors as training compounds +- Make a prediction with this model + +.. class:: incremental + +Lazar estimates the confidence (*applicability domain*) for each prediction + +Chemical Similarity +=================== + +Can be based on + +.. class:: incremental + +- Chemical structures +- Chemical properties +- Biological properties +- ... + +.. class:: incremental + +Lazar uses *activity specific similarities* + +Activity specific similarities +============================== + +Consider only *relevant* (i.e. statistically significant) substructures, properties, ... for similarity calculations + +Algorithms for finding relevant substructures (by A. Maunz): + +- Backbone refinement classes (BBRC) +- Latent structure mining (LAST) + +http://lazar.in-silico.ch +========================= + +.. image:: lazar-input.png + :height: 13em + :align: center + +http://lazar.in-silico.ch +========================= + +.. image:: lazar-output1.png + :height: 13em + :align: center + +http://lazar.in-silico.ch +========================= + +.. image:: lazar-output2.png + :height: 13em + :align: center + +http://lazar.in-silico.ch +========================= + +.. image:: lazar-output3.png + :height: 13em + :align: center + +Lazar limitations +================= + +.. class:: incremental + +- Model quality depends on data quality +- Applicability domain depends on learning instances + +in silico toxicology gmbh +========================= + +Open source software and algorithm development + +.. class:: incremental + +- Predictive toxicology and QSAR models +- Toxicological data mining +- Life science webservices and data warehouses + +Why open source? +================ + +.. class:: incremental + +- Clear and unambiguous documentation of implemented algorithms essential for scientific software (also required by many regulatory guidelines) +- Collaboration with partners, projects and external contributors +- Establishment of international standards +- Security of investment + +EU Research projects (FP6/7) +============================ + +.. class:: small + +:Sens-it-iv: Novel testing strategies for in vitro assessment of allergens +:Scarlet: Network on in silico methods for carcinogenicity and mutagenicity +:OpenTox: Open source framework for predictive toxicology +:ToxBank: Integrated data analysis and servicing of alternative testing methods in toxicology +:ModNanoTox: Modelling toxicity behaviour of engineered nanoparticles + +Free products and services +========================== + +:Lazar application: http://lazar.in-silico.ch +:OpenTox Webservices: http://webservices.in-silico.ch +:Source code: https://github.com/opentox + +Issue tracker, documentation, ... + +Commercial products and services +================================ + +.. class:: incremental + +- Lazar "software as a service" (SaaS): secure access for confidential predictions, batch predictions, ... +- Virtual appliances with lazar software for in-house/desktop installation +- Installation services +- Phone and email support + +Commercial products and services +================================ + +.. class:: incremental + +- Virtual toxicity screening of compounds and libraries +- Development of prediction models for new endpoints +- Scientific programming, contract research and consulting + +Contact +======= + +:Web: http://www.in-silico.ch +:Email: helma@in-silico.ch diff --git a/public/presentations/in-silico-methods12/index.html b/public/presentations/in-silico-methods12/index.html new file mode 100644 index 0000000..189761c --- /dev/null +++ b/public/presentations/in-silico-methods12/index.html @@ -0,0 +1,569 @@ + + + + + + + +In silico methods for toxicity prediction + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+
+

In silico methods for toxicity prediction

+ +++ + + + + + + + +
Author:Christoph Helma
Affiliation:in silico toxicology gmbh
Date:2012-10-04
+ +
+
+

Outline

+
    +
  • In silico toxicology methods
  • +
  • Lazar framework
  • +
  • Products and services
  • +
+
+
+

In silico methods

+
    +
  • Systems biology/molecular modeling
  • +
  • Expert systems
  • +
  • Data driven techniques
  • +
+
+
+

Systems biology/molecular modeling

+

Model individual events (e.g. receptor interactions, (de)toxification) of the adverse outcome pathway

+
    +
  • Mechanistic interpretation
  • +
+
    +
  • Calculations/simulations may be very time consuming
  • +
  • May require a lot of experimental data for parameterization
  • +
  • Impossible to model mechanisms of complex toxicological endpoints
  • +
+

Examples: VirtualToxLab/Biograf

+
+
+

Expert systems

+

Formalize expert knowledge about chemicals and toxicity mechanisms and create a software program

+
    +
  • Mechanistic interpretation
  • +
+
    +
  • Model creation very time consuming
  • +
  • Many toxicity mechanisms are poorly understood or even unknown
  • +
  • Error prone and hard to validate (strong tendency towards overfitting)
  • +
+

Examples: Derek/Lhasa

+
+
+

Data driven

+

Use all existing data for a particular endpoint and apply machine learning/QSAR algorithms in order to create a prediction model

+
    +
  • Comparably fast
  • +
  • Applicable for every endpoint with sufficient experimental data
  • +
  • Sound validation possible
  • +
+
    +
  • Applicability domain/model quality depends on experimental data
  • +
  • Mechanistic relevance has to be extracted from models/descriptors/predictions
  • +
+

Examples: Classical QSARs, Topkat, Multicase, lazar

+
+
+

Lazy-Structure-Activity Relationships (lazar)

+

Automated read across predictions

+
    +
  • Find similar compounds (=neighbors) with measured activities
  • +
  • Create a local (Q)SAR model with neighbors as training compounds
  • +
  • Make a prediction with this model
  • +
+

Lazar estimates the confidence (applicability domain) for each prediction

+
+
+

Chemical Similarity

+

Can be based on

+
    +
  • Chemical structures
  • +
  • Chemical properties
  • +
  • Biological properties
  • +
  • ...
  • +
+

Lazar uses activity specific similarities

+
+
+

Activity specific similarities

+

Consider only relevant (i.e. statistically significant) substructures, properties, ... for similarity calculations

+

Algorithms for finding relevant substructures (by A. Maunz):

+
    +
  • Backbone refinement classes (BBRC)
  • +
  • Latent structure mining (LAST)
  • +
+
+ + + + +
+

Lazar limitations

+
    +
  • Model quality depends on data quality
  • +
  • Applicability domain depends on learning instances
  • +
+
+
+

in silico toxicology gmbh

+

Open source software and algorithm development

+
    +
  • Predictive toxicology and QSAR models
  • +
  • Toxicological data mining
  • +
  • Life science webservices and data warehouses
  • +
+
+
+

Why open source?

+
    +
  • Clear and unambiguous documentation of implemented algorithms essential for scientific software (also required by many regulatory guidelines)
  • +
  • Collaboration with partners, projects and external contributors
  • +
  • Establishment of international standards
  • +
  • Security of investment
  • +
+
+
+

EU Research projects (FP6/7)

+ +++ + + + + + + + + + + + +
Sens-it-iv:Novel testing strategies for in vitro assessment of allergens
Scarlet:Network on in silico methods for carcinogenicity and mutagenicity
OpenTox:Open source framework for predictive toxicology
ToxBank:Integrated data analysis and servicing of alternative testing methods in toxicology
ModNanoTox:Modelling toxicity behaviour of engineered nanoparticles
+
+
+

Free products and services

+ +++ + + + + + + + + + +
Lazar application:
 http://lazar.in-silico.ch
OpenTox Webservices:
 http://webservices.in-silico.ch
Source code:https://github.com/opentox
+

Issue tracker, documentation, ...

+
+
+

Commercial products and services

+
    +
  • Lazar "software as a service" (SaaS): secure access for confidential predictions, batch predictions, ...
  • +
  • Virtual appliances with lazar software for in-house/desktop installation
  • +
  • Installation services
  • +
  • Phone and email support
  • +
+
+
+

Commercial products and services

+
    +
  • Virtual toxicity screening of compounds and libraries
  • +
  • Development of prediction models for new endpoints
  • +
  • Scientific programming, contract research and consulting
  • +
+
+
+

Contact

+ +++ + + + + + +
Web:http://www.in-silico.ch
Email:helma@in-silico.ch
+
+
+ + diff --git a/public/presentations/in-silico-methods12/lazar-input.png b/public/presentations/in-silico-methods12/lazar-input.png new file mode 100644 index 0000000..196e71b Binary files /dev/null and b/public/presentations/in-silico-methods12/lazar-input.png differ diff --git a/public/presentations/in-silico-methods12/lazar-output1.png b/public/presentations/in-silico-methods12/lazar-output1.png new file mode 100644 index 0000000..18fa0d1 Binary files /dev/null and b/public/presentations/in-silico-methods12/lazar-output1.png differ diff --git a/public/presentations/in-silico-methods12/lazar-output2.png b/public/presentations/in-silico-methods12/lazar-output2.png new file mode 100644 index 0000000..faf0839 Binary files /dev/null and b/public/presentations/in-silico-methods12/lazar-output2.png differ diff --git a/public/presentations/in-silico-methods12/lazar-output3.png b/public/presentations/in-silico-methods12/lazar-output3.png new file mode 100644 index 0000000..17480d7 Binary files /dev/null and b/public/presentations/in-silico-methods12/lazar-output3.png differ diff --git a/public/presentations/in-silico-methods12/ui/.DS_Store b/public/presentations/in-silico-methods12/ui/.DS_Store new file mode 100644 index 0000000..7738c28 Binary files /dev/null and b/public/presentations/in-silico-methods12/ui/.DS_Store differ diff --git a/public/presentations/in-silico-methods12/ui/small-white/blank.gif b/public/presentations/in-silico-methods12/ui/small-white/blank.gif new file mode 100644 index 0000000..75b945d Binary files /dev/null and b/public/presentations/in-silico-methods12/ui/small-white/blank.gif differ diff --git a/public/presentations/in-silico-methods12/ui/small-white/framing.css b/public/presentations/in-silico-methods12/ui/small-white/framing.css new file mode 100644 index 0000000..70287dd --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/framing.css @@ -0,0 +1,24 @@ +/* This file has been placed in the public domain. */ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 1em 4% 0 4%; z-index: 2;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; + z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/public/presentations/in-silico-methods12/ui/small-white/iepngfix.htc b/public/presentations/in-silico-methods12/ui/small-white/iepngfix.htc new file mode 100644 index 0000000..2a44681 --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/iepngfix.htc @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/public/presentations/in-silico-methods12/ui/small-white/opera.css b/public/presentations/in-silico-methods12/ui/small-white/opera.css new file mode 100644 index 0000000..c9d1148 --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/opera.css @@ -0,0 +1,8 @@ +/* This file has been placed in the public domain. */ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/public/presentations/in-silico-methods12/ui/small-white/outline.css b/public/presentations/in-silico-methods12/ui/small-white/outline.css new file mode 100644 index 0000000..fa767e2 --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/outline.css @@ -0,0 +1,16 @@ +/* This file has been placed in the public domain. */ +/* Don't change this unless you want the layout stuff to show up in the + outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} + +.outline {display: inline ! important;} diff --git a/public/presentations/in-silico-methods12/ui/small-white/pretty.css b/public/presentations/in-silico-methods12/ui/small-white/pretty.css new file mode 100644 index 0000000..2e762bc --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/pretty.css @@ -0,0 +1,115 @@ +/* This file has been placed in the public domain. */ +/* Following are the presentation styles -- edit away! */ + +html, body {margin: 0; padding: 0;} +body {background: white; color: black;} +:link, :visited {text-decoration: none; color: #00C;} +#controls :active {color: #888 !important;} +#controls :focus {outline: 1px dotted #222;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} + +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em;} +blockquote p {margin: 0;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +.slide pre {padding: 0; margin-left: 0; margin-right: 0; font-size: 90%;} +.slide ul ul li {list-style: square;} +.slide img {margin-top: 0.5em} +.slide img.leader {display: block; margin: 0 auto} +.slide tt {font-size: 90%;} + +div#footer {font-family: sans-serif; color: #444; + font-size: 0.5em; font-weight: bold; padding: 1em 0;} +#footer h1 {display: block; padding: 0 1em;} +#footer h2 {display: block; padding: 0.8em 1em 0;} + +.slide {font-size: 1.2em;} +.slide h1 {padding-top: 0; z-index: 1; margin: 0; font: bold 150% sans-serif;} +.slide h2 {font: bold 120% sans-serif; padding-top: 0.5em;} +.slide h3 {font: bold 100% sans-serif; padding-top: 0.5em;} +h1 abbr {font-variant: small-caps;} + +div#controls {position: absolute; left: 50%; bottom: 0; + width: 50%; text-align: right; font: bold 0.9em sans-serif;} +html>body div#controls {position: fixed; padding: 0 0 1em 0; top: auto;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0; padding: 0;} +#controls #navLinks a {padding: 0; margin: 0 0.5em; + border: none; color: #888; cursor: pointer;} +#controls #navList {height: 1em;} +#controls #navList #jumplist {position: absolute; bottom: 0; right: 0; + background: #DDD; color: #222;} + +#currentSlide {text-align: center; font-size: 0.5em; color: #444; + font-family: sans-serif; font-weight: bold;} + +#slide0 {padding-top: 0em} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; + font: bold 2em sans-serif; white-space: normal; background: transparent;} +#slide0 h2 {font: bold italic 1em sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +/* .external:after {content: " \274F"; font-size: smaller; color: #77B;} */ + +.incremental, .incremental *, .incremental *:after { + color: white; visibility: visible; border: 0; border: 0;} +img.incremental {visibility: hidden;} +.slide .current {color: green;} + +.slide-display {display: inline ! important;} + +.huge {font-family: sans-serif; font-weight: bold; font-size: 150%;} +.big {font-family: sans-serif; font-weight: bold; font-size: 120%;} +.small {font-size: 75%;} +.tiny {font-size: 50%;} +.huge tt, .big tt, .small tt, .tiny tt {font-size: 115%;} +.huge pre, .big pre, .small pre, .tiny pre {font-size: 115%;} + +.maroon {color: maroon;} +.red {color: red;} +.magenta {color: magenta;} +.fuchsia {color: fuchsia;} +.pink {color: #FAA;} +.orange {color: orange;} +.yellow {color: yellow;} +.lime {color: lime;} +.green {color: green;} +.olive {color: olive;} +.teal {color: teal;} +.cyan {color: cyan;} +.aqua {color: aqua;} +.blue {color: blue;} +.navy {color: navy;} +.purple {color: purple;} +.black {color: black;} +.gray {color: gray;} +.silver {color: silver;} +.white {color: white;} + +.left {text-align: left ! important;} +.center {text-align: center ! important;} +.right {text-align: right ! important;} + +.animation {position: relative; margin: 1em 0; padding: 0;} +.animation img {position: absolute;} + +/* Docutils-specific overrides */ + +.slide table.docinfo {margin: 1em 0 0.5em 2em;} + +pre.literal-block, pre.doctest-block {background-color: white;} + +tt.docutils {background-color: white;} + +/* diagnostics */ +/* +li:after {content: " [" attr(class) "]"; color: #F88;} +div:before {content: "[" attr(class) "]"; color: #F88;} +*/ diff --git a/public/presentations/in-silico-methods12/ui/small-white/print.css b/public/presentations/in-silico-methods12/ui/small-white/print.css new file mode 100644 index 0000000..9d057cc --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/print.css @@ -0,0 +1,24 @@ +/* This file has been placed in the public domain. */ +/* The following rule is necessary to have all slides appear in print! + DO NOT REMOVE IT! */ +.slide, ul {page-break-inside: avoid; visibility: visible !important;} +h1 {page-break-after: avoid;} + +body {font-size: 12pt; background: white;} +* {color: black;} + +#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;} +#slide0 h3 {margin: 0; padding: 0;} +#slide0 h4 {margin: 0 0 0.5em; padding: 0;} +#slide0 {margin-bottom: 3em;} + +#header {display: none;} +#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; + font-style: italic;} +#footer h2, #controls {display: none;} + +.print {display: inline ! important;} + +/* The following rule keeps the layout stuff out of print. + Remove at your own risk! */ +.layout, .layout * {display: none !important;} diff --git a/public/presentations/in-silico-methods12/ui/small-white/s5-core.css b/public/presentations/in-silico-methods12/ui/small-white/s5-core.css new file mode 100644 index 0000000..6965f5e --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/s5-core.css @@ -0,0 +1,11 @@ +/* This file has been placed in the public domain. */ +/* Do not edit or override these styles! + The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/public/presentations/in-silico-methods12/ui/small-white/slides.css b/public/presentations/in-silico-methods12/ui/small-white/slides.css new file mode 100644 index 0000000..82bdc0e --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/slides.css @@ -0,0 +1,10 @@ +/* This file has been placed in the public domain. */ + +/* required to make the slide show run at all */ +@import url(s5-core.css); + +/* sets basic placement and size of slide components */ +@import url(framing.css); + +/* styles that make the slides look good */ +@import url(pretty.css); diff --git a/public/presentations/in-silico-methods12/ui/small-white/slides.js b/public/presentations/in-silico-methods12/ui/small-white/slides.js new file mode 100644 index 0000000..87c30c6 --- /dev/null +++ b/public/presentations/in-silico-methods12/ui/small-white/slides.js @@ -0,0 +1,558 @@ +// S5 v1.1 slides.js -- released into the Public Domain +// Modified for Docutils (http://docutils.sf.net) by David Goodger +// +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for +// information about all the wonderful and talented contributors to this code! + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var slideIDs = new Array(); +var incpos = 0; +var number = undef; +var s5mode = true; +var defaultView = 'slideshow'; +var controlVis = 'visible'; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + + var did = 'slide' + n.toString(); + if (obj.getAttribute('id')) { + slideIDs[n] = obj.getAttribute('id'); + } + else { + obj.setAttribute('id',did); + slideIDs[n] = did; + } + if (isOp) continue; + + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs; + var footer_nodes; + var vis = 'visible'; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + footer_nodes = document.getElementById('footer').childNodes; + } else { + cs = document.currentSlide; + footer = document.footer.childNodes; + } + cs.innerHTML = '' + snum + '<\/span> ' + + '\/<\/span> ' + + '' + (smax-1) + '<\/span>'; + if (snum == 0) { + vis = 'hidden'; + } + cs.style.visibility = vis; + for (var i = 0; i < footer_nodes.length; i++) { + if (footer_nodes[i].nodeType == 1) { + footer_nodes[i].style.visibility = vis; + } + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + var jl = document.getElementById('jumplist'); + var cid = slideIDs[snum]; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + } else + snum = parseInt(jl.value); + var nid = slideIDs[snum]; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById(slideIDs[0]); + snum = 0; + } + if (step < 0) {incpos = incrementals[snum].length} else {incpos = 0;} + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) + incpos = i + 1; + else + addClass(incrementals[snum][i], 'incremental'); + } + } + if (incrementals[snum].length > 0 && incpos > 0) + addClass(incrementals[snum][incpos - 1], 'current'); + ce.style.visibility = 'hidden'; + ne.style.visibility = 'visible'; + jl.selectedIndex = snum; + currentSlide(); + number = 0; +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos],'current'); + incpos++; + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + } +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + if (!slides.disabled) { + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize('1em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': obj.style.visibility = 'visible'; break; + case 'h': obj.style.visibility = 'hidden'; break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +// 'keys' code adapted from MozPoint (http://mozpoint.mozdev.org/) +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (key.which == 84) { + toggle(); + return; + } + if (s5mode) { + switch (key.which) { + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 36: // home + goTo(0); + break; + case 35: // end + goTo(smax-1); + break; + case 67: // c + showHide('k'); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else target = e.target; + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target, 'object')) return true; + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } +} + +function findSlide(hash) { + var target = document.getElementById(hash); + if (target) { + for (var i = 0; i < slideIDs.length; i++) { + if (target.id == slideIDs[i]) return i; + } + } + return null; +} + +function slideJump() { + if (window.location.hash == null || window.location.hash == '') { + currentSlide(); + return; + } + if (window.location.hash == null) return; + var dest = null; + dest = findSlide(window.location.hash.slice(1)); + if (dest == null) { + dest = 0; + } + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#.+'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i' + + '