├── site
├── .gitignore
├── ._index.md
├── img
│ ├── hr.png
│ └── noise.png
├── .__config.yml
├── font
│ ├── kreon-v6.woff
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.ttf
│ └── fontawesome-webfont.woff
├── _layouts
│ ├── wide.md
│ ├── slim.md
│ ├── default.html
│ ├── standard.html
│ ├── container.html
│ └── base.html
├── css
│ ├── gf.css
│ ├── syntax.css
│ ├── main.css
│ ├── fa.css
│ └── fa-ie7.css
├── _includes
│ ├── header.html
│ ├── meta.html
│ ├── page_header.html
│ ├── footer.html
│ ├── author.html
│ ├── analytics.html
│ ├── mailing_list_form.html
│ └── announcements.html
├── _config.yml
└── js
│ ├── hipchat.js
│ ├── html5shiv.js
│ └── bootstrap.js
├── README.md
├── topGO.Rnw
├── diffExp.Rnw
└── Snakefile
/site/.gitignore:
--------------------------------------------------------------------------------
1 | _site
--------------------------------------------------------------------------------
/site/._index.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/._index.md
--------------------------------------------------------------------------------
/site/img/hr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/img/hr.png
--------------------------------------------------------------------------------
/site/.__config.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/.__config.yml
--------------------------------------------------------------------------------
/site/img/noise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/img/noise.png
--------------------------------------------------------------------------------
/site/font/kreon-v6.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/font/kreon-v6.woff
--------------------------------------------------------------------------------
/site/font/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/font/FontAwesome.otf
--------------------------------------------------------------------------------
/site/font/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/font/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/site/font/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/font/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/site/font/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leipzig/snakemake-example/HEAD/site/font/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/site/_layouts/wide.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: container
3 | ---
4 |
5 |
6 | {% include page_header.html %}
7 | {{ content }}
8 |
--------------------------------------------------------------------------------
/site/_layouts/slim.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: container
3 | ---
4 |
5 |
6 | {% include page_header.html %}
7 | {{ content }}
8 |
9 |
--------------------------------------------------------------------------------
/site/_layouts/default.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: container
3 | ---
4 |
5 |
6 | {% include page_header.html %}
7 | {{ content }}
8 |
9 |
--------------------------------------------------------------------------------
/site/_layouts/standard.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: container
3 | ---
4 |
5 |
6 | {% include page_header.html %}
7 | {{ content }}
8 |
9 |
--------------------------------------------------------------------------------
/site/css/gf.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Kreon';
3 | font-style: normal;
4 | font-weight: 400;
5 | src: local('Kreon Regular'), local('Kreon-Regular'), url(../font/kreon-v6.woff) format('woff');
6 | }
--------------------------------------------------------------------------------
/site/_layouts/container.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: base
3 | ---
4 |
5 | {% include header.html %}
6 |
7 |
8 |
9 | {{ content }}
10 |
11 |
12 |
13 | {% include footer.html %}
14 |
--------------------------------------------------------------------------------
/site/_includes/header.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/site/_includes/meta.html:
--------------------------------------------------------------------------------
1 | {% if page.author %}{% include author.html %}{% endif %}{% if page.date %} · {{ page.date | date:"%B %d %Y" }}{% if page.modified %}(updated {{ page.modified | date:"%B %d %Y" }}){% endif %}{% endif %}
--------------------------------------------------------------------------------
/site/_config.yml:
--------------------------------------------------------------------------------
1 | layout: narrow
2 | markdown: redcarpet
3 | redcarpet:
4 | extensions: ["no_intra_emphasis", "fenced_code_blocks", "tables"]
5 | pygments: true
6 | name: Snakemake example
7 | baseurl : http://website
8 | uploaddir : http://website
9 | ucsc :
10 | mirror :
--------------------------------------------------------------------------------
/site/_includes/page_header.html:
--------------------------------------------------------------------------------
1 |
5 |
6 | {% if page.intro %}{{ page.intro }}
{% endif %}
--------------------------------------------------------------------------------
/site/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/site/_includes/author.html:
--------------------------------------------------------------------------------
1 | {% if site.authors[page.author] %}
2 |
3 | {% assign details = site.authors[page.author] %}
4 | {% if details.name %}
5 | {% assign name = details.name %}
6 | {% else %}
7 | {% assign name = page.author %}
8 | {% endif %}
9 | {% if details.website %}
10 | {{ name }}
11 | {% else %}
12 | {{ name }}
13 | {% endif %}
14 |
15 | {% endif %}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | snakemake-example
2 | =================
3 |
4 | ## Description
5 |
6 | This is a full-fledged [Snakemake](https://bitbucket.org/johanneskoester/snakemake) RNA-Seq pipeline with integrated [Jekyll](http://jekyllrb.com) project page production using a template I borrowed from [Byron Ruth](https://github.com/bruth).
7 |
8 | Some of the experiment specifics have been changed for privacy.
9 |
10 | ### Slides
11 | http://www.slideshare.net/jermdemo/taming-snakemake
12 |
--------------------------------------------------------------------------------
/site/_includes/analytics.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/site/_includes/mailing_list_form.html:
--------------------------------------------------------------------------------
1 | Stay in touch! Sign up for our email list to get periodic updates on Harvest, blog posts, and invitations to future webinars.
2 |
3 |
4 |
13 |
14 |
--------------------------------------------------------------------------------
/site/_includes/announcements.html:
--------------------------------------------------------------------------------
1 |
2 |
Register here to attend the webinar titled
"How CHOP Created a Last Mile Solution for Clinical Research Data" to learn more about Harvest on November 1, 2013 from 1-2 PM.
3 |
4 |
The Harvest manuscript has been
published in the Journal of the American Medical Informatics Association (JAMIA). See other press and media about Harvest on our
media & press page.
5 |
6 |
Do you have any questions about Harvest? Want to live chat with the Harvest team? The Harvest site now has a
chatroom ! Simply enter your name and
start talking .
7 |
--------------------------------------------------------------------------------
/site/_layouts/base.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{ site.name }}{% if page.title %} | {{ page.title }}{% endif %}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
26 |
27 |
28 |
29 | {{ content }}
30 |
31 |
32 |
33 |
34 | {% include analytics.html %}
35 |
36 |
37 |
--------------------------------------------------------------------------------
/site/js/hipchat.js:
--------------------------------------------------------------------------------
1 | (function() {
2 |
3 | // Creates an iframe with an embedded HipChat conversation window.
4 | //
5 | // Options:
6 | // url - The url to the room to embed; required
7 | // el - The container in which to insert the HipChat panel; required
8 | // timezone - The timezone to use in the embedded room; required
9 | // width - The width of the iframe; defaults to 100%
10 | // height - The height of the iframe; defaults to 400px
11 |
12 | var parametize = function(params) {
13 | var key, toks = [];
14 | for (key in params) {
15 | toks.push(key + '=' + params[key]);
16 | }
17 | return toks.join('&');
18 | };
19 |
20 | return this.HipChat = function(options) {
21 | if (options && options.url && options.el && options.timezone) {
22 | var el = document.querySelector(options.el);
23 | if (!el) return;
24 | var params = {
25 | anonymous: 1,
26 | timezone: options.timezone,
27 | minimal: 1
28 | };
29 | var url = options.url + (options.url.indexOf('?') > 0 ? '&' : '?') +
30 | parametize(params);
31 | if (url.indexOf('https://') !== 0) {
32 | url = 'https://' + url;
33 | }
34 | var w = options.width || '100%';
35 | var h = options.height || 600;
36 | el.innerHTML = '';
38 | }
39 | };
40 | })();
41 |
--------------------------------------------------------------------------------
/site/css/syntax.css:
--------------------------------------------------------------------------------
1 | .highlight .hll { background-color: #ffffcc }
2 | .highlight .c { font-style: italic } /* Comment */
3 | .highlight .err { border: 1px solid #FF0000 } /* Error */
4 | .highlight .k { font-weight: bold } /* Keyword */
5 | .highlight .cm { font-style: italic } /* Comment.Multiline */
6 | .highlight .c1 { font-style: italic } /* Comment.Single */
7 | .highlight .cs { font-style: italic } /* Comment.Special */
8 | .highlight .ge { font-style: italic } /* Generic.Emph */
9 | .highlight .gh { font-weight: bold } /* Generic.Heading */
10 | .highlight .gp { font-weight: bold } /* Generic.Prompt */
11 | .highlight .gs { font-weight: bold } /* Generic.Strong */
12 | .highlight .gu { font-weight: bold } /* Generic.Subheading */
13 | .highlight .kc { font-weight: bold } /* Keyword.Constant */
14 | .highlight .kd { font-weight: bold } /* Keyword.Declaration */
15 | .highlight .kn { font-weight: bold } /* Keyword.Namespace */
16 | .highlight .kr { font-weight: bold } /* Keyword.Reserved */
17 | .highlight .s { font-style: italic } /* Literal.String */
18 | .highlight .nc { font-weight: bold } /* Name.Class */
19 | .highlight .ni { font-weight: bold } /* Name.Entity */
20 | .highlight .ne { font-weight: bold } /* Name.Exception */
21 | .highlight .nn { font-weight: bold } /* Name.Namespace */
22 | .highlight .nt { font-weight: bold } /* Name.Tag */
23 | .highlight .ow { font-weight: bold } /* Operator.Word */
24 | .highlight .sb { font-style: italic } /* Literal.String.Backtick */
25 | .highlight .sc { font-style: italic } /* Literal.String.Char */
26 | .highlight .sd { font-style: italic } /* Literal.String.Doc */
27 | .highlight .s2 { font-style: italic } /* Literal.String.Double */
28 | .highlight .se { font-weight: bold; font-style: italic } /* Literal.String.Escape */
29 | .highlight .sh { font-style: italic } /* Literal.String.Heredoc */
30 | .highlight .si { font-weight: bold; font-style: italic } /* Literal.String.Interpol */
31 | .highlight .sx { font-style: italic } /* Literal.String.Other */
32 | .highlight .sr { font-style: italic } /* Literal.String.Regex */
33 | .highlight .s1 { font-style: italic } /* Literal.String.Single */
34 | .highlight .ss { font-style: italic } /* Literal.String.Symbol */
35 |
--------------------------------------------------------------------------------
/site/js/html5shiv.js:
--------------------------------------------------------------------------------
1 | /*
2 | HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3 | */
4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x";
6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML=" ";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
8 | if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d>=
44 | library(topGO)
45 | library(org.Mm.eg.db)
46 | library(xtable)
47 | @
48 |
49 | \section{Introduction}
50 | TopGO \cite{Anders} provides additional tools for exploring GO enrichment.
51 |
52 | The classicFisher is a filtered list approach - enrichment is strictly based on counts of genes associated with the GO terms.
53 |
54 | Kolmogorov-Smirnov test is supposed to use differential p-values to weight enrichment. The elim method was design to be more conservative then the classic method.
55 |
56 | <>=
57 | muscleGos<-get(load("muscleGO.RData"))
58 | heartGos<-get(load("heartGO.RData"))
59 | ont<-'BP'
60 | @
61 | \section{Muscle}
62 | <>=
63 | for(crit in c('de','hot','cold')){
64 | print(muscleGos[[crit]][[ont]]$xtable,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\scriptsize")
65 | }
66 | @
67 | \pagebreak
68 | <>=
69 | ont<-'CC'
70 | <>
71 | @
72 | \pagebreak
73 | <>=
74 | ont<-'MF'
75 | <>
76 | @
77 | \pagebreak
78 | \section{Heart}
79 | <>=
80 | ont<-'BP'
81 | @
82 |
83 | <>=
84 | for(crit in c('de','hot','cold')){
85 | print(heartGos[[crit]][[ont]]$xtable,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\scriptsize")
86 | }
87 | @
88 | \pagebreak
89 | <>=
90 | ont<-'CC'
91 | <>
92 | @
93 | \pagebreak
94 | <>=
95 | ont<-'MF'
96 | <>
97 | @
98 |
99 | \pagebreak
100 | The R session information (including the OS info, R version and all
101 | packages used):
102 |
103 | <>=
104 | toLatex(sessionInfo())
105 |
106 | @
107 |
108 | <>=
109 | commit<-system("git rev-parse --verify HEAD",intern=TRUE)
110 | time<-Sys.time()
111 | @
112 | \rfoot{$ \Sexpr{commit} \Sexpr{time} $}
113 |
114 | \begin{thebibliography}{100} % start the bibliography
115 |
116 | \small % put the bibliography in a small font
117 |
118 |
119 | \bibitem{Alexa} Alexa, A., Rahnenfuhrer, J., and Lengauer, T. (2006).
120 | Improved scoring of functional groups from gene expression data by decorrelating
121 | go graph structure. Bioinformatics (Oxford, England), 22:1600-1607.
122 | 10.1093/bioinformatics/btl140.
123 | \end{thebibliography} % end the bibliography
124 |
125 |
126 | \end{document}
127 |
128 |
--------------------------------------------------------------------------------
/site/css/main.css:
--------------------------------------------------------------------------------
1 | body, html {
2 | height: 100%;
3 | background: #fff url(../img/noise.png);
4 | }
5 |
6 | /* Smooth transition of hover effect */
7 | a {
8 | transition: color 0.2s ease-in-out;
9 | }
10 |
11 | /* Fancy serif font for headings and brand */
12 | h1, h2, h3, h4, h5, h6, .navbar-brand {
13 | font-family: Georgia, "Times New Roman", Times, serif;
14 | }
15 |
16 | /* Fancy horizontal rule */
17 | hr {
18 | background: transparent url(../img/hr.png) repeat-x 0 0;
19 | border: 0;
20 | color: #ccc;
21 | height: 4px;
22 | padding: 0;
23 | margin: 30px 0;
24 | }
25 |
26 | h1, h2 {
27 | color: #ee9934; /* orange */
28 | }
29 |
30 | code {
31 | border-radius: 3px;
32 | color: inherit;
33 | background-color: #f3f3f3;
34 | }
35 |
36 | pre {
37 | border-radius: 3px;
38 | font-size: 0.85em;
39 | border: 0;
40 | background-color: #f3f3f3;
41 | }
42 |
43 | /* A misuse of an element... */
44 | section {
45 | background-color: rgba(51, 187, 255, 0.1); /* alpha light blue */
46 | border-top: 1px solid #B1D4E7;
47 | border-bottom: 1px solid #B1D4E7;
48 | }
49 |
50 | /* Harvest logo at various sizes. This is to be used inline with text */
51 | .harvest-logo-16 {
52 | display: inline-block !important;
53 | background: transparent url(../img/logo/favicon/wheat_5grain.svg) no-repeat;
54 | height: 14px;
55 | width: 14px;
56 | background-size: 14px 14px;
57 | }
58 |
59 | .harvest-logo-24 {
60 | display: inline-block !important;
61 | background: transparent url(../img/logo/favicon/wheat_5grain.svg) no-repeat;
62 | height: 22px;
63 | width: 22px;
64 | background-size: 22px 22px;
65 | }
66 |
67 | /* Light text shadow for elements that have a light background */
68 | pre, code, #header, #footer, section {
69 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.6);
70 | }
71 |
72 |
73 | /* Header and footer style */
74 |
75 | #header, #footer {
76 | border-color: #E1DCD0; /* light brown */
77 | background-color: hsla(42, 32%, 51%, 0.1); /* alpha beige */
78 | color: #755E33; /* brown */
79 | }
80 |
81 | #footer {
82 | width: 100%;
83 | font-size: 0.85em;
84 | padding: 10px 0;
85 | position: absolute;
86 | bottom: 0;
87 | margin: 0;
88 | border-top: 1px solid #e7e7e7;
89 | background-color: hsla(42, 32%, 51%, 0.1);
90 | }
91 |
92 | #header a:link, #header a:visited, #footer a:link, #footer a:visited {
93 | color: #755E33;
94 | }
95 |
96 | #header a:hover, #header a:active, #footer a:hover, #footer a:active {
97 | color: #524224;
98 | }
99 |
100 | /* Float harvest logo to prevent increasing header size */
101 | #header .harvest-logo-24 {
102 | float: left;
103 | margin-top: -2px;
104 | margin-right: 5px;
105 | }
106 |
107 | /* Roughly match font-size to logo size */
108 | #header .navbar-brand {
109 | font-size: 26px;
110 | }
111 |
112 |
113 | /* Structural element which enables keeping the footer *stuck* to
114 | the bottom of the page. */
115 | #wrap {
116 | position: relative;
117 | min-height: 100%;
118 | height: auto !important;
119 | height: 100%;
120 | padding-bottom: 185px;
121 | }
122 |
123 | #wrap.static {
124 | padding-bottom: 0;
125 | }
126 |
127 | #wrap.static #footer {
128 | position: static;
129 | }
130 |
131 | /* Add additional margin after containers and sections */
132 | #wrap > .container, #wrap > section {
133 | margin-bottom: 20px;
134 | }
135 |
136 | #wrap > section > .container {
137 | margin-bottom: 10px;
138 | }
139 |
140 | /* Remove excessive padding around jumbotron within a container */
141 | .container .jumbotron {
142 | padding: 0 0 20px 0;
143 | }
144 |
145 | .jumbotron {
146 | background: none;
147 | margin-bottom: 0;
148 | }
149 |
150 | .jumbotron :last-child {
151 | margin-bottom: 0;
152 | }
153 |
154 |
155 | /* Page-related styles */
156 | .page-header h1 {
157 | color: #277097; /* navy */
158 | }
159 |
160 | .intro-text {
161 | font-style: italic;
162 | font-weight: 200;
163 | font-family: Georgia, "Times New Roman", Times, serif;
164 | margin-bottom: 20px;
165 | font-size: 21px;
166 | line-height: 1.4;
167 | }
168 |
169 | .date {
170 | color: #aaa;
171 | }
172 |
173 | .meta {
174 | font-size: 0.85em;
175 | color: #aaa;
176 | }
177 |
178 | /* Inherit color of normal text so it does not attract the eye */
179 | .meta a {
180 | color: inherit;
181 | }
182 |
183 | /* Use 2x sized images for retina-based displays */
184 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
185 | only screen and (-moz-min-device-pixel-ratio: 1.5),
186 | only screen and (-o-min-device-pixel-ratio: 3/2),
187 | only screen and (min-device-pixel-ratio: 1.5) {
188 |
189 | }
190 |
191 | @media (max-width: 768px) {
192 | #wrap {
193 | padding-bottom: 310px;
194 | }
195 | }
196 |
197 | blockquote p{font-size:15.5px;font-weight:300;line-height:1.25;}
198 |
--------------------------------------------------------------------------------
/diffExp.Rnw:
--------------------------------------------------------------------------------
1 | % -*- mode: noweb; noweb-default-code-mode: R-mode; -*-
2 | \documentclass{article}
3 |
4 | \usepackage{geometry}
5 | \geometry{verbose,tmargin=2.5cm,bmargin=2.5cm,lmargin=2.5cm,rmargin=2.5cm}
6 |
7 | %headers and footers
8 | \usepackage{fancyhdr}
9 | \setlength{\headheight}{15pt}
10 | \pagestyle{fancyplain}
11 | \lhead{\fancyplain{}{\thepage}}
12 | \chead{}
13 | \rhead{\fancyplain{}{\bfseries Ant1-KO Differential Expression}}
14 | \cfoot{}
15 | \lfoot{\includegraphics[width=0.1\textwidth]{/nas/is1/leipzig/ganguly/src/R/bicLogo.png}\\[1cm]}
16 |
17 |
18 | %hyperlink setup
19 | \usepackage{hyperref}
20 | \usepackage{xcolor}
21 | \definecolor{dark-red}{rgb}{0.4,0.15,0.15}
22 | \definecolor{dark-blue}{rgb}{0.15,0.15,0.4}
23 | \definecolor{medium-blue}{rgb}{0,0,0.5}
24 | \hypersetup{
25 | colorlinks, linkcolor={dark-red},
26 | citecolor={dark-blue}, urlcolor={medium-blue}
27 | }
28 |
29 |
30 | \usepackage{longtable}
31 | \usepackage{rotating}
32 |
33 | %underscores in variable names cause problems
34 | %\usepackage{underscore}
35 |
36 | \begin{document}
37 | \SweaveOpts{concordance=TRUE}
38 | \title{An analysis of Ant1-KO Differential Expression in Heart and Muscle}
39 | \author{Jeremy Leipzig}
40 | \maketitle
41 | \tableofcontents
42 | \pagebreak
43 | <>=
44 | library(Rsamtools)
45 | library(Biostrings)
46 | library(stringr)
47 | library(plyr)
48 | library(reshape)
49 | library("DESeq")
50 | library(ggplot2)
51 | library(xtable)
52 | source("/nas/is1/leipzig/ganguly/src/R/concat.R")
53 | library(org.Mm.eg.db)
54 | library("biomaRt")
55 |
56 | sessInfo<-sessionInfo()
57 |
58 | aligner<-"STAR"
59 | reference<-"Ensembl/GRCm38"
60 |
61 | load("diffExp.state.RData")
62 |
63 | fetchCounts<-function(sampleName){
64 | counts<-read.table(concat("counts/",sampleName,".tsv"),col.names=c("txid",sampleName))
65 | row.names(counts)<-counts$txid
66 | return(counts[,-1,drop=FALSE])
67 | }
68 |
69 | counts <- Reduce(function(a,b){
70 | ans <- merge(a,b,by="row.names",all=T)
71 | row.names(ans) <- ans[,"Row.names"]
72 | ans[,!names(ans) %in% "Row.names"]
73 | }, lapply(samples,fetchCounts))
74 |
75 | counts<-counts[!(rownames(counts) %in% c("alignment_not_unique","ambiguous")),]
76 | names(counts)<-c(concat('MUS_ANT_',seq(1:4)),concat('MUS_B6ME_',seq(1:4)),concat('HRT_ANT_',seq(1:4)),concat('HRT_B6ME_',seq(1:4)))
77 | #MUSCLE_KO MUSCLE_WT HEART_KO HEART_WT
78 | conds<-c(rep('MT',4),rep('MN',4),rep('HT',4),rep('HN',4))
79 |
80 | #ANT1 KO
81 | #B6ME WT
82 | pdata<-data.frame(condition=conds)
83 | rownames(pdata)<-c(concat('MUS_ANT_',seq(1:4)),concat('MUS_B6ME_',seq(1:4)),concat('HRT_ANT_',seq(1:4)),concat('HRT_B6ME_',seq(1:4)))
84 |
85 | #at least minCount from the paired lanes
86 | minCount<-100
87 | countsAboveThreshold<-subset(counts,rowSums(counts)>minCount)
88 | #subset(counts,rowSums(counts[-1])>minCount)
89 |
90 | countsMatrix<-as.matrix(countsAboveThreshold)
91 | rownames(countsMatrix)<-rownames(countsAboveThreshold)
92 |
93 |
94 | starstatsraw<-read.table(STARLOGS,sep="\t",header=TRUE,colClasses=c('character','integer','character','character'))
95 | row.names(starstatsraw)<-starstatsraw$Sample
96 | starstats<-starstatsraw[c(MUSCLE_KO,MUSCLE_WT,HEART_KO,HEART_WT),]
97 | starstats$Sample<-concat(str_sub(starstats$Sample,1,16),'...')
98 | starstats$cond<-conds
99 |
100 |
101 | cds <- newCountDataSet( countsMatrix, pdata$condition )
102 |
103 | ercc.counts<-read.table(ERCC_COUNTS,col.names=c("sample","count"),stringsAsFactors=FALSE)
104 |
105 | #these better be in the same order
106 | stopifnot(samples==ercc.counts$sample)
107 | sizeFactors(cds)<-ercc.counts$count
108 |
109 | write.table(counts(cds, normalized=FALSE),file=RAW_COUNTS,sep="\t",quote=FALSE)
110 | write.table(counts(cds, normalized=TRUE),file=NORM_COUNTS,sep="\t",quote=FALSE)
111 |
112 | #not going to estimate if using ercc
113 | #cds <- estimateSizeFactors( cds )
114 |
115 | #fits: parameteric or local
116 | #methods: pooled per-condition
117 | #sharingMode="fit-only"
118 | #gene-est-only maximum
119 | sharingMode<-'maximum'
120 | method<-'per-condition'
121 | fits<-'local'
122 | cds <- estimateDispersions( cds , fitType="local", method=method, sharingMode=sharingMode)
123 | save(cds,file=CDS_FILE,compress=TRUE)
124 | myPval<-.01
125 | @
126 | <>=
127 | res <- nbinomTest( cds, "MN", "MT")
128 | resfile<-MUSCLE_RES
129 | @
130 | <>=
131 | #http://www.bioconductor.org/packages/release/bioc/vignettes/biomaRt/inst/doc/biomaRt.pdf
132 | mart <- useMart(biomart = "ensembl", dataset = "mmusculus_gene_ensembl")
133 | results <- getBM(attributes = c("ensembl_gene_id","external_gene_id"),
134 | filters = "ensembl_gene_id", values = res$id,
135 | mart = mart)
136 | row.names(results)<-results$ensembl_gene_id
137 | res<-cbind(results[res$id,"external_gene_id"],res)
138 | write.csv(res,file=resfile)
139 |
140 | @
141 | \section{Introduction}
142 | \subsection{Samples}
143 | Below are results of the STAR mapping. Conditions are M for Muscle, H for Heart, T for Treatment(ANT1), N for Normal (B6ME).
144 |
145 | <>=
146 | # Use "d" (for integers), "f", "e", "E", "g", "G", "fg" (for reals), or "s" (for strings). "f" gives numbers in the usual xxx.xxx format; "e" and "E" give n.ddde+nn or n.dddE+nn (scientific format); "g" and "G" put x[i] into scientific format only if it saves space to do so. "fg" uses fixed format as "f", but digits as number of significant digits
147 | # \tiny
148 | # \scriptsize
149 | # \footnotesize
150 | # \small
151 | # \normalsize
152 | # \large
153 | # \Large
154 | # \LARGE
155 | # \huge
156 | # \Huge
157 | myXtableStar<-xtable(starstats,type=tex,caption=paste("STAR mapping results"),display=c('s','s','d','s','s','s'))
158 |
159 | print(myXtableStar,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\footnotesize")
160 | @
161 |
162 | \subsection{Alignment}
163 | After trimming, transcript counts were generated by a STAR alignment to genomic sequences.
164 |
165 |
166 | The STAR used for the samples is as follows:
167 | \begin{verbatim}
168 | {STAR} --genomeDir {STARREFDIR} --outFileNamePrefix {wildcards.sample}_ --readFilesIn {input} --runThreadN 24
169 | --genomeLoad NoSharedMemory --outSAMattributes All --outSAMstrandField intronMotif --sjdbGTFfile {GTFFILE}
170 | \end{verbatim}
171 |
172 | \subsection{Normalization}
173 | ERCC spike-ins were downloaded from \url{http://tools.invitrogen.com/downloads/ERCC92.fa} and used as a reference. Total counts from all 92 sequences are below. These are used for the \emph{sizeFactors} in DESeq such that they become divisors for each sample count.
174 |
175 | <>=
176 |
177 | myXtableERCC<-xtable(ercc.counts,type=tex,caption=paste("Total ERCC read counts"),display=c('s','s','d'))
178 | print(myXtableERCC,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\footnotesize")
179 | @
180 | \pagebreak
181 | \subsection{DESeq}
182 | A reanalysis of the non-normalized count data was performed using the
183 | R-based RNA-Seq analysis package DESeq \cite{Anders} in order to
184 | detect differential expression between normal and retinoblastoma cells.
185 |
186 | This report uses DESeq version \Sexpr{sessInfo$otherPkgs$DESeq$Version}.
187 |
188 | DESeq offers different statistical models and parameters to choose from depending on the data to be analyzed.
189 |
190 | Empirical dispersion can be computed using a \emph{pooled}, \emph{per-condition}, or \emph{blind} (no replicates) method.
191 |
192 | The following, sharing modes, which determine how much information is used to inform the dispersion of other genes, are available:
193 | \begin{description}
194 | \item[fit-only] is appropriate for only a few replicates
195 | \item[maximum] is more conservative for three or four replicates,
196 | \item[gene-est-only] is more aggressive, and is ideal for many replicates
197 | \end{description}
198 |
199 | For this report, we have used the \Sexpr{method} method and \Sexpr{sharingMode} sharing mode.
200 |
201 | Only genes with a combined count of \Sexpr{minCount} among all the samples (both conditions and tissues)
202 | \Sexpr{nrow(countsAboveThreshold)} hits fit this criteria.
203 |
204 | \pagebreak
205 | \subsection{Muscle Results}
206 | \subsubsection{Significantly DE genes in muscle}
207 | Significantly differentially expressed genes (padj<\Sexpr{myPval}). Fold change is ANT1/B6ME.
208 |
209 | <>=
210 |
211 | resSig<-subset(res[,1:9],padj < myPval)
212 | names(resSig)<-c('gene','ensid','baseMean','bNorm','bRB','fc','log2fc','pval','padj')
213 | myXtableOne<-xtable(resSig[order(resSig$pval),1:9],type=tex,caption=paste("Significant (P<",myPval,") differential expression in ANT1 after the correction for multiple testing.",nrow(resSig),"genes."),display=c('d','s','s','E','E','E','g','g','g','g'))
214 |
215 | print(myXtableOne,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\footnotesize")
216 | @
217 |
218 | \pagebreak
219 | \subsubsection{Upregulated genes in muscle}
220 | <>=
221 | #upRegs<-resSig[ order(-resSig$fc)[1:50], ]
222 | upRegs<-head(subset(resSig[order(-resSig$fc),],fc>1),n=50)
223 |
224 | if(nrow(upRegs)>0){
225 | myXtableTwo<-xtable(upRegs,type=tex,caption=paste("Strongly significantly upregulated genes in ANT1 (top 50)",sep=""),display=c('d','s','s','E','E','E','g','g','g','g'))
226 | print(myXtableTwo,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\footnotesize")
227 | }else{
228 | print("No significantly upregulated genes")
229 | }
230 | @
231 |
232 | \pagebreak
233 | \subsubsection{Downregulated genes}
234 | <>=
235 | downRegs<-head(subset(resSig[order(resSig$fc),],fc<=1),n=50)
236 |
237 | if(nrow(downRegs)>0){
238 | myXtableThree<-xtable(downRegs,type=tex,caption=paste("Strongly significantly downregulated genes in ANT1 (top 50)",sep=""),digits=3,display=c('d','s','s','E','E','E','g','g','g','g'))
239 | print(myXtableThree,include.rownames=FALSE, tabular.environment = "longtable", floating = FALSE, size="\\footnotesize")
240 | }else{
241 | print("No significantly downregulated genes")
242 | }
243 | @
244 |
245 | \pagebreak
246 | \subsubsection{Fold Change and Significance Muscle}
247 | Genes with high fold change may not be significantly differentially expressed simply due to high variance.
248 |
249 | <>=
250 | q<-qplot(log2(res$baseMean),res$log2FoldChange)+aes(color=res$padj<.01)
251 | print(q)
252 | @
253 |
254 |
255 | \pagebreak
256 | \subsection{Heart Results}
257 | \subsubsection{Significantly DE genes in heart}
258 | <>=
259 | res <- nbinomTest( cds, "HN", "HT")
260 | resfile<-HEART_RES
261 | <>
262 | <>
263 | @
264 | \pagebreak
265 | \subsubsection{Upregulated genes in heart}
266 | <>=
267 | <>
268 | @
269 |
270 | \pagebreak
271 | \subsubsection{Downregulated genes in heart}
272 | <>=
273 | <>
274 | @
275 |
276 | \pagebreak
277 | \subsubsection{Fold Change and Significance Heart}
278 | Genes with high fold change may not be significantly differentially expressed simply due to high variance.
279 |
280 | <>=
281 | q<-qplot(log2(res$baseMean),res$log2FoldChange)+aes(color=res$padj<.01)
282 | print(q)
283 | @
284 |
285 | \pagebreak
286 | \subsection{Eucludian distances}
287 | <>=
288 | dists<-dist(t(counts(cds)))
289 | heatmap( as.matrix( dists ))
290 | @
291 |
292 |
293 |
294 | \pagebreak
295 | The R session information (including the OS info, R version and all
296 | packages used):
297 |
298 | <>=
299 | sessionInfo()
300 | Sys.time()
301 | @
302 |
303 | <>=
304 | commit<-system("git rev-parse --verify HEAD",intern=TRUE)
305 | @
306 | \rfoot{$ \Sexpr{commit} $}
307 |
308 | \begin{thebibliography}{100} % start the bibliography
309 |
310 | \small % put the bibliography in a small font
311 |
312 |
313 | \bibitem{Anders} Anders, S. and Huber, W. Differential expression analysis for sequence count data. Nature Precedings
314 | http://dx.doi.org/10.1038/npre.2010.4282.2.
315 |
316 | \end{thebibliography} % end the bibliography
317 |
318 |
319 | \end{document}
320 |
321 |
--------------------------------------------------------------------------------
/Snakefile:
--------------------------------------------------------------------------------
1 | import glob
2 | from snakemake.utils import R
3 | import re
4 | import socket
5 | from time import gmtime, strftime
6 |
7 | WEBSERVER = "user@server:/dir"
8 | REFDIR = "refs/Mus_musculus/Ensembl/GRCm38/"
9 | TMPDIR = "../../../../../tmp/"
10 | FASTAREF = REFDIR+"Sequence/WholeGenomeFasta/genome.fa"
11 | STARREFDIR = REFDIR+"star/"
12 | CHRNAME = STARREFDIR+"chrName.txt"
13 | GTFFILE = REFDIR+"Annotation/Genes/genes.gtf"
14 | PRIM_GTF = REFDIR+"Annotation/Genes/primary_genes.gtf"
15 | MASKFILE = REFDIR+"Annotation/mask.gtf"
16 | RRNA = REFDIR+"Annotation/GRCm38_rRNA.list"
17 |
18 | ##### TOOLS #####
19 | CUTADAPT = "../../../bin/cutadapt"
20 | BEDTOOLS = "../../../bin/BEDTools/2.16.2"
21 | NOVO = "../../../bin/Novoalign/3.00.02/novocraft"
22 | ALIGN = NOVO+"/novoalign"
23 | INDEX = NOVO+"/novoindex"
24 | SORT = NOVO+"/novosort"
25 | TOOLDIR= "tools"
26 | RNASEQC = TOOLDIR+"/RNA-SeQC_v1.1.7.jar"
27 | STAR = TOOLDIR+"/STAR_2.3.0e.Linux_x86_64/STAR"
28 | SAMTOOLS = TOOLDIR+"/samtools/samtools"
29 | CUFF = TOOLDIR+"/cufflinks-2.1.1.Linux_x86_64/cufflinks"
30 | CUFFMERGE = TOOLDIR+"/cufflinks-2.1.1.Linux_x86_64/cuffmerge"
31 | CUFFDIFF = TOOLDIR+"/cufflinks-2.1.1.Linux_x86_64/cuffdiff"
32 | EXPR = TOOLDIR+"/express-1.5.1-linux_x86_64/express"
33 |
34 | MUSCLE_KO = "Sample1 Sample2 Sample3 Sample4"
35 |
36 | MUSCLE_WT = "Sample5 Sample6 Sample7 Sample8"
37 |
38 | HEART_KO = "Sample9 Sample10 Sample11 Sample12"
39 |
40 | HEART_WT = "Sample13 Sample14 Sample15 Sample16"
41 |
42 | GROUP_NAMES = 'MUSCLE_KO MUSCLE_WT HEART_KO HEART_WT'.split()
43 | SAMPLES = ' '.join([MUSCLE_KO,MUSCLE_WT,HEART_KO,HEART_WT]).split()
44 | PRETTY_NAMES = ['{0}_{1}'.format(sample,i) for sample in GROUP_NAMES for i in range(1, 5)]
45 |
46 | DIRS = ['mapped/','counts/','cufflinks/']
47 | MAPPED = ['mapped/'+f+'.bam' for f in SAMPLES]
48 | GATKED = ['mapped/'+f+'.sorted.gatk.bam.bai' for f in SAMPLES]
49 | COUNTS = ['counts/'+f+'.tsv' for f in SAMPLES]
50 | CUFFED = ['cufflinks/'+f+'/transcripts.gtf' for f in SAMPLES]
51 | EXPRED = ['express/reports/'+f+'/results.xprs' for f in SAMPLES]
52 | STARLOGS = 'starlogs.parsed.txt'
53 | SAMPLEFILE = "samplefile.rnaseqc.txt"
54 | RNASEQC_DIR = "RNASEQC_DIR/"
55 | RNASEQC_INDEX = RNASEQC_DIR+"index.html"
56 | BIGWIGS = ['tracks/'+f+'.bw' for f in SAMPLES]
57 | QCED = ['fastqc/'+f+'.trimmed_fastqc.zip' for f in SAMPLES]
58 | ERCC = ['ercc/'+f+'.idxstats' for f in SAMPLES]
59 | GO_DOMAINS = ['biological_process','cellular_component','molecular_function']
60 | GAGE_GO_FILES = ['GAGE/GO.'+tissue+'.ant1.'+domain+'.'+direction+'.csv' for tissue in ['heart','muscle'] for domain in GO_DOMAINS for direction in ['up','down']]
61 | GAGE_KEGG_FILES = ['GAGE/KEGG.'+tissue+'.ant1.signaling_or_metabolism_pathways.both.csv' for tissue in ['heart','muscle']]
62 | GAGE_FILES = GAGE_GO_FILES + GAGE_KEGG_FILES
63 |
64 | rule all:
65 | input: DIRS, CHRNAME, MAPPED, CUFFED, COUNTS, GATKED, RNASEQC_INDEX, STARLOGS, QCED, BIGWIGS, GAGE_FILES
66 |
67 | rule gagefiles:
68 | input: GAGE_FILES
69 |
70 | rule dirs:
71 | output: DIRS
72 | shell: "mkdir -p "+' '.join(DIRS)
73 |
74 | ##### CLEAN #####
75 | rule clean:
76 | shell: "rm [0-9]*.snakemake-job*"
77 |
78 | ##### TRIMMING #####
79 | #cutadapt will auto-gz if .gz is in the output name
80 | rule trim:
81 | input: "{sample}.fastq"
82 | output: "{sample}.trimmed.fastq.gz"
83 | threads: 1
84 | shell: "{CUTADAPT} -m 16 -b GGCCAAGGCG -o {output} {input}"
85 |
86 | ##### ALIGNMENT #####
87 | rule starindex:
88 | input: ref=FASTAREF, starref=STARREFDIR,
89 | output: CHRNAME
90 | shell: "{STAR} --limitGenomeGenerateRAM 54760833024 --runMode genomeGenerate --genomeDir {input.starref} --genomeFastaFiles {input.ref}"
91 |
92 | rule map:
93 | input: sample="raw/{sample}.trimmed.fastq.gz", starref=STARREFDIR, gtf=GTFFILE
94 | output: "mapped/{sample}.sam"
95 | threads: 24
96 | shell:
97 | """
98 | {STAR} --genomeDir {input.starref} --outFileNamePrefix {wildcards.sample}_ --readFilesIn {input.sample} --runThreadN 24 --genomeLoad NoSharedMemory --outSAMattributes All --outSAMstrandField intronMotif --sjdbGTFfile {input.gtf}
99 | mv {wildcards.sample}_Aligned.out.sam {output}
100 | mv {wildcards.sample}_Log.final.out {wildcards.sample}_Log.out {wildcards.sample}_Log.progress.out {wildcards.sample}_SJ.out.tab starlogs
101 | """
102 |
103 | #this is for the table in the diffExp report
104 | rule parselogs:
105 | input: expand('starlogs/{sample}_Log.final.out', sample=SAMPLES)
106 | output: "starlogs.parsed.txt"
107 | run:
108 | filename_p = re.compile('starlogs\/(\S+)_Log.final.out')
109 | input_reads_p = re.compile('Number of input reads\s+\|\s+(.*)')
110 | unique_reads_p = re.compile('Uniquely mapped reads %\s+\|\s+(.*)')
111 | multiple_hits_p = re.compile('% of reads mapped to multiple loci\s+\|\s+(.*)')
112 | input_reads=''
113 | unique_reads=''
114 | multiple_hits=''
115 | with open(output[0], 'w') as outfile:
116 | outfile.write('sample\tNumber of input reads\tUniquely mapped reads %\t% of reads mapped to multiple loci\n')
117 | for samplefilename in input:
118 | sample=filename_p.search(samplefilename).group(1)
119 | with open(samplefilename, 'r') as file:
120 |
121 | for line in file:
122 | if input_reads_p.search(line):
123 | input_reads=input_reads_p.search(line).group(1)
124 | elif unique_reads_p.search(line):
125 | unique_reads=unique_reads_p.search(line).group(1)
126 | elif multiple_hits_p.search(line):
127 | multiple_hits=multiple_hits_p.search(line).group(1)
128 | outfile.write('{0}\t{1}\t{2}\t{3}\n'.format(sample,input_reads,unique_reads,multiple_hits))
129 |
130 |
131 |
132 | #novosort can index
133 | rule sortbam:
134 | input: "{sample}.bam"
135 | output: bam="{sample}.sorted.bam", bai="{sample}.sorted.bam.bai"
136 | threads: 24
137 | shell: "{SORT} -t {TMPDIR} -s -i -o {output.bam} {input}"
138 |
139 | #if you ask for a sorted.bam don't look for a sorted.sam
140 | #ruleorder: sortbam > samtobam
141 | rule samtobam:
142 | input: "{sample}.sam"
143 | output: "{sample}.bam"
144 | threads: 1
145 | shell: "{SAMTOOLS} view -bS {input} > {output}"
146 |
147 | #### ERCC #####
148 | rule ERCCnix:
149 | output: "refs/ERCC92.nix"
150 | input: "refs/ERCC92.fa"
151 | shell: "{INDEX} {output} {input}"
152 |
153 | rule ERCCbam:
154 | input: fastq="raw/{sample}.trimmed.fastq.gz", ref="refs/ERCC92.nix"
155 | output: temp("ercc/{sample}.bam")
156 | shell: "{ALIGN} -d {input.ref} -f {input.fastq} -o SAM | {SAMTOOLS} view -bS - > {output}"
157 |
158 | rule idxstats:
159 | input: "ercc/{sample}.sorted.bam"
160 | output: "ercc/{sample}.idxstats"
161 | shell: "{SAMTOOLS} idxstats {input} > {output}"
162 |
163 | rule idxsummary:
164 | output: "ercc.counts"
165 | input: expand('ercc/{sample}.idxstats', sample=SAMPLES)
166 | shell:
167 | """
168 | grep '^\*' {input} | cut -f1,4 | sed -e 's/\.idxstats:\*//' | sed -e 's/ercc\///'> ercc.counts
169 | """
170 |
171 | #### QC #####
172 | rule fastqc:
173 | input: "raw/{sample}.trimmed.fastq.gz"
174 | output: "fastqc/{sample}.trimmed_fastqc.zip"
175 | shell: "{TOOLDIR}/FastQC/fastqc -o fastqc {input}"
176 |
177 | rule AddOrReplaceReadGroups:
178 | input: "{sample}.sorted.bam"
179 | output: "{sample}.sorted.gatk.bam"
180 | shell: "java -jar {TOOLDIR}/picard-tools-1.106/AddOrReplaceReadGroups.jar INPUT= {input} OUTPUT= {output} RGID= {wildcards.sample} LB= {wildcards.sample} RGPL= ionproton RGPU= martin RGSM= {wildcards.sample}"
181 |
182 | rule index:
183 | input: "{sample}.sorted.gatk.bam"
184 | output: "{sample}.sorted.gatk.bam.bai"
185 | shell: "java -jar {TOOLDIR}/picard-tools-1.106/BuildBamIndex.jar INPUT= {input} OUTPUT= {output}"
186 |
187 | rule dict:
188 | input: "{ref}.fa"
189 | output: "{ref}.dict"
190 | shell: "java -jar picard-tools-1.106/CreateSequenceDictionary.jar REFERENCE= {input} OUTPUT= {output}"
191 |
192 | #samplefile.rnaseqc.txt was made by hand so sue me
193 | rule rnaseqc:
194 | input: sample=SAMPLEFILE, gatked=GATKED, rnaseqc=RNASEQC, rnaseqc_dir=RNASEQC_DIR, ref=FASTAREF, gtf=PRIM_GTF, rna=RRNA
195 | output: RNASEQC_INDEX
196 | shell: "java -jar {input.rnaseqc} -o {input.rnaseqc_dir} -r {input.ref} -s {input.sample} -t {input.gtf} -rRNA {input.rna}"
197 |
198 | ##### TX Quantification: Cufflinks #####
199 | rule mask:
200 | input: gtf=GTFFILE
201 | output: MASKFILE
202 | shell: "grep -P 'rRNA|tRNA|MT\t' {input.gtf} > {MASKFILE}"
203 |
204 | rule cufflinks:
205 | input: bam="mapped/{sample}.sorted.bam", gtf=GTFFILE, mask=MASKFILE
206 | output: gtf="cufflinks/{sample}/transcripts.gtf",iso="cufflinks/{sample}/isoforms.fpkm_tracking",genes="cufflinks/{sample}/genes.fpkm_tracking"
207 | threads: 8
208 | shell: """
209 | mkdir -p cufflinks/{wildcards.sample}
210 | {CUFF} -p 8 -g {input.gtf} -M {input.mask} --max-bundle-length 8000000 --multi-read-correct --library-type=fr-secondstrand --output-dir cufflinks/{wildcards.sample} {input.bam}
211 | """
212 |
213 | rule cuffreport:
214 | input: CUFFED
215 | output: "assembly_list.txt"
216 | run:
217 | with open(output[0], 'w') as outfile:
218 | for f in CUFFED:
219 | outfile.write('{}\n'.format(f))
220 |
221 | rule cuffmerge:
222 | input: "assembly_list.txt", gtf=GTFFILE, ref=FASTAREF
223 | output: "cufflinks/merged.gtf"
224 | shell:
225 | """
226 | /usr/local/bin/python2.7/python {CUFFMERGE} -o cufflinks -g {input.gtf} -s {input.ref} -p 16 {input}
227 | """
228 | MUSCLE_KO_BAMS = ','.join(['mapped/{0}.sorted.bam'.format(f) for f in MUSCLE_KO.split()])
229 | MUSCLE_WT_BAMS = ','.join(['mapped/{0}.sorted.bam'.format(f) for f in MUSCLE_WT.split()])
230 | HEART_KO_BAMS = ','.join(['mapped/{0}.sorted.bam'.format(f) for f in HEART_KO.split()])
231 | HEART_WT_BAMS = ','.join(['mapped/{0}.sorted.bam'.format(f) for f in HEART_WT.split()])
232 |
233 | rule cuffdiff:
234 | input: gtf="cufflinks/merged.gtf", mask=MASKFILE, samples=expand("mapped/{sample}.sorted.bam", sample=SAMPLES)
235 | output: 'cufflinks/cuffdiff/isoforms.fpkm_tracking'
236 | shell:
237 | """
238 | {CUFFDIFF} -p 16 -o cufflinks/cuffdiff -M {input.mask} {input.gtf} {MUSCLE_KO_BAMS} {MUSCLE_WT_BAMS} {HEART_KO_BAMS} {HEART_WT_BAMS}
239 | """
240 |
241 | ##### TX Quantification: Express #####
242 | CDNA=REFDIR+"Sequence/Transcripts/Mus_musculus.GRCm38.74.cdna.all"
243 | rule txIndex:
244 | input: CDNA+'.fa'
245 | output: CDNA+'.nix'
246 | shell: "{INDEX} {output} {input}"
247 |
248 | rule expressbam:
249 | input: fq="raw/{sample}.trimmed.fastq.gz", ref=CDNA+'.nix'
250 | output: "express/bams/{sample}.sam"
251 | log: "logs/express/{sample}.log"
252 | shell: "{ALIGN} -d {input.ref} -rALL -f {input.fq} -o SAM 2> {log} > {output}"
253 |
254 | # | {SAMTOOLS} view -bS - > {output}
255 |
256 | rule expressreps:
257 | input: "express/bams/{sample}.sorted.bam"
258 | output: "express/reports/{sample}/results.xprs"
259 | log: "logs/express/{sample}.log"
260 | shell:
261 | """
262 | mkdir -p {output}
263 | {EXPR} {CDNA}.fa {input} --max-read-len 500 -o {output} 2> {log}
264 | """
265 |
266 | ##### Annotation #####
267 | rule htseq:
268 | input: sample="mapped/{sample}.sorted.bam", gtf=GTFFILE
269 | output: id="counts/{sample}.tsv"
270 | threads: 1
271 | shell:
272 | """
273 | {SAMTOOLS} view -h {input.sample} | htseq-count --mode intersection-strict --stranded no --minaqual 1 --type exon --idattr gene_id - {input.gtf} > {output.id}
274 | """
275 |
276 | ##### Report #####
277 | rule report:
278 | input: COUNTS, star=STARLOGS, ercc="ercc.counts", source="diffExp.Rnw"
279 | output: state="diffExp.state.RData", tex="diffExp.tex", cds="cds.df.RData", mr="muscleResults.csv", hr="heartResults.csv", raw="raw_counts.tab.txt", norm="normalized_counts.tab.txt"
280 | run:
281 | R("""
282 | STARLOGS<-"{input.star}"
283 | ERCC_COUNTS<-"{input.ercc}"
284 | RAW_COUNTS<-"{output.raw}"
285 | NORM_COUNTS<-"{output.norm}"
286 | CDS_FILE<-"{output.cds}"
287 | HEART_RES<-"{output.hr}"
288 | MUSCLE_RES<-"{output.mr}"
289 |
290 | MUSCLE_KO<-unlist(strsplit("{MUSCLE_KO}", " "));
291 | MUSCLE_WT<-unlist(strsplit("{MUSCLE_WT}", " "));
292 | HEART_KO<-unlist(strsplit("{HEART_KO}", " "));
293 | HEART_WT<-unlist(strsplit("{HEART_WT}", " "));
294 |
295 | samples<-c(MUSCLE_KO,MUSCLE_WT,HEART_KO,HEART_WT)
296 | save(STARLOGS,ERCC_COUNTS,RAW_COUNTS,NORM_COUNTS,CDS_FILE,HEART_RES,MUSCLE_RES,MUSCLE_KO,MUSCLE_WT,HEART_KO,HEART_WT,samples,file="diffExp.state.RData")
297 | Sweave("{input.source}",output="{output.tex}")
298 | """)
299 |
300 | rule gage:
301 | input: cds="cds.df.RData", gage="common/rna-seq/gage.R"
302 | output: GAGE_FILES
303 | run:
304 | R("""
305 | source("{input.gage}")
306 | """)
307 |
308 | rule submodule_update:
309 | run:
310 | """git submodule foreach git pull origin master"""
311 |
312 | rule topgo_data:
313 | input: results="{tissue}Results.csv", source="common/rna-seq/topGO.R"
314 | output: "{tissue}GO.RData"
315 | run:
316 | R("""
317 | source("{input.source}")
318 | res<-read.csv("{input.results}")
319 | de<-hot<-cold<-list()
320 | for(ont in c('BP','CC','MF')){{
321 | de[[ont]]<-getGO(res,ontology=ont,desc=paste("{wildcards.tissue}",ont,"most sig de"),q.column="pval",scoreOrder="increasing")
322 | hot[[ont]]<-getGO(res,ontology=ont,desc=paste("{wildcards.tissue}",ont,"most upreg in ANT1 wort pval"),q.column="foldChange",scoreOrder="decreasing")
323 | cold[[ont]]<-getGO(res,ontology=ont,desc=paste("{wildcards.tissue}",ont,"most downreg in ANT1 wort pval"),q.column="foldChange",scoreOrder="increasing")
324 | }}
325 | GOs<-list(de=de,hot=hot,cold=cold)
326 | save(GOs,file="{output}")
327 | """)
328 |
329 | rule topgo_report:
330 | input: source="topGO.Rnw", mg="muscleGO.RData", hg="heartGO.RData"
331 | output: tex="topGO.tex"
332 | run:
333 | R("""
334 | Sweave("{input.source}",output="{output.tex}")
335 | """)
336 |
337 | #we do it twice for the TOC
338 | rule pdflatex:
339 | input: "{report}.tex"
340 | output: "{report}.pdf"
341 | shell: "pdflatex {input}; pdflatex {input}"
342 |
343 | #### Tracks #####
344 | rule bamtobdg:
345 | input: sample="mapped/{sample}.sorted.bam", ref=FASTAREF
346 | output: "mapped/{sample}.bdg"
347 | shell: "{BEDTOOLS}/bedtools genomecov -ibam {input.sample} -g {input.ref} -bg > {output}"
348 |
349 | rule chrify:
350 | input: "{sample}.bdg"
351 | output: "{sample}.bdg.chr"
352 | shell:
353 | """
354 | sed -e 's/^/chr/' {input} > {output}
355 | """
356 |
357 | rule bigwig:
358 | input: "mapped/{sample}.bdg.chr"
359 | output: "tracks/{sample}.bw"
360 | shell:
361 | """
362 | {TOOLDIR}/bedGraphToBigWig {input} mm10.len {output}
363 | """
364 |
365 | #### Site #####
366 | COLORS = """
367 | 141,211,199
368 | 255,255,179
369 | 190,186,218
370 | 251,128,114
371 | 128,177,211
372 | 253,180,98
373 | 179,222,105
374 | 252,205,229
375 | 217,217,217
376 | 188,128,189
377 | 204,235,197
378 | 255,237,111
379 | 190,174,212
380 | 253,192,134
381 | 56,108,176
382 | 191,91,23
383 | """.split()
384 |
385 | rule siteindex:
386 | input: "Snakefile",BIGWIGS, "diffExp.pdf", "topGO.pdf", QCED, RNASEQC_INDEX
387 | output: "site/index.md"
388 | run:
389 | with open(output[0], 'w') as outfile:
390 | outfile.write("""---
391 | layout: wide
392 | ---
393 | ### Quality Control
394 | #### FastQC Output
395 | [FastQC] is quality control tool that can point to certain biases that represent contamination. Be aware, the report may reflect inherent biases in the RNA-Seq experiment.
396 | """)
397 | for s,p in zip(SAMPLES,PRETTY_NAMES):
398 | outfile.write("> [`{0}`]({{{{ site.baseurl }}}}/fastqc/{1}.trimmed_fastqc/fastqc_report.html)\n\n".format(p,s))
399 | outfile.write("""
400 |
401 | #### RNA-SeQC Output
402 | [RNA-SeQC](http://bioinformatics.oxfordjournals.org/content/28/11/1530.long) produces extensive metrics for RNA-Seq runs. Not all of the sections will apply to the Ion Proton protocol.
403 | Most interesting might be the rRNA rate in the multisample [summary document](RNASEQC_DIR/countMetrics.html).
404 | > [RNA-SeQC home](RNASEQC_INDEX)
405 |
406 | > [RNA-SeQC reports](RNASEQC_DIR+'countMetrics.html')
407 |
408 | > [RNA-SeQC reports](RNASEQC_DIR+'report.html')
409 |
410 | ### HT-Seq Counts
411 | > [Raw HT-Seq Counts](raw_counts.tab.txt)
412 |
413 | > [ERCC Spike-in Normalized Counts](normalized_counts.tab.txt)
414 |
415 | ### Differential expression analysis report and significantly DE gene tables
416 | > [diffExp.pdf](diffExp.pdf)
417 |
418 | > [muscleResults.csv](muscleResults.csv)
419 |
420 | > [heartResults.csv](heartResults.csv)
421 |
422 | ### GAGE
423 | GAGE was used to generate GO and KEGG pathway analysis using a ranked list analysis (read counts are taken into consideration)
424 |
425 | #### Gene Ontology with GAGE
426 | GO is divided into domains of cellular component, molecular function, and biological process.
427 |
428 | The "up" and "down" tables test the model that ANT1 is overexpressing/underexpressing all genes in a geneset associated with a GO term relative to B6ME. The same GO terms are in both files.
429 |
430 | This describes the tables included in this GAGE output.
431 |
432 | Column | Description
433 | ----------|------------
434 | p.geomean | geometric mean of the individual p-values from multiple single array based gene set tests
435 | stat.mean | mean of the individual statistics from multiple single array based gene set tests. Normally, its absoluate value measures the magnitude of gene-set level changes, and its sign indicates direction of the changes.
436 | p.val | global p-value or summary of the individual p-values from multiple single array based gene set tests. This is the default p-value being used.
437 | q.val | FDR q-value adjustment of the global p-value using the Benjamini & Hochberg procedure implemented in multtest package. This is the default q-value being used.
438 | set.size | the effective gene set size, i.e. the number of genes included in the gene set test
439 | """)
440 | for f in GAGE_GO_FILES:
441 | outfile.write(">[{0}]({0})\n\n".format(f))
442 | outfile.write("""
443 | ###@ KEGG Pathway Enrichment with GAGE
444 | The GAGE KEGG analysis does not assume expression is in one direction.
445 | """)
446 | for f in GAGE_KEGG_FILES:
447 | outfile.write(">[{0}]({0})\n\n".format(f))
448 | outfile.write("""
449 | ### TopGO Analysis
450 | TopGO provides additional tools for exploring GO enrichment.
451 | > [topGO.pdf](topGO.pdf)
452 |
453 | ### Using BigWig Tracks in UCSC Genome Browser
454 | Go to [http://genome.ucsc.edu/cgi-bin/hgCustom](http://genome.ucsc.edu/cgi-bin/hgCustom), make sure mm10 is selected, and copy-paste one or more of these into the URL field.
455 | """)
456 | for c, b, p in zip(COLORS, BIGWIGS, PRETTY_NAMES):
457 | outfile.write("> ```track type=bigWig name={0} db=mm10 smoothingWindow=4 color={1} autoScale=on viewLimits=1:200 visibility=full windowingFunction=maximum bigDataUrl={{{{ site.baseurl }}}}/{2}```\n\n".format(p,c,b))
458 | outfile.write("""
459 | ### Code repository
460 | (Most of) the code used to generate this analysis is located here [http://github.com/leipzig/snakemake-example](http://github.com/leipzig/snakemake-example). Feel free to reuse.
461 |
462 | ### Git hash
463 | This should match the hash index on the last page of your report.
464 | """)
465 | outfile.write('```{0}```\n\n'.format(get_head_hash()))
466 | outfile.write('Last modified ```{0}```'.format(strftime("%Y-%m-%d %H:%M:%S")))
467 |
468 |
469 | rule publishsite:
470 | input: "site/index.md"
471 | shell:
472 | """
473 | jekyll build --config site/_config.yml --source site --destination site/_site
474 | rsync -v --update --rsh=ssh -r site/_site/* {MITOMAP}
475 | """
476 |
477 | rule publishdata:
478 | input: BIGWIGS, QCED, GAGE_GO_FILES, GAGE_KEGG_FILES, "diffExp.pdf", "topGO.pdf"
479 | shell:
480 | """
481 | rsync -v --update --rsh=ssh -r diffExp.pdf topGO.pdf muscleResults.csv heartResults.csv fastqc tracks raw_counts.tab.txt normalized_counts.tab.txt RNASEQC_DIR GAGE {MITOMAP}
482 | """
483 |
484 | def get_head_hash():
485 | return os.popen('git rev-parse --verify HEAD 2>&1').read().strip()
486 |
487 |
--------------------------------------------------------------------------------
/site/css/fa.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.2.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
2 | [class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;}
3 | .icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
4 | a [class^="icon-"],a [class*=" icon-"]{display:inline;}
5 | [class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.1428571428571428em;text-align:right;padding-right:0.2857142857142857em;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.4285714285714286em;}
6 | .icons-ul{margin-left:2.142857142857143em;list-style-type:none;}.icons-ul>li{position:relative;}
7 | .icons-ul .icon-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;text-align:center;line-height:inherit;}
8 | [class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
9 | .icon-muted{color:#eeeeee;}
10 | .icon-light{color:#ffffff;}
11 | .icon-dark{color:#333333;}
12 | .icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
13 | .icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
14 | .icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
15 | .icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
16 | .icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
17 | .pull-right{float:right;}
18 | .pull-left{float:left;}
19 | [class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
20 | [class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
21 | [class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
22 | .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
23 | .btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
24 | .btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
25 | .nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
26 | .btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
27 | .btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
28 | .btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
29 | .btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
30 | .btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
31 | .btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
32 | .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{line-height:inherit;}
33 | .icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
34 | .icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
35 | .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
36 | a .icon-stack,a .icon-spin{display:inline-block;text-decoration:none;}
37 | @-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
38 | .icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
39 | .icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
40 | .icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
41 | .icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
42 | a .icon-rotate-90:before,a .icon-rotate-180:before,a .icon-rotate-270:before,a .icon-flip-horizontal:before,a .icon-flip-vertical:before{display:inline-block;}
43 | .icon-glass:before{content:"\f000";}
44 | .icon-music:before{content:"\f001";}
45 | .icon-search:before{content:"\f002";}
46 | .icon-envelope-alt:before{content:"\f003";}
47 | .icon-heart:before{content:"\f004";}
48 | .icon-star:before{content:"\f005";}
49 | .icon-star-empty:before{content:"\f006";}
50 | .icon-user:before{content:"\f007";}
51 | .icon-film:before{content:"\f008";}
52 | .icon-th-large:before{content:"\f009";}
53 | .icon-th:before{content:"\f00a";}
54 | .icon-th-list:before{content:"\f00b";}
55 | .icon-ok:before{content:"\f00c";}
56 | .icon-remove:before{content:"\f00d";}
57 | .icon-zoom-in:before{content:"\f00e";}
58 | .icon-zoom-out:before{content:"\f010";}
59 | .icon-power-off:before,.icon-off:before{content:"\f011";}
60 | .icon-signal:before{content:"\f012";}
61 | .icon-gear:before,.icon-cog:before{content:"\f013";}
62 | .icon-trash:before{content:"\f014";}
63 | .icon-home:before{content:"\f015";}
64 | .icon-file-alt:before{content:"\f016";}
65 | .icon-time:before{content:"\f017";}
66 | .icon-road:before{content:"\f018";}
67 | .icon-download-alt:before{content:"\f019";}
68 | .icon-download:before{content:"\f01a";}
69 | .icon-upload:before{content:"\f01b";}
70 | .icon-inbox:before{content:"\f01c";}
71 | .icon-play-circle:before{content:"\f01d";}
72 | .icon-rotate-right:before,.icon-repeat:before{content:"\f01e";}
73 | .icon-refresh:before{content:"\f021";}
74 | .icon-list-alt:before{content:"\f022";}
75 | .icon-lock:before{content:"\f023";}
76 | .icon-flag:before{content:"\f024";}
77 | .icon-headphones:before{content:"\f025";}
78 | .icon-volume-off:before{content:"\f026";}
79 | .icon-volume-down:before{content:"\f027";}
80 | .icon-volume-up:before{content:"\f028";}
81 | .icon-qrcode:before{content:"\f029";}
82 | .icon-barcode:before{content:"\f02a";}
83 | .icon-tag:before{content:"\f02b";}
84 | .icon-tags:before{content:"\f02c";}
85 | .icon-book:before{content:"\f02d";}
86 | .icon-bookmark:before{content:"\f02e";}
87 | .icon-print:before{content:"\f02f";}
88 | .icon-camera:before{content:"\f030";}
89 | .icon-font:before{content:"\f031";}
90 | .icon-bold:before{content:"\f032";}
91 | .icon-italic:before{content:"\f033";}
92 | .icon-text-height:before{content:"\f034";}
93 | .icon-text-width:before{content:"\f035";}
94 | .icon-align-left:before{content:"\f036";}
95 | .icon-align-center:before{content:"\f037";}
96 | .icon-align-right:before{content:"\f038";}
97 | .icon-align-justify:before{content:"\f039";}
98 | .icon-list:before{content:"\f03a";}
99 | .icon-indent-left:before{content:"\f03b";}
100 | .icon-indent-right:before{content:"\f03c";}
101 | .icon-facetime-video:before{content:"\f03d";}
102 | .icon-picture:before{content:"\f03e";}
103 | .icon-pencil:before{content:"\f040";}
104 | .icon-map-marker:before{content:"\f041";}
105 | .icon-adjust:before{content:"\f042";}
106 | .icon-tint:before{content:"\f043";}
107 | .icon-edit:before{content:"\f044";}
108 | .icon-share:before{content:"\f045";}
109 | .icon-check:before{content:"\f046";}
110 | .icon-move:before{content:"\f047";}
111 | .icon-step-backward:before{content:"\f048";}
112 | .icon-fast-backward:before{content:"\f049";}
113 | .icon-backward:before{content:"\f04a";}
114 | .icon-play:before{content:"\f04b";}
115 | .icon-pause:before{content:"\f04c";}
116 | .icon-stop:before{content:"\f04d";}
117 | .icon-forward:before{content:"\f04e";}
118 | .icon-fast-forward:before{content:"\f050";}
119 | .icon-step-forward:before{content:"\f051";}
120 | .icon-eject:before{content:"\f052";}
121 | .icon-chevron-left:before{content:"\f053";}
122 | .icon-chevron-right:before{content:"\f054";}
123 | .icon-plus-sign:before{content:"\f055";}
124 | .icon-minus-sign:before{content:"\f056";}
125 | .icon-remove-sign:before{content:"\f057";}
126 | .icon-ok-sign:before{content:"\f058";}
127 | .icon-question-sign:before{content:"\f059";}
128 | .icon-info-sign:before{content:"\f05a";}
129 | .icon-screenshot:before{content:"\f05b";}
130 | .icon-remove-circle:before{content:"\f05c";}
131 | .icon-ok-circle:before{content:"\f05d";}
132 | .icon-ban-circle:before{content:"\f05e";}
133 | .icon-arrow-left:before{content:"\f060";}
134 | .icon-arrow-right:before{content:"\f061";}
135 | .icon-arrow-up:before{content:"\f062";}
136 | .icon-arrow-down:before{content:"\f063";}
137 | .icon-mail-forward:before,.icon-share-alt:before{content:"\f064";}
138 | .icon-resize-full:before{content:"\f065";}
139 | .icon-resize-small:before{content:"\f066";}
140 | .icon-plus:before{content:"\f067";}
141 | .icon-minus:before{content:"\f068";}
142 | .icon-asterisk:before{content:"\f069";}
143 | .icon-exclamation-sign:before{content:"\f06a";}
144 | .icon-gift:before{content:"\f06b";}
145 | .icon-leaf:before{content:"\f06c";}
146 | .icon-fire:before{content:"\f06d";}
147 | .icon-eye-open:before{content:"\f06e";}
148 | .icon-eye-close:before{content:"\f070";}
149 | .icon-warning-sign:before{content:"\f071";}
150 | .icon-plane:before{content:"\f072";}
151 | .icon-calendar:before{content:"\f073";}
152 | .icon-random:before{content:"\f074";}
153 | .icon-comment:before{content:"\f075";}
154 | .icon-magnet:before{content:"\f076";}
155 | .icon-chevron-up:before{content:"\f077";}
156 | .icon-chevron-down:before{content:"\f078";}
157 | .icon-retweet:before{content:"\f079";}
158 | .icon-shopping-cart:before{content:"\f07a";}
159 | .icon-folder-close:before{content:"\f07b";}
160 | .icon-folder-open:before{content:"\f07c";}
161 | .icon-resize-vertical:before{content:"\f07d";}
162 | .icon-resize-horizontal:before{content:"\f07e";}
163 | .icon-bar-chart:before{content:"\f080";}
164 | .icon-twitter-sign:before{content:"\f081";}
165 | .icon-facebook-sign:before{content:"\f082";}
166 | .icon-camera-retro:before{content:"\f083";}
167 | .icon-key:before{content:"\f084";}
168 | .icon-gears:before,.icon-cogs:before{content:"\f085";}
169 | .icon-comments:before{content:"\f086";}
170 | .icon-thumbs-up-alt:before{content:"\f087";}
171 | .icon-thumbs-down-alt:before{content:"\f088";}
172 | .icon-star-half:before{content:"\f089";}
173 | .icon-heart-empty:before{content:"\f08a";}
174 | .icon-signout:before{content:"\f08b";}
175 | .icon-linkedin-sign:before{content:"\f08c";}
176 | .icon-pushpin:before{content:"\f08d";}
177 | .icon-external-link:before{content:"\f08e";}
178 | .icon-signin:before{content:"\f090";}
179 | .icon-trophy:before{content:"\f091";}
180 | .icon-github-sign:before{content:"\f092";}
181 | .icon-upload-alt:before{content:"\f093";}
182 | .icon-lemon:before{content:"\f094";}
183 | .icon-phone:before{content:"\f095";}
184 | .icon-unchecked:before,.icon-check-empty:before{content:"\f096";}
185 | .icon-bookmark-empty:before{content:"\f097";}
186 | .icon-phone-sign:before{content:"\f098";}
187 | .icon-twitter:before{content:"\f099";}
188 | .icon-facebook:before{content:"\f09a";}
189 | .icon-github:before{content:"\f09b";}
190 | .icon-unlock:before{content:"\f09c";}
191 | .icon-credit-card:before{content:"\f09d";}
192 | .icon-rss:before{content:"\f09e";}
193 | .icon-hdd:before{content:"\f0a0";}
194 | .icon-bullhorn:before{content:"\f0a1";}
195 | .icon-bell:before{content:"\f0a2";}
196 | .icon-certificate:before{content:"\f0a3";}
197 | .icon-hand-right:before{content:"\f0a4";}
198 | .icon-hand-left:before{content:"\f0a5";}
199 | .icon-hand-up:before{content:"\f0a6";}
200 | .icon-hand-down:before{content:"\f0a7";}
201 | .icon-circle-arrow-left:before{content:"\f0a8";}
202 | .icon-circle-arrow-right:before{content:"\f0a9";}
203 | .icon-circle-arrow-up:before{content:"\f0aa";}
204 | .icon-circle-arrow-down:before{content:"\f0ab";}
205 | .icon-globe:before{content:"\f0ac";}
206 | .icon-wrench:before{content:"\f0ad";}
207 | .icon-tasks:before{content:"\f0ae";}
208 | .icon-filter:before{content:"\f0b0";}
209 | .icon-briefcase:before{content:"\f0b1";}
210 | .icon-fullscreen:before{content:"\f0b2";}
211 | .icon-group:before{content:"\f0c0";}
212 | .icon-link:before{content:"\f0c1";}
213 | .icon-cloud:before{content:"\f0c2";}
214 | .icon-beaker:before{content:"\f0c3";}
215 | .icon-cut:before{content:"\f0c4";}
216 | .icon-copy:before{content:"\f0c5";}
217 | .icon-paperclip:before,.icon-paper-clip:before{content:"\f0c6";}
218 | .icon-save:before{content:"\f0c7";}
219 | .icon-sign-blank:before{content:"\f0c8";}
220 | .icon-reorder:before{content:"\f0c9";}
221 | .icon-list-ul:before{content:"\f0ca";}
222 | .icon-list-ol:before{content:"\f0cb";}
223 | .icon-strikethrough:before{content:"\f0cc";}
224 | .icon-underline:before{content:"\f0cd";}
225 | .icon-table:before{content:"\f0ce";}
226 | .icon-magic:before{content:"\f0d0";}
227 | .icon-truck:before{content:"\f0d1";}
228 | .icon-pinterest:before{content:"\f0d2";}
229 | .icon-pinterest-sign:before{content:"\f0d3";}
230 | .icon-google-plus-sign:before{content:"\f0d4";}
231 | .icon-google-plus:before{content:"\f0d5";}
232 | .icon-money:before{content:"\f0d6";}
233 | .icon-caret-down:before{content:"\f0d7";}
234 | .icon-caret-up:before{content:"\f0d8";}
235 | .icon-caret-left:before{content:"\f0d9";}
236 | .icon-caret-right:before{content:"\f0da";}
237 | .icon-columns:before{content:"\f0db";}
238 | .icon-sort:before{content:"\f0dc";}
239 | .icon-sort-down:before{content:"\f0dd";}
240 | .icon-sort-up:before{content:"\f0de";}
241 | .icon-envelope:before{content:"\f0e0";}
242 | .icon-linkedin:before{content:"\f0e1";}
243 | .icon-rotate-left:before,.icon-undo:before{content:"\f0e2";}
244 | .icon-legal:before{content:"\f0e3";}
245 | .icon-dashboard:before{content:"\f0e4";}
246 | .icon-comment-alt:before{content:"\f0e5";}
247 | .icon-comments-alt:before{content:"\f0e6";}
248 | .icon-bolt:before{content:"\f0e7";}
249 | .icon-sitemap:before{content:"\f0e8";}
250 | .icon-umbrella:before{content:"\f0e9";}
251 | .icon-paste:before{content:"\f0ea";}
252 | .icon-lightbulb:before{content:"\f0eb";}
253 | .icon-exchange:before{content:"\f0ec";}
254 | .icon-cloud-download:before{content:"\f0ed";}
255 | .icon-cloud-upload:before{content:"\f0ee";}
256 | .icon-user-md:before{content:"\f0f0";}
257 | .icon-stethoscope:before{content:"\f0f1";}
258 | .icon-suitcase:before{content:"\f0f2";}
259 | .icon-bell-alt:before{content:"\f0f3";}
260 | .icon-coffee:before{content:"\f0f4";}
261 | .icon-food:before{content:"\f0f5";}
262 | .icon-file-text-alt:before{content:"\f0f6";}
263 | .icon-building:before{content:"\f0f7";}
264 | .icon-hospital:before{content:"\f0f8";}
265 | .icon-ambulance:before{content:"\f0f9";}
266 | .icon-medkit:before{content:"\f0fa";}
267 | .icon-fighter-jet:before{content:"\f0fb";}
268 | .icon-beer:before{content:"\f0fc";}
269 | .icon-h-sign:before{content:"\f0fd";}
270 | .icon-plus-sign-alt:before{content:"\f0fe";}
271 | .icon-double-angle-left:before{content:"\f100";}
272 | .icon-double-angle-right:before{content:"\f101";}
273 | .icon-double-angle-up:before{content:"\f102";}
274 | .icon-double-angle-down:before{content:"\f103";}
275 | .icon-angle-left:before{content:"\f104";}
276 | .icon-angle-right:before{content:"\f105";}
277 | .icon-angle-up:before{content:"\f106";}
278 | .icon-angle-down:before{content:"\f107";}
279 | .icon-desktop:before{content:"\f108";}
280 | .icon-laptop:before{content:"\f109";}
281 | .icon-tablet:before{content:"\f10a";}
282 | .icon-mobile-phone:before{content:"\f10b";}
283 | .icon-circle-blank:before{content:"\f10c";}
284 | .icon-quote-left:before{content:"\f10d";}
285 | .icon-quote-right:before{content:"\f10e";}
286 | .icon-spinner:before{content:"\f110";}
287 | .icon-circle:before{content:"\f111";}
288 | .icon-mail-reply:before,.icon-reply:before{content:"\f112";}
289 | .icon-github-alt:before{content:"\f113";}
290 | .icon-folder-close-alt:before{content:"\f114";}
291 | .icon-folder-open-alt:before{content:"\f115";}
292 | .icon-expand-alt:before{content:"\f116";}
293 | .icon-collapse-alt:before{content:"\f117";}
294 | .icon-smile:before{content:"\f118";}
295 | .icon-frown:before{content:"\f119";}
296 | .icon-meh:before{content:"\f11a";}
297 | .icon-gamepad:before{content:"\f11b";}
298 | .icon-keyboard:before{content:"\f11c";}
299 | .icon-flag-alt:before{content:"\f11d";}
300 | .icon-flag-checkered:before{content:"\f11e";}
301 | .icon-terminal:before{content:"\f120";}
302 | .icon-code:before{content:"\f121";}
303 | .icon-reply-all:before{content:"\f122";}
304 | .icon-mail-reply-all:before{content:"\f122";}
305 | .icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
306 | .icon-location-arrow:before{content:"\f124";}
307 | .icon-crop:before{content:"\f125";}
308 | .icon-code-fork:before{content:"\f126";}
309 | .icon-unlink:before{content:"\f127";}
310 | .icon-question:before{content:"\f128";}
311 | .icon-info:before{content:"\f129";}
312 | .icon-exclamation:before{content:"\f12a";}
313 | .icon-superscript:before{content:"\f12b";}
314 | .icon-subscript:before{content:"\f12c";}
315 | .icon-eraser:before{content:"\f12d";}
316 | .icon-puzzle-piece:before{content:"\f12e";}
317 | .icon-microphone:before{content:"\f130";}
318 | .icon-microphone-off:before{content:"\f131";}
319 | .icon-shield:before{content:"\f132";}
320 | .icon-calendar-empty:before{content:"\f133";}
321 | .icon-fire-extinguisher:before{content:"\f134";}
322 | .icon-rocket:before{content:"\f135";}
323 | .icon-maxcdn:before{content:"\f136";}
324 | .icon-chevron-sign-left:before{content:"\f137";}
325 | .icon-chevron-sign-right:before{content:"\f138";}
326 | .icon-chevron-sign-up:before{content:"\f139";}
327 | .icon-chevron-sign-down:before{content:"\f13a";}
328 | .icon-html5:before{content:"\f13b";}
329 | .icon-css3:before{content:"\f13c";}
330 | .icon-anchor:before{content:"\f13d";}
331 | .icon-unlock-alt:before{content:"\f13e";}
332 | .icon-bullseye:before{content:"\f140";}
333 | .icon-ellipsis-horizontal:before{content:"\f141";}
334 | .icon-ellipsis-vertical:before{content:"\f142";}
335 | .icon-rss-sign:before{content:"\f143";}
336 | .icon-play-sign:before{content:"\f144";}
337 | .icon-ticket:before{content:"\f145";}
338 | .icon-minus-sign-alt:before{content:"\f146";}
339 | .icon-check-minus:before{content:"\f147";}
340 | .icon-level-up:before{content:"\f148";}
341 | .icon-level-down:before{content:"\f149";}
342 | .icon-check-sign:before{content:"\f14a";}
343 | .icon-edit-sign:before{content:"\f14b";}
344 | .icon-external-link-sign:before{content:"\f14c";}
345 | .icon-share-sign:before{content:"\f14d";}
346 | .icon-compass:before{content:"\f14e";}
347 | .icon-collapse:before{content:"\f150";}
348 | .icon-collapse-top:before{content:"\f151";}
349 | .icon-expand:before{content:"\f152";}
350 | .icon-euro:before,.icon-eur:before{content:"\f153";}
351 | .icon-gbp:before{content:"\f154";}
352 | .icon-dollar:before,.icon-usd:before{content:"\f155";}
353 | .icon-rupee:before,.icon-inr:before{content:"\f156";}
354 | .icon-yen:before,.icon-jpy:before{content:"\f157";}
355 | .icon-renminbi:before,.icon-cny:before{content:"\f158";}
356 | .icon-won:before,.icon-krw:before{content:"\f159";}
357 | .icon-bitcoin:before,.icon-btc:before{content:"\f15a";}
358 | .icon-file:before{content:"\f15b";}
359 | .icon-file-text:before{content:"\f15c";}
360 | .icon-sort-by-alphabet:before{content:"\f15d";}
361 | .icon-sort-by-alphabet-alt:before{content:"\f15e";}
362 | .icon-sort-by-attributes:before{content:"\f160";}
363 | .icon-sort-by-attributes-alt:before{content:"\f161";}
364 | .icon-sort-by-order:before{content:"\f162";}
365 | .icon-sort-by-order-alt:before{content:"\f163";}
366 | .icon-thumbs-up:before{content:"\f164";}
367 | .icon-thumbs-down:before{content:"\f165";}
368 | .icon-youtube-sign:before{content:"\f166";}
369 | .icon-youtube:before{content:"\f167";}
370 | .icon-xing:before{content:"\f168";}
371 | .icon-xing-sign:before{content:"\f169";}
372 | .icon-youtube-play:before{content:"\f16a";}
373 | .icon-dropbox:before{content:"\f16b";}
374 | .icon-stackexchange:before{content:"\f16c";}
375 | .icon-instagram:before{content:"\f16d";}
376 | .icon-flickr:before{content:"\f16e";}
377 | .icon-adn:before{content:"\f170";}
378 | .icon-bitbucket:before{content:"\f171";}
379 | .icon-bitbucket-sign:before{content:"\f172";}
380 | .icon-tumblr:before{content:"\f173";}
381 | .icon-tumblr-sign:before{content:"\f174";}
382 | .icon-long-arrow-down:before{content:"\f175";}
383 | .icon-long-arrow-up:before{content:"\f176";}
384 | .icon-long-arrow-left:before{content:"\f177";}
385 | .icon-long-arrow-right:before{content:"\f178";}
386 | .icon-apple:before{content:"\f179";}
387 | .icon-windows:before{content:"\f17a";}
388 | .icon-android:before{content:"\f17b";}
389 | .icon-linux:before{content:"\f17c";}
390 | .icon-dribbble:before{content:"\f17d";}
391 | .icon-skype:before{content:"\f17e";}
392 | .icon-foursquare:before{content:"\f180";}
393 | .icon-trello:before{content:"\f181";}
394 | .icon-female:before{content:"\f182";}
395 | .icon-male:before{content:"\f183";}
396 | .icon-gittip:before{content:"\f184";}
397 | .icon-sun:before{content:"\f185";}
398 | .icon-moon:before{content:"\f186";}
399 | .icon-archive:before{content:"\f187";}
400 | .icon-bug:before{content:"\f188";}
401 | .icon-vk:before{content:"\f189";}
402 | .icon-weibo:before{content:"\f18a";}
403 | .icon-renren:before{content:"\f18b";}
404 |
--------------------------------------------------------------------------------
/site/js/bootstrap.js:
--------------------------------------------------------------------------------
1 | /**
2 | * bootstrap.js v3.0.0 by @fat and @mdo
3 | * Copyright 2013 Twitter Inc.
4 | * http://www.apache.org/licenses/LICENSE-2.0
5 | */
6 | if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i ').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h
'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);
--------------------------------------------------------------------------------
/site/css/fa-ie7.css:
--------------------------------------------------------------------------------
1 | .icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle;}
2 | .nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%;}
3 | .nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px;}
4 | .btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit;}
5 | .btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em;}
6 | a [class^="icon-"],a [class*=" icon-"]{cursor:pointer;}
7 | .icon-glass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
8 | .icon-music{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
9 | .icon-search{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
10 | .icon-envelope-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
11 | .icon-heart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
12 | .icon-star{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
13 | .icon-star-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
14 | .icon-user{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
15 | .icon-film{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
16 | .icon-th-large{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
17 | .icon-th{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
18 | .icon-th-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
19 | .icon-ok{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
20 | .icon-remove{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
21 | .icon-zoom-in{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
22 | .icon-zoom-out{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
23 | .icon-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
24 | .icon-power-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
25 | .icon-signal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
26 | .icon-cog{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
27 | .icon-gear{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
28 | .icon-trash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
29 | .icon-home{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
30 | .icon-file-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
31 | .icon-time{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
32 | .icon-road{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
33 | .icon-download-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
34 | .icon-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
35 | .icon-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
36 | .icon-inbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
37 | .icon-play-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
38 | .icon-repeat{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
39 | .icon-rotate-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
40 | .icon-refresh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
41 | .icon-list-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
42 | .icon-lock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
43 | .icon-flag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
44 | .icon-headphones{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
45 | .icon-volume-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
46 | .icon-volume-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
47 | .icon-volume-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
48 | .icon-qrcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
49 | .icon-barcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
50 | .icon-tag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
51 | .icon-tags{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
52 | .icon-book{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
53 | .icon-bookmark{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
54 | .icon-print{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
55 | .icon-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
56 | .icon-font{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
57 | .icon-bold{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
58 | .icon-italic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
59 | .icon-text-height{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
60 | .icon-text-width{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
61 | .icon-align-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
62 | .icon-align-center{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
63 | .icon-align-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
64 | .icon-align-justify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
65 | .icon-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
66 | .icon-indent-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
67 | .icon-indent-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
68 | .icon-facetime-video{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
69 | .icon-picture{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
70 | .icon-pencil{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
71 | .icon-map-marker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
72 | .icon-adjust{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
73 | .icon-tint{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
74 | .icon-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
75 | .icon-share{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
76 | .icon-check{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
77 | .icon-move{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
78 | .icon-step-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
79 | .icon-fast-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
80 | .icon-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
81 | .icon-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
82 | .icon-pause{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
83 | .icon-stop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
84 | .icon-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
85 | .icon-fast-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
86 | .icon-step-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
87 | .icon-eject{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
88 | .icon-chevron-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
89 | .icon-chevron-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
90 | .icon-plus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
91 | .icon-minus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
92 | .icon-remove-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
93 | .icon-ok-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
94 | .icon-question-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
95 | .icon-info-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
96 | .icon-screenshot{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
97 | .icon-remove-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
98 | .icon-ok-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
99 | .icon-ban-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
100 | .icon-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
101 | .icon-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
102 | .icon-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
103 | .icon-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
104 | .icon-share-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
105 | .icon-mail-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
106 | .icon-resize-full{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
107 | .icon-resize-small{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
108 | .icon-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
109 | .icon-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
110 | .icon-asterisk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
111 | .icon-exclamation-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
112 | .icon-gift{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
113 | .icon-leaf{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
114 | .icon-fire{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
115 | .icon-eye-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
116 | .icon-eye-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
117 | .icon-warning-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
118 | .icon-plane{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
119 | .icon-calendar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
120 | .icon-random{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
121 | .icon-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
122 | .icon-magnet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
123 | .icon-chevron-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
124 | .icon-chevron-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
125 | .icon-retweet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
126 | .icon-shopping-cart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
127 | .icon-folder-close{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
128 | .icon-folder-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
129 | .icon-resize-vertical{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
130 | .icon-resize-horizontal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
131 | .icon-bar-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
132 | .icon-twitter-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
133 | .icon-facebook-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
134 | .icon-camera-retro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
135 | .icon-key{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
136 | .icon-cogs{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
137 | .icon-gears{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
138 | .icon-comments{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
139 | .icon-thumbs-up-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
140 | .icon-thumbs-down-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
141 | .icon-star-half{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
142 | .icon-heart-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
143 | .icon-signout{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
144 | .icon-linkedin-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
145 | .icon-pushpin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
146 | .icon-external-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
147 | .icon-signin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
148 | .icon-trophy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
149 | .icon-github-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
150 | .icon-upload-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
151 | .icon-lemon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
152 | .icon-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
153 | .icon-check-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
154 | .icon-unchecked{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
155 | .icon-bookmark-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
156 | .icon-phone-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
157 | .icon-twitter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
158 | .icon-facebook{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
159 | .icon-github{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
160 | .icon-unlock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
161 | .icon-credit-card{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
162 | .icon-rss{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
163 | .icon-hdd{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
164 | .icon-bullhorn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
165 | .icon-bell{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
166 | .icon-certificate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
167 | .icon-hand-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
168 | .icon-hand-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
169 | .icon-hand-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
170 | .icon-hand-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
171 | .icon-circle-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
172 | .icon-circle-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
173 | .icon-circle-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
174 | .icon-circle-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
175 | .icon-globe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
176 | .icon-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
177 | .icon-tasks{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
178 | .icon-filter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
179 | .icon-briefcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
180 | .icon-fullscreen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
181 | .icon-group{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
182 | .icon-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
183 | .icon-cloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
184 | .icon-beaker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
185 | .icon-cut{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
186 | .icon-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
187 | .icon-paper-clip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
188 | .icon-paperclip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
189 | .icon-save{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
190 | .icon-sign-blank{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
191 | .icon-reorder{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
192 | .icon-list-ul{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
193 | .icon-list-ol{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
194 | .icon-strikethrough{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
195 | .icon-underline{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
196 | .icon-table{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
197 | .icon-magic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
198 | .icon-truck{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
199 | .icon-pinterest{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
200 | .icon-pinterest-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
201 | .icon-google-plus-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
202 | .icon-google-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
203 | .icon-money{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
204 | .icon-caret-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
205 | .icon-caret-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
206 | .icon-caret-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
207 | .icon-caret-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
208 | .icon-columns{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
209 | .icon-sort{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
210 | .icon-sort-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
211 | .icon-sort-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
212 | .icon-envelope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
213 | .icon-linkedin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
214 | .icon-undo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
215 | .icon-rotate-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
216 | .icon-legal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
217 | .icon-dashboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
218 | .icon-comment-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
219 | .icon-comments-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
220 | .icon-bolt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
221 | .icon-sitemap{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
222 | .icon-umbrella{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
223 | .icon-paste{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
224 | .icon-lightbulb{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
225 | .icon-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
226 | .icon-cloud-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
227 | .icon-cloud-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
228 | .icon-user-md{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
229 | .icon-stethoscope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
230 | .icon-suitcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
231 | .icon-bell-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
232 | .icon-coffee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
233 | .icon-food{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
234 | .icon-file-text-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
235 | .icon-building{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
236 | .icon-hospital{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
237 | .icon-ambulance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
238 | .icon-medkit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
239 | .icon-fighter-jet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
240 | .icon-beer{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
241 | .icon-h-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
242 | .icon-plus-sign-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
243 | .icon-double-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
244 | .icon-double-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
245 | .icon-double-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
246 | .icon-double-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
247 | .icon-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
248 | .icon-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
249 | .icon-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
250 | .icon-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
251 | .icon-desktop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
252 | .icon-laptop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
253 | .icon-tablet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
254 | .icon-mobile-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
255 | .icon-circle-blank{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
256 | .icon-quote-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
257 | .icon-quote-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
258 | .icon-spinner{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
259 | .icon-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
260 | .icon-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
261 | .icon-mail-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
262 | .icon-github-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
263 | .icon-folder-close-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
264 | .icon-folder-open-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
265 | .icon-expand-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
266 | .icon-collapse-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
267 | .icon-smile{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
268 | .icon-frown{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
269 | .icon-meh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
270 | .icon-gamepad{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
271 | .icon-keyboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
272 | .icon-flag-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
273 | .icon-flag-checkered{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
274 | .icon-terminal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
275 | .icon-code{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
276 | .icon-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
277 | .icon-mail-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
278 | .icon-star-half-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
279 | .icon-star-half-full{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
280 | .icon-location-arrow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
281 | .icon-crop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
282 | .icon-code-fork{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
283 | .icon-unlink{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
284 | .icon-question{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
285 | .icon-info{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
286 | .icon-exclamation{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
287 | .icon-superscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
288 | .icon-subscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
289 | .icon-eraser{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
290 | .icon-puzzle-piece{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
291 | .icon-microphone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
292 | .icon-microphone-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
293 | .icon-shield{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
294 | .icon-calendar-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
295 | .icon-fire-extinguisher{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
296 | .icon-rocket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
297 | .icon-maxcdn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
298 | .icon-chevron-sign-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
299 | .icon-chevron-sign-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
300 | .icon-chevron-sign-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
301 | .icon-chevron-sign-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
302 | .icon-html5{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
303 | .icon-css3{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
304 | .icon-anchor{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
305 | .icon-unlock-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
306 | .icon-bullseye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
307 | .icon-ellipsis-horizontal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
308 | .icon-ellipsis-vertical{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
309 | .icon-rss-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
310 | .icon-play-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
311 | .icon-ticket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
312 | .icon-minus-sign-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
313 | .icon-check-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
314 | .icon-level-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
315 | .icon-level-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
316 | .icon-check-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
317 | .icon-edit-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
318 | .icon-external-link-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
319 | .icon-share-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
320 | .icon-compass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
321 | .icon-collapse{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
322 | .icon-collapse-top{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
323 | .icon-expand{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
324 | .icon-eur{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
325 | .icon-euro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
326 | .icon-gbp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
327 | .icon-usd{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
328 | .icon-dollar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
329 | .icon-inr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
330 | .icon-rupee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
331 | .icon-jpy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
332 | .icon-yen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
333 | .icon-cny{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
334 | .icon-renminbi{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
335 | .icon-krw{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
336 | .icon-won{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
337 | .icon-btc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
338 | .icon-bitcoin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
339 | .icon-file{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
340 | .icon-file-text{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
341 | .icon-sort-by-alphabet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
342 | .icon-sort-by-alphabet-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
343 | .icon-sort-by-attributes{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
344 | .icon-sort-by-attributes-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
345 | .icon-sort-by-order{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
346 | .icon-sort-by-order-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
347 | .icon-thumbs-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
348 | .icon-thumbs-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
349 | .icon-youtube-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
350 | .icon-youtube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
351 | .icon-xing{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
352 | .icon-xing-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
353 | .icon-youtube-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
354 | .icon-dropbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
355 | .icon-stackexchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
356 | .icon-instagram{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
357 | .icon-flickr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
358 | .icon-adn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
359 | .icon-bitbucket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
360 | .icon-bitbucket-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
361 | .icon-tumblr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
362 | .icon-tumblr-sign{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
363 | .icon-long-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
364 | .icon-long-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
365 | .icon-long-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
366 | .icon-long-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
367 | .icon-apple{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
368 | .icon-windows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
369 | .icon-android{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
370 | .icon-linux{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
371 | .icon-dribbble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
372 | .icon-skype{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
373 | .icon-foursquare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
374 | .icon-trello{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
375 | .icon-female{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
376 | .icon-male{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
377 | .icon-gittip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
378 | .icon-sun{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
379 | .icon-moon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
380 | .icon-archive{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
381 | .icon-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
382 | .icon-vk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
383 | .icon-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
384 | .icon-renren{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');}
385 |
--------------------------------------------------------------------------------