This was a last minute microtalk given at the Swiss Institute of Bioinformatics SIB 2011 Summer school in Bioinformatics & Population Genomics in Adelboden (http://edu.isb-sib.ch/course/view.php?id=111 ).
Yannick WurmReader in Evolutionary Genomics at Queen Mary, University of London
2. Programming better
• “being
able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
3. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
4. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
• coding width: 100 characters
5. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
• coding width: 100 characters
• indenting
6. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
• coding width: 100 characters
• indenting
• Follow
conventions -eg
“Google R Style”
7. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
• coding width: 100 characters
• indenting
• Follow
conventions -eg
“Google R Style”
• Versioning: DropBox & http://github.com/
8. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
• coding width: 100 characters
• indenting
• Follow
conventions -eg
“Google R Style”
• Versioning: DropBox & http://github.com/
• Automated testing
9. Programming better
• “being able to use understand and improve your code in 6
months & in 60 years” - approximate Damian Conway
• variable naming
• coding width: 100 characters
• indenting
• Follow
conventions -eg
“Google R Style”
• Versioning: DropBox & http://github.com/
• Automated testing
preprocess_snps <- function(snp_table, testing=FALSE) {
if (testing) {
# run a bunch of tests of extreme situations.
# quit if a test gives a weird result.
}
# real part of function.
}
10. Education
A Quick Guide to Organizing Computational Biology
Projects
William Stafford Noble1,2*
1 Department of Genome Sciences, School of Medicine, University of Washington, Seattle, Washington, United States of America, 2 Department of Computer Science and
Engineering, University of Washington, Seattle, Washington, United States of America
Introduction understanding your work or who may be under a common root directory. The
evaluating your research skills. Most com- exception to this rule is source code or
Most bioinformatics coursework focus- monly, however, that ‘‘someone’’ is you. A scripts that are used in multiple projects.
es on algorithms, with perhaps some few months from now, you may not Each such program might have a project
components devoted to learning pro- remember what you were up to when you directory of its own.
gramming skills and learning how to created a particular set of files, or you may Within a given project, I use a top-level
use existing bioinformatics software. Un- not remember what conclusions you drew. organization that is logical, with chrono-
fortunately, for students who are prepar- You will either have to then spend time logical organization at the next level, and
ing for a research career, this type of reconstructing your previous experiments logical organization below that. A sample
curriculum fails to address many of the or lose whatever insights you gained from project, called msms, is shown in Figure 1.
day-to-day organizational challenges as- those experiments. At the root of most of my projects, I have a
sociated with performing computational This leads to the second principle, data directory for storing fixed data sets, a
experiments. In practice, the principles which is actually more like a version of results directory for tracking computa-
behind organizing and documenting Murphy’s Law: Everything you do, you tional experiments peformed on that data,
computational experiments are often will probably have to do over again. a doc directory with one subdirectory per
learned on the fly, and this learning is Inevitably, you will discover some flaw in manuscript, and directories such as src
strongly influenced by personal predilec- your initial preparation of the data being for source code and bin for compiled
tions as well as by chance interactions analyzed, or you will get access to new binaries or scripts.
with collaborators or colleagues. data, or you will decide that your param- Within the data and results directo-
The purpose of this article is to describe eterization of a particular model was not ries, it is often tempting to apply a similar,
one good strategy for carrying out com- broad enough. This means that the logical organization. For example, you
putational experiments. I will not describe experiment you did last week, or even may have two or three data sets against
profound issues such as how to formulate the set of experiments you’ve been work- which you plan to benchmark your
hypotheses, design experiments, or draw ing on over the past month, will probably algorithms, so you could create one
conclusions. Rather, I will focus on need to be redone. If you have organized directory for each of them under data.
11. Education
A Quick Guide to Organizing Computational Biology
Projects
William Stafford Noble1,2*
1 Department of Genome Sciences, School of Medicine, University of Washington, Seattle, Washington, United States of America, 2 Department of Computer Science and
Engineering, University of Washington, Seattle, Washington, United States of America
Introduction understanding your work or who may be under a common root directory. The
evaluating your research skills. Most com- exception to this rule is source code or
Most bioinformatics coursework focus- monly, however, that ‘‘someone’’ is you. A scripts that are used in multiple projects.
es on algorithms, with perhaps some few months from now, you may not Each such program might have a project
components devoted to learning pro- remember what you were up to when you directory of its own.
gramming skills and learning how to created a particular set of files, or you may Within a given project, I use a top-level
use existing bioinformatics software. Un- not remember what conclusions you drew. organization that is logical, with chrono-
fortunately, for students who are prepar- You will either have to then spend time logical organization at the next level, and
ing for a research career, this type of reconstructing your previous experiments logical organization below that. A sample
curriculum fails to address many of the files1. Directory structurethat thesampleare formattedyounames are in large typeface,so that they can beinsorted intypeface. Only, aorder. The
Figure
the
for a project. Directory and filenames are smaller
or lose whatever insights ,year.-,month.-,day. project, called msms is shown in Figure 1.
are shown here. Note dates gained from chronological
subset of
day-to-day organizational challenges as- in the data directories specify whoisdownloaded the databin/ms-analysison whatdocumented in the root of most of my projects, I have a
source code src/ms-analysis.c compiled to create
files those experiments. files from what URL
and is doc/ms-analysis.html. The README
date. TheAt script results/2009-01-15/runall
driver
split1, split2,
sociated with performing computational scriptgenerates by both ofsubdirectoriesthe scripts. and principle,
automatically the three split3, corresponding to three cross-validation splits. The bin/parse-
sqt.py is This leads runall driver second
called the to data directory for storing fixed data sets, a
experiments. In practice, the principles doi:10.1371/journal.pcbi.1000424.g001
which is actually more like a version of results directory for tracking computa-
behind organizing and documenting this approach, the distinction be- The Lab Notebook you
with Murphy’s Law: Everything you do, tionaltypes of entries providepeformed on that data,
These experiments a complete
computational experiments are often data and results may not be useful.
tween picture of the development of the project
doc directory with one subdirectory per
Instead, one could probably have to parallel over this chronological a over time.
will imagine a top-level In do with again.
learned on the fly, and this learning directory called something likeyou will discover some flaw in
is directory structure, I find it useful to
Inevitably, experi- maintain a chronologically organized lab manuscript,I put theirdirectories such as src
In practice, and
ask members of my
ments, with subdirectories with names like research group to lab notebooks
strongly influenced by personal predilec- 2008-12-19. Optionally, the preparation of This is data beingresides for source password and bin for compiled
your initial directory notebook. the aresults directory and online, behind code protection if
document that
tions as well as by chance interactions mightanalyzed, word or two will therecords the progress in detail. binaries Whenscripts. a member
name also include a in root of
or you that get access to new your
necessary.
or I meet with
indicating the topic of the experiment of my lab or a project team, we can refer
with collaborators or colleagues. therein. In practice, a single experiment
you day
Entries in the notebook should be dated,
data, orthan onewill ofdecidethey should be relatively verbose, with toWithin entry notebook, focusing results directo-
the online the data and on
lab
will often require more and that your param-
The purpose of this article is to describe and so you may end upof a particular model was not tables ries, it is oftennecessary. Theupto apply a similar,
work, eterization working a links or embedded of the experiments previous entries as temptingURL
images or
the current but scrolling to
displaying the results
one good strategy for carrying out com- days orbroad enough.new This you performed.that theto de- logical giveprovided to remote collabo- example, you
few more before creating a
subdirectory. Later, when you or someone that means In addition
can also be
rators to organization. on the
them status updates For
putational experiments. I will not describe wants experiment youthedidnotebook should record youreven
else to know what you did, scribing precisely what you did, the
last week, or observations, may have you wouldor three data sets against
project. two
chronological structure of your work will
profound issues such as how to formulateself-evident. set of experiments you’ve been for future work. which you plan to create
be the conclusions, and ideas
Note that if
work- out your own ‘‘home-brew’’ electronic note-
rather not
benchmark your
hypotheses, design experiments, or draw a single experiment directoriesthe Particularlytempting simply to linkturnsfinal algorithms,alternativesyou available.
Below directory,
ing on over the past badly, it is will probably
organization of files and is month,
when an experiment
the
book, several
so are
For example, a variety of commercial
could create one
conclusions. Rather, I will focus on andneed to be redone. If you have organized it is directory forhave been of them under data.
logical, depends upon the structure plot or table of results and start a new
experiment. Before doing that,
software systems each created to
of your experiment. In many simple help scientists create and maintain elec-
12. Education
A Quick Guide to Organizing Computational Biology
Projects
William Stafford Noble1,2*
1 Department of Genome Sciences, School of Medicine, University of Washington, Seattle, Washington, United States of America, 2 Department of Computer Science and
Engineering, University of Washington, Seattle, Washington, United States of America
Introduction understanding your work or who may be under a common root directory. The
evaluating your research skills. Most com- exception to this rule is source code or
Most bioinformatics coursework focus- monly, however, that ‘‘someone’’ is you. A scripts that are used in multiple projects.
es on algorithms, with perhaps some few months from now, you may not Each such program might have a project
components devoted to learning pro- remember what you were up to when you directory of its own.
gramming skills and learning how to created a particular set of files, or you may Within a given project, I use a top-level
use existing bioinformatics software. Un- not remember what conclusions you drew. organization that is logical, with chrono-
fortunately, for students who are prepar- You will either have to then spend time logical organization at the next level, and
ing for a research career, this type of reconstructing your previous experiments logical organization below that. A sample
curriculum fails to address many of the files1. Directory structurethat thesampleare formattedyounames are in large typeface,so that they can beinsorted intypeface. Only, aorder. The
Figure for a project. Directory and filenames are smaller
or lose whatever insights ,year.-,month.-,day. project, called msms is shown in Figure 1.
gained from
subset of
In each results folder:
the are shown here. Note dates chronological
day-to-day organizational challenges as- in the data directories specify whoisdownloaded the databin/ms-analysison whatdocumented in the root of most of my projects, I have a
source code src/ms-analysis.c compiled to create
files those experiments. files from what URL
and is doc/ms-analysis.html. The README
date. TheAt script results/2009-01-15/runall
driver
split1, split2,
sociated with performing computational scriptgenerates by both ofsubdirectoriesthe scripts. and principle,
automatically the three split3, corresponding to three cross-validation splits. The bin/parse-
sqt.py is This leads runall driver second
called the to data directory for storing fixed data sets, a
•script: getResults.rb or WHATIDID.txt
experiments. In practice, the principles doi:10.1371/journal.pcbi.1000424.g001
which is actually more like a version of results directory for tracking computa-
behind organizing and documenting this approach, the distinction be- The Lab Notebook you
with Murphy’s Law: Everything you do, tionaltypes of entries providepeformed on that data,
These experiments a complete
computational experiments are often data and results may not be useful.
tween picture of the development of the project
doc directory with one subdirectory per
Instead, one could probably have to parallel over this chronological a over time.
will imagine a top-level In do with again.
•intermediates
learned on the fly, and this learning directory called something likeyou will discover some flaw in
is directory structure, I find it useful to
Inevitably, experi- maintain a chronologically organized lab manuscript,I put theirdirectories such as src
In practice, and
ask members of my
ments, with subdirectories with names like research group to lab notebooks
strongly influenced by personal predilec- 2008-12-19. Optionally, the preparation of This is data beingresides for source password and bin for compiled
your initial directory notebook. the aresults directory and online, behind code protection if
document that
tions as well as by chance interactions mightanalyzed, word or two will therecords the progress in detail. binaries Whenscripts. a member
name also include a in root of
or you that get access to new
necessary.
or I meet with
•output
indicating the topic of the experiment your of my lab or a project team, we can refer
with collaborators or colleagues. therein. In practice, a single experiment
you day
Entries in the notebook should be dated,
data, orthan onewill ofdecidethey should be relatively verbose, with toWithin entry notebook, focusing results directo-
the online the data and on
lab
will often require more and that your param-
The purpose of this article is to describe and so you may end upof a particular model was not tables ries, it is oftennecessary. Theupto apply a similar,
work, eterization working a links or embedded of the experiments previous entries as temptingURL
images or
the current but scrolling to
displaying the results
one good strategy for carrying out com- days orbroad enough.new This you performed.that theto de- logical giveprovided to remote collabo- example, you
few more before creating a
subdirectory. Later, when you or someone that means In addition
can also be
rators to organization. on the
them status updates For
putational experiments. I will not describe wants experiment youthedidnotebook should record youreven
else to know what you did, scribing precisely what you did, the
last week, or observations, may have you wouldor three data sets against
project. two
chronological structure of your work will
profound issues such as how to formulateself-evident. set of experiments you’ve been for future work. which you plan to create
be the conclusions, and ideas
Note that if
work- out your own ‘‘home-brew’’ electronic note-
rather not
benchmark your
hypotheses, design experiments, or draw a single experiment directoriesthe Particularlytempting simply to linkturnsfinal algorithms,alternativesyou available.
Below directory,
ing on over the past badly, it is will probably
organization of files and is month,
when an experiment
the
book, several
so are
For example, a variety of commercial
could create one
conclusions. Rather, I will focus on andneed to be redone. If you have organized it is directory forhave been of them under data.
logical, depends upon the structure plot or table of results and start a new
experiment. Before doing that,
software systems each created to
of your experiment. In many simple help scientists create and maintain elec-
17. knitr (sweave)Analyzing & Reporting in a single file.
MyFile.Rnw
documentclass{article}
usepackage[sc]{mathpazo}
usepackage[T1]{fontenc}
begin{document}
<<setup, include=FALSE, cache=FALSE, echo=FALSE>>=
# this is equivalent to SweaveOpts{...}
opts_chunk$set(fig.path='figure/minimal-', fig.align='center', fig.show='hold')
options(replace.assign=TRUE,width=90)
@
title{A Minimal Demo of knitr}
author{Yihui Xie}
maketitle
You can test if textbf{knitr} works with this minimal demo. OK, let's
get started with some boring random numbers:
<<boring-random,echo=TRUE,cache=TRUE>>=
set.seed(1121)
(x=rnorm(20))
mean(x);var(x)
@
The first element of texttt{x} is Sexpr{x[1]}. Boring boxplots
and histograms recorded by the PDF device:
<<boring-plots,cache=TRUE,echo=TRUE'>>=
## two plots side by side (option fig.show='hold')
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3,las=1)
boxplot(x)
hist(x,main='')
@
Do the above chunks work? You should be able to compile the TeX{}
document and get a PDF file like this one: url{https://github.com/downloads/
18. knitr (sweave)Analyzing & Reporting in a single file.
### in R:
MyFile.Rnw library(knitr)
documentclass{article}
usepackage[sc]{mathpazo}
usepackage[T1]{fontenc} knit(“MyFile.Rnw”)
begin{document} # --> creates MyFile.tex
<<setup, include=FALSE, cache=FALSE, echo=FALSE>>=
# this is equivalent to SweaveOpts{...}
opts_chunk$set(fig.path='figure/minimal-', fig.align='center', fig.show='hold')
options(replace.assign=TRUE,width=90)
@
### in shell:
pdflatex MyFile.tex
title{A Minimal Demo of knitr}
author{Yihui Xie}
# --> creates MyFile.pdf
maketitle
You can test if textbf{knitr} works with this minimal demo. OK, let's
get started with some boring random numbers:
<<boring-random,echo=TRUE,cache=TRUE>>=
set.seed(1121)
(x=rnorm(20))
mean(x);var(x)
@
The first element of texttt{x} is Sexpr{x[1]}. Boring boxplots
and histograms recorded by the PDF device:
<<boring-plots,cache=TRUE,echo=TRUE'>>=
## two plots side by side (option fig.show='hold')
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3,las=1)
boxplot(x)
hist(x,main='')
@
Do the above chunks work? You should be able to compile the TeX{}
document and get a PDF file like this one: url{https://github.com/downloads/
19. knitr (sweave)Analyzing & Reporting in a single file.
### in R:
MyFile.Rnw library(knitr)
documentclass{article}
usepackage[sc]{mathpazo}
usepackage[T1]{fontenc} knit(“MyFile.Rnw”)
begin{document} # --> creates MyFile.tex
<<setup, include=FALSE, cache=FALSE, echo=FALSE>>=
# this is equivalent to SweaveOpts{...}
opts_chunk$set(fig.path='figure/minimal-', fig.align='center', fig.show='hold')
options(replace.assign=TRUE,width=90)
@
### in shell:
pdflatex MyFile.tex
title{A Minimal Demo of knitr}
author{Yihui Xie}
# --> creates MyFile.pdf
maketitle
You can test if textbf{knitr} works with this minimal demo. OK, let's A Minimal Demo of knitr
get started with some boring random numbers:
Yihui Xie
<<boring-random,echo=TRUE,cache=TRUE>>=
set.seed(1121) February 26, 2012
(x=rnorm(20))
mean(x);var(x)
@ You can test if knitr works with this minimal demo. OK, let’s get started with s
numbers:
The first element of texttt{x} is Sexpr{x[1]}. Boring boxplots
and histograms recorded by the PDF device: set.seed(1121)
(x <- rnorm(20))
<<boring-plots,cache=TRUE,echo=TRUE'>>=
## [1] 0.14496 0.43832 0.15319 1.08494 1.99954 -0.81188 0.16027 0
## two plots side by side (option fig.show='hold')
## [10] -0.02531 0.15088 0.11008 1.35968 -0.32699 -0.71638 1.80977 0
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3,las=1)
## [19] 0.13272 -0.15594
boxplot(x)
hist(x,main='')
mean(x)
@
## [1] 0.3217
Do the above chunks work? You should be able to compile the TeX{}
document and get a PDF file like this one: url{https://github.com/downloads/
var(x)
20. knitr (sweave)Analyzing & Reporting in a single file.
### in R: A Minimal Demo of knitr
MyFile.Rnw library(knitr) Yihui Xie
documentclass{article}
February 26, 2012
usepackage[sc]{mathpazo}
usepackage[T1]{fontenc} knit(“MyFile.Rnw”)
You can test if knitr works with this minimal demo. OK, let’s get started with so
begin{document} # --> creates MyFile.tex
numbers:
<<setup, include=FALSE, cache=FALSE, echo=FALSE>>= set.seed(1121)
# this is equivalent to SweaveOpts{...} (x <- rnorm(20))
opts_chunk$set(fig.path='figure/minimal-', fig.align='center', fig.show='hold')
options(replace.assign=TRUE,width=90)
@
### in shell:
## [1] 0.14496 0.43832
## [10] -0.02531 0.15088
0.15319
0.11008
1.08494 1.99954 -0.81188
1.35968 -0.32699 -0.71638
0.16027
1.80977
0.
0.
pdflatex MyFile.tex
## [19] 0.13272 -0.15594
mean(x)
title{A Minimal Demo of knitr}
author{Yihui Xie}
# --> creates MyFile.pdf
## [1] 0.3217
var(x)
maketitle
You can test if textbf{knitr} works with this minimal demo. OK, let's ## [1] 0.5715
get started with some boring random numbers:
The first element of x is 0.145. Boring boxplots and histograms recorded by the PDF
<<boring-random,echo=TRUE,cache=TRUE>>=
## two plots side by side (option fig.show=’hold’)
set.seed(1121)
par(mar = c(4, 4, 0.1, 0.1), cex.lab = 0.95, cex.axis = 0.9,
(x=rnorm(20))
mgp = c(2, 0.7, 0), tcl = -0.3, las = 1)
mean(x);var(x)
boxplot(x)
@
hist(x, main = "")
The first element of texttt{x} is Sexpr{x[1]}. Boring boxplots 2.0 ● 8
and histograms recorded by the PDF device: ●
1.5
<<boring-plots,cache=TRUE,echo=TRUE'>>= 6
## two plots side by side (option fig.show='hold')
1.0
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3,las=1)
Frequency
boxplot(x) 4
0.5
hist(x,main='')
@
0.0
2
Do the above chunks work? You should be able to compile the TeX{}
−0.5
document and get a PDF file like this one: url{https://github.com/downloads/
37. • Once I wanted to set up a BLAST server.
Anurag Priyam, Mechanical
engineering student, Kharagpur
38. • Once I wanted to set up a BLAST server.
Anurag Priyam, Mechanical
engineering student, Kharagpur
Aim: An open source
idiot-proof web-interface
for custom BLAST
45. So what did we do this week?
CummeRbund? SOAP? WTF?
Aim: first stages of working with a non-model organism.
46. • Read quality: FastQC [required for all data!]
47. • Readquality: FastQC [required for all data!]
• Genome
• RNA
• SNPs & population stuff
48. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• RNA
• SNPs & population stuff
49. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• RNA
• SNPs & population stuff
50. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• RNA
• SNPs & population stuff
51. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• RNA
• de novo Assembly: Trinity
• SNPs & population stuff
52. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• Comparison with other data (assembled RNA)
• RNA
• de novo Assembly: Trinity
• SNPs & population stuff
53. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• Comparison with other data (assembled RNA)
• Gene identification
• RNA
• de novo Assembly: Trinity
• SNPs & population stuff
54. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• Comparison with other data (assembled RNA)
• Gene identification
• MAKER (automated uses many tools)
• RNA
• de novo Assembly: Trinity
• SNPs & population stuff
55. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• Comparison with other data (assembled RNA)
• Gene identification
• MAKER (automated uses many tools)
• Apollo (fixing MAKER’s gene models)
• RNA
• de novo Assembly: Trinity
• SNPs & population stuff
56. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• Comparison with other data (assembled RNA)
• Gene identification
• MAKER (automated uses many tools)
• Apollo (fixing MAKER’s gene models)
• RNA
• de novo Assembly: Trinity
• Gene expression comparison (Queen vs Worker vs Male)
• TopHat (mapping to genome)
• Cufflinks (de novo gene prediction & quantification)
• CummeRbund (easy visualization)
• SNPs & population stuff
57. • Read quality: FastQC [required for all data!]
• Genome
• Assembly: SOAPdenovo
• Assembly quality:
• Internal metrics (scaffold size, number).
• Comparison with other data (assembled RNA)
• Gene identification
• MAKER (automated uses many tools)
• Apollo (fixing MAKER’s gene models)
• RNA
• de novo Assembly: Trinity
• Gene expression comparison (Queen vs Worker vs Male)
• TopHat (mapping to genome)
• Cufflinks (de novo gene prediction & quantification)
• CummeRbund (easy visualization)
• SNPs & population stuff
• from mapping of pools of RNA
• from RAD (Stacks)
60. What is special about my genome?
• After assembly:
• Candidate genes?
61. What is special about my genome?
• After assembly:
• Candidate genes?
• Gene expression comparisons?
62. What is special about my genome?
• After assembly:
• Candidate genes?
• Gene expression comparisons?
• Genome-wide scans for enrichment (of protein domains; of
pathways....)
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
# This is my project intro\n\nYes oh yes ants are the best\n\n# Results\n\nLorem ipsum **dolor sit amet**, consectetur adipiscing elit. Morbi a quam et urna fringilla facilisis. Sed commodo, turpis et luctus pellentesque, nisl nunc luctus mauris, ut sollicitudin enim massa eu dolor. Phasellus interdum neque porta lorem vehicula auctor. Etiam justo magna, aliquam at tempus non, adipiscing vitae nibh. Integer pharetra laoreet eros, at ultrices leo gravida vel. Integer sollicitudin nibh eros, ut ullamcorper tellus. *Nulla ac tortor sed massa bibendum accumsan et fringilla ligula*. Etiam at metus lorem, vitae euismod metus. Maecenas sollicitudin elit eget nulla consequat fermentum tincidunt ipsum adipiscing. Donec ut fringilla turpis. Nunc augue purus, elementum id imperdiet et, volutpat vel magna. Donec euismod libero non augue varius sed venenatis magna tempor. Suspendisse rhoncus felis velit, et scelerisque risus.\n\n\n## They really are\n\nUh-huh\n\n\n## They really really are\n\nOk good job because: \n \n * bla \n * blabla\n * blablabla\n\n\n# Conclusion\n\nYou win: Ants are cool. I want to look at them and crush them and sequence them and genotype them. \n