-
Notifications
You must be signed in to change notification settings - Fork 5
/
poster.Rnw
302 lines (250 loc) · 9.94 KB
/
poster.Rnw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
\documentclass[final,t]{beamer}
\mode<presentation>
{
\usetheme{mytheme}
}
\usepackage[
orientation=portrait,
size=a0,
scale = 1.3,
%debug
]{beamerposter} % A0, hochkant
%% additional settings
\setbeamerfont{itemize}{size=\normalsize}
\setbeamerfont{itemize/enumerate body}{size=\normalsize}
\setbeamerfont{itemize/enumerate subbody}{size=\normalsize}
\setbeamertemplate{items}[triangle] % ball: 3-dimensional balls ;circle: 2-dimensional (flat) circles ;rectangle: rectangles ;default: triangles
%% additional packages
\usepackage{times}
\usepackage{amsmath,amsthm, amssymb, latexsym}
\usepackage{exscale}
\usepackage{booktabs, array}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scaled=1]{helvet} %% --- Helvetica (Arial)
\usepackage{ragged2e} % für Blocksatz \justifying setzen
\usepackage{array} % center alligned columns
\usepackage{marvosym} %compter / mouse symbols
\usepackage{enumerate}% http://ctan.org/pkg/enumerate
\usepackage[
%round, %(default) for round parentheses;
%square, % for square brackets;
%curly, % for curly braces;
%angle, % for angle brackets;
colon, % (default) to separate multiple citations with colons;
%comma, % to use commas as separaters;
%authoryear,% (default) for author-year citations;
numbers, % for numerical citations;
super, % for superscripted numerical citations, as in Nature;
%sort, % orders multiple citations into the sequence in which they appear in the list of references;
%sort&compress, % as sort but in addition multiple numerical citations
% are compressed if possible (as 3-6, 15);
%longnamesfirst, % makes the first citation of any reference the equivalent of
% the starred variant (full author list) and subsequent citations
%normal (abbreviated list);
%sectionbib, % redefines \thebibliography to issue \section* instead of \chapter*;
% valid only for classes with a \chapter command;
% to be used with the chapterbib package;
%nonamebreak, % keeps all the authors names in a citation on one line;
%causes overfull hboxes but helps with some hyperref problems.
]{natbib} % Literaturverzeichnis
%\bibpunct{(}{)}{;}{a}{,}{}
%\linespread{1.3}
\renewcommand*{\tiny}{\fontsize{\resulttinyX}{\resulttinyY}\selectfont}
\title{taxize: \\[0.2em] taxonomic search and retrieval in R}
\author{Eduard Szöcs \textsuperscript{1} and Scott A. Chamberlain \textsuperscript{2}}
\institute{\textsuperscript{1} University of Koblenz-Landau, \textsuperscript{2} rOpenSci}
%%% Footline
\setbeamertemplate{footline}{
\begin{beamercolorbox}[ht=4ex,leftskip=1cm,rightskip=1cm]{footline}%
\textbf{Eduard Szöcs, Mail : szoecs@uni-landau.de}
\vskip1ex
\end{beamercolorbox}}
%%% global settings
\setbeamertemplate{caption}[numbered] %%% Captions nummeriert
\setbeamerfont{caption}{size=\footnotesize} %%% Captions kleiner
\def\newblock{\hskip .11em plus.33em minus.07em} %%% \newblock undefined Fehler beheben
\setbeamertemplate{itemize item}{$\bullet$} %%% itemize symbol
\let\raggedright\relax %% justifying also in itemize
%%% hyperref fix textsuperscript in section
\pdfstringdefDisableCommands{%
\def\textsuperscript#1{\textasciicircum(#1)}%
}
\renewenvironment{knitrout}{}{\vspace{-1.8em}}
\begin{document}
<<echo=FALSE, message=FALSE>>=
require(taxize)
options(width = 50)
opts_chunk$set(fig.align='center',fig.show='hold',size='footnotesize', cache=TRUE, background='#f3f3f3')
@
\begin{frame}[fragile]
\begin{block}{\Large Summary}
\Large \textcolor{i6bluedark}{\textbf{Taxize}} is a R package that provides an interface to various taxonomic data sources around the web \cite{chamberlain_taxize:_2013}.
Data cleaning steps, like fixing taxonomic names, aggregating data to a specific taxonomic level, resolving ambiguous taxa or matching tables with different taxonomic resolution are crucial steps before a statistical analysis \cite{boyle_taxonomic_2013}.
The functionality of taxize simplifies these steps and eases handling of taxonomic data in R.
\end{block}
\vspace{.5em}
\begin{columns}[t]
\begin{column}{0.01\linewidth}
\end{column}
\begin{column}{.485\linewidth}
\vspace{-\baselineskip} % kills unnecessary vspace
\begin{block}{Data Sources}
Taxize currently provides simple and programmatic access to taxonomic data from 15 data sources around the web.
\vspace{0.5cm}
\begin{figure}
\includegraphics[width=0.9\linewidth]{fig/sources.png}
\label{fig:sources}
\end{figure}
\end{block}
\begin{block}{Features}
\textcolor{i6bluedark}{\textbf{\large Resolve taxonomic names}}
\vspace{0.5em}
\par
\begingroup
\leftskip=2cm
\noindent
We often have a list of species names and we want to know \\[0.5em]
a) if we have the most up-to-date names, \\
b) if our names are spelled correctly, \\
c) and the scientific name for a common name.\\[0.5em]
Taxize provides an interface to the EOL Global Names Resolver and Taxonomic Name Resolution Service, e.g.
\par
\endgroup
<<eval=FALSE>>=
gnr_resolve('Baetis roodani')
@
<<echo=FALSE>>=
gnr_resolve('Baetis roodani')$results[1, 1:2]
@
\vspace{2em}
\textcolor{i6bluedark}{\textbf{\large Retrieve higher taxonomic names}}
\vspace{0.5em}
\par
\begingroup
\leftskip=2cm
\noindent
Another common task is to retrieve the complete taxonomic hierarchy for a taxon.
Different sources with different coverages can be used.
\par
\endgroup
<<eval=FALSE>>=
classification('Baetis rhodani', db = 'col')
@
<<echo=FALSE,message=FALSE>>=
classification('Baetis rhodani', db = 'col')[[1]]
@
\vspace{2em}
\textcolor{i6bluedark}{\textbf{\large Retrieve children taxa}}
\vspace{0.5em}
\par
\begingroup
\leftskip=2cm
\noindent
One can also search in the opposite direction, i.e. search species within a genus:
\par
\endgroup
<<eval=FALSE>>=
downstream('Baetis', db = 'col', downto = 'Species')
@
<<echo=FALSE,message=FALSE>>=
downstream('Baetis', db = 'col', downto = 'Species')[[1]][1:7, 2:3]
@
\vspace{2em}
\end{block}
\end{column}
\begin{column}{0.01\linewidth}
\end{column}
\begin{column}{.485\linewidth}
\vspace{-\baselineskip}
\begin{block}{Features (cont.)}
\textcolor{i6bluedark}{\textbf{\large Hierarchy trees}}
\vspace{0.5em}
\par
\begingroup
\leftskip=2cm
\noindent
The taxonomic relationships between species can be displayed in hierarchy trees.
These could be used for example as surrogates when phylogenetic data is scarce \cite{guenard_using_2011}.
\par
\endgroup
<<message=FALSE>>=
species <- c('Juncus bufonius', 'Juncus articulatus',
'Aira praecox', 'Rumex acetosa', 'Baetis rhodani')
hier <- classification(species, db = 'ncbi')
@
<<class2tree_e, eval=FALSE>>=
plot(class2tree(hier))
@
\vspace{2em}
<<classtree, echo=FALSE, fig.width = 5, fig.height = 4, out.width = '0.4\\linewidth', fig.keep='last'>>=
plot(class2tree(hier), no.margin=TRUE, edge.width=3, label.offset = 1)
@
\vspace{2em}
\textcolor{i6bluedark}{\textbf{\large Aggregate taxa}}
\vspace{0.5em}
\par
\begingroup
\leftskip=2cm
\noindent
Using the taxonomic information taxa can be easily aggregated to different levels, e.g. to study effects on different taxonomic levels.
Taxize provides the \texttt{tax\_agg()} function for this purpose:
\par
\endgroup
<<eval = FALSE>>=
tax_agg(dune, rank = 'family', db = 'ncbi')
@
\vspace{2em}
\textcolor{i6bluedark}{\textbf{\large Other functionality}}
\begin{columns}[T]
\begin{column}{1cm}
\end{column}
\begin{column}{0.95\linewidth}
\begin{description}
\item[Resolve ambiguous taxa \cite{cuffney_ambiguous_2007} : ] Taxonomic information forms the basis for these methods, for details see the restax package \cite{_edild/restax_????}.
\item[IUCN : ] Query the IUCN status for taxa.
\item[Invasive species : ] Check if a taxon is listed in the Global Invasive Species Database (GISD). Integration of the Global Invasive Species Information Network (GISIN) is under development.
\end{description}
\end{column}
\end{columns}
\end{block}
\begin{block}{Under the hood}
taxize grabs data from the internet, formats and returns it to the user.
This would not have been possible without the work of others:
\begin{columns}[T]
\begin{column}{1cm}
\end{column}
\begin{column}{0.95\linewidth}
\begin{description}
\item[Calling Servers] \hfill \\
\texttt{httr} and \texttt{RCurl}
\item[Parsing] \hfill \\
\texttt{XML} and \texttt{RJSONIO}
\item[Data manipulation] \hfill \\
\texttt{stringr}, \texttt{plyr}, \texttt{reshape2} and \texttt{vegan}
\end{description}
\end{column}
\end{columns}
\vspace{0.5cm}
And, of course, base-R ;)
\end{block}
\begin{block}{Get involved!}
\begin{columns}[T]
\begin{column}{.85\linewidth}
taxize is currently developed collaboratively on GitHub. Feature requests, bug reports and contributions are strongly encouraged! \\[0.5em]
\huge \Mundus \normalsize \hspace{0.5cm} \textbf{https://github.com/ropensci/taxize}
\end{column}
\begin{column}{.13\linewidth}
\includegraphics[width=0.9\linewidth]{fig/github.png}
\end{column}
\end{columns}
\end{block}
\begin{block}{References}
\tiny
\bibliography{taxize_poster}
\bibliographystyle{poster}
\end{block}
\end{column}
\end{columns}
\end{frame}
\end{document}