X-Git-Url: https://git.donarmstrong.com/?p=using_make_for_science.git;a=blobdiff_plain;f=using_make_for_science.Rnw;h=2fee8e94ee34bcf3f56847ca8f9112ef4054a53d;hp=9fd424a3eb6ce1d2514644c519653b8815cfd3fa;hb=HEAD;hpb=2b141c12e69485e71e36649c8128a28deddcf373 diff --git a/using_make_for_science.Rnw b/using_make_for_science.Rnw index 9fd424a..2fee8e9 100644 --- a/using_make_for_science.Rnw +++ b/using_make_for_science.Rnw @@ -77,7 +77,7 @@ \setbeamercolor*{fine separation line}{} \setbeamercovered{transparent} \logo{\begin{tikzpicture}% Pale figure - {\node[opacity=0.7]{\IfFileExists{./logo.pdf}{\includegraphics[height=1.5cm]{logo.pdf}}{}% + {\node[opacity=0.7]{\IfFileExists{./logo.pdf}{\includegraphics[height=1cm,width=1cm,keepaspectratio]{logo.pdf}}{}% };}% \end{tikzpicture}} } @@ -147,8 +147,8 @@ \begin{itemize} \item Ubiquitous -- any machine which you can run command line tools on has GNU make available. - \item Large community -- lots of people use GNU make. It's well - understood and you can get questions answered + \item Large community -- lots of people use GNU make. It's not going + to go away tomorrow. \item Simple rules -- all of the rules are in a simple text file which is easily edited and version controlled \item Reasonable debugging -- you can see the commands that make is @@ -200,8 +200,8 @@ TARGETS: PREREQUISITES value is assigned at the moment the variable is created \end{itemize} \item Variables can come from the environment and can be overridden on - the command line: \mintinline{shell}{make FOO=bleargh} or - \mintinline{shell}{FOO=blah make}. + the command line: \mintinline{shell}{FOO=blah make} or + \mintinline{shell}{make FOO=bleargh}. \item \mintinline{make}{$@} -- target name %$ \item \mintinline{make}{$*} -- current stem %$ \item \mintinline{make}{$^} -- all prerequisites %$ @@ -214,7 +214,7 @@ TARGETS: PREREQUISITES \begin{frame}[fragile]{Some Functions} \begin{itemize} - \item \mintinline{make}{$(patsubst %.bam,%.sam,foo.sam bar.sam)} %$ + \item \mintinline{make}{$(patsubst %.sam,%.bam,foo.sam bar.sam)} %$ -- returns foo.bam bar.bam. \item \mintinline{make}{$(filter-out %.bam,foo.sam bar.bam)} %$ -- returns foo.sam @@ -271,7 +271,7 @@ clean: \begin{frame}[fragile]{Special Targets} \begin{minted}[showtabs]{make} -%.fasta.gz: %.fasta +%.fasta: %.fasta.gz gzip -dc $< > $@ %.bam: %.sam @@ -421,6 +421,8 @@ $(SRX)_genes.fpkm_tracking: $(SRX)_star.bam $(BOWTIE_INDEX_DIR)$(GTF) \begin{itemize} \item Timestamps, not MD5sums \item Complicated workflows + \item Interaction of rules can be complicated to understand + \item Yet Another Language \end{itemize} \end{frame}