SlideShare a Scribd company logo
1 of 8
Principles, Practices, and Habits Jeremy Leipzig December 18, 2010
Gearing up for a data deluge Technical Scientific Cultural Version control Documentation Testing Literate programming
Principles, Practices, and Habits
Results belong in reports, not emails Answer a question once Constant improvement Associate results with a set of stated parameters
Literate programming Dynamic reports Reproducible output Marry code to reports Marry data & configuration to reports Reinforced sanity
Sweave R + In R: Sweave(“myReport.Rnw”,output=”myReport.tex”) In shell: echo "Sweave(quot;myReport.Rnwquot;,output=quot;myReport.texquot;);" | R --no-save --quiet In shell: pdflatexmyReport.tex chromosomeBias.Rnw sample: svn co http://versioncontrol.chop.edu/svn/cbmi/chipSeq/trunk/chipSeqScripts echo "configFile<-quot;bias.config.Rquot;;Sweave(chromosomeBias.Rnwquot;,output=quot;chromosomeBias.texquot;);" | R --no-save --quiet
bias.config.R
Versioning Subversion keyword substitution svn add chromosomeBias.Rnw svnpropsetsvn:keywords 'Revision' chromosomeBias.Rnw svnci –m “added chromosomeBiassweave script” $Rev$ http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html

More Related Content

Similar to Principals, Practices, and Habits

Measuring Your Code 2.0
Measuring Your Code 2.0Measuring Your Code 2.0
Measuring Your Code 2.0Nate Abele
 
Static analysis saved my code tonight
Static analysis saved my code tonightStatic analysis saved my code tonight
Static analysis saved my code tonightDamien Seguy
 
course slides -- powerpoint
course slides -- powerpointcourse slides -- powerpoint
course slides -- powerpointwebhostingguy
 
Extracting data from text documents using the regex
Extracting data from text documents using the regexExtracting data from text documents using the regex
Extracting data from text documents using the regexSteve Mylroie
 
Defensive Programming 2013-03-18
Defensive Programming 2013-03-18Defensive Programming 2013-03-18
Defensive Programming 2013-03-18Laura A Schild
 
Building a reporting sytem with BREW
Building a reporting sytem with BREWBuilding a reporting sytem with BREW
Building a reporting sytem with BREWxavierguardiola
 
Language-agnostic data analysis workflows and reproducible research
Language-agnostic data analysis workflows and reproducible researchLanguage-agnostic data analysis workflows and reproducible research
Language-agnostic data analysis workflows and reproducible researchAndrew Lowe
 
B2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftB2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftSteve Feldman
 
Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009PHPBelgium
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopRevolution Analytics
 
Biomart Update
Biomart UpdateBiomart Update
Biomart Updatebosc
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalystdwm042
 
Compiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow AnalysisCompiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow AnalysisEelco Visser
 
R Programming - part 1.pdf
R Programming - part 1.pdfR Programming - part 1.pdf
R Programming - part 1.pdfRohanBorgalli
 
Programmability in spss statistics 17
Programmability in spss statistics 17Programmability in spss statistics 17
Programmability in spss statistics 17Armand Ruis
 
200612_BioPackathon_ss
200612_BioPackathon_ss200612_BioPackathon_ss
200612_BioPackathon_ssSatoshi Kume
 
FileMaker Developer Conference 2010: Small Things | Loosely Joined
FileMaker Developer Conference 2010: Small Things | Loosely JoinedFileMaker Developer Conference 2010: Small Things | Loosely Joined
FileMaker Developer Conference 2010: Small Things | Loosely JoinedDon Levan
 
Small Things | Loosely Joined
Small Things | Loosely JoinedSmall Things | Loosely Joined
Small Things | Loosely JoinedDon Levan
 
Survey of Program Transformation Technologies
Survey of Program Transformation TechnologiesSurvey of Program Transformation Technologies
Survey of Program Transformation TechnologiesChunhua Liao
 

Similar to Principals, Practices, and Habits (20)

Measuring Your Code 2.0
Measuring Your Code 2.0Measuring Your Code 2.0
Measuring Your Code 2.0
 
Static analysis saved my code tonight
Static analysis saved my code tonightStatic analysis saved my code tonight
Static analysis saved my code tonight
 
course slides -- powerpoint
course slides -- powerpointcourse slides -- powerpoint
course slides -- powerpoint
 
Extracting data from text documents using the regex
Extracting data from text documents using the regexExtracting data from text documents using the regex
Extracting data from text documents using the regex
 
Defensive Programming 2013-03-18
Defensive Programming 2013-03-18Defensive Programming 2013-03-18
Defensive Programming 2013-03-18
 
Building a reporting sytem with BREW
Building a reporting sytem with BREWBuilding a reporting sytem with BREW
Building a reporting sytem with BREW
 
Language-agnostic data analysis workflows and reproducible research
Language-agnostic data analysis workflows and reproducible researchLanguage-agnostic data analysis workflows and reproducible research
Language-agnostic data analysis workflows and reproducible research
 
B2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftB2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draft
 
Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
 
Biomart Update
Biomart UpdateBiomart Update
Biomart Update
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
 
Compiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow AnalysisCompiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow Analysis
 
R Programming - part 1.pdf
R Programming - part 1.pdfR Programming - part 1.pdf
R Programming - part 1.pdf
 
React performance
React performanceReact performance
React performance
 
Programmability in spss statistics 17
Programmability in spss statistics 17Programmability in spss statistics 17
Programmability in spss statistics 17
 
200612_BioPackathon_ss
200612_BioPackathon_ss200612_BioPackathon_ss
200612_BioPackathon_ss
 
FileMaker Developer Conference 2010: Small Things | Loosely Joined
FileMaker Developer Conference 2010: Small Things | Loosely JoinedFileMaker Developer Conference 2010: Small Things | Loosely Joined
FileMaker Developer Conference 2010: Small Things | Loosely Joined
 
Small Things | Loosely Joined
Small Things | Loosely JoinedSmall Things | Loosely Joined
Small Things | Loosely Joined
 
Survey of Program Transformation Technologies
Survey of Program Transformation TechnologiesSurvey of Program Transformation Technologies
Survey of Program Transformation Technologies
 

Principals, Practices, and Habits

  • 1. Principles, Practices, and Habits Jeremy Leipzig December 18, 2010
  • 2. Gearing up for a data deluge Technical Scientific Cultural Version control Documentation Testing Literate programming
  • 4. Results belong in reports, not emails Answer a question once Constant improvement Associate results with a set of stated parameters
  • 5. Literate programming Dynamic reports Reproducible output Marry code to reports Marry data & configuration to reports Reinforced sanity
  • 6. Sweave R + In R: Sweave(“myReport.Rnw”,output=”myReport.tex”) In shell: echo "Sweave(quot;myReport.Rnwquot;,output=quot;myReport.texquot;);" | R --no-save --quiet In shell: pdflatexmyReport.tex chromosomeBias.Rnw sample: svn co http://versioncontrol.chop.edu/svn/cbmi/chipSeq/trunk/chipSeqScripts echo "configFile<-quot;bias.config.Rquot;;Sweave(chromosomeBias.Rnwquot;,output=quot;chromosomeBias.texquot;);" | R --no-save --quiet
  • 8. Versioning Subversion keyword substitution svn add chromosomeBias.Rnw svnpropsetsvn:keywords 'Revision' chromosomeBias.Rnw svnci –m “added chromosomeBiassweave script” $Rev$ http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html

Editor's Notes

  1. Parameterize90% time futzing with figure graphics, legendsCloud computing design architectures