Easybuild Documentation Release 20210907.0

Total Page:16

File Type:pdf, Size:1020Kb

Easybuild Documentation Release 20210907.0 EasyBuild Documentation Release 20210907.0 Ghent University Tue, 07 Sep 2021 08:55:41 Contents 1 What is EasyBuild? 3 2 Concepts and terminology 5 2.1 EasyBuild framework..........................................5 2.2 Easyblocks................................................6 2.3 Toolchains................................................7 2.3.1 system toolchain.......................................7 2.3.2 dummy toolchain (DEPRECATED) ..............................7 2.3.3 Common toolchains.......................................7 2.4 Easyconfig files..............................................7 2.5 Extensions................................................8 3 Typical workflow example: building and installing WRF9 3.1 Searching for available easyconfigs files.................................9 3.2 Getting an overview of planned installations.............................. 10 3.3 Installing a software stack........................................ 11 4 Getting started 13 4.1 Installing EasyBuild........................................... 13 4.1.1 Requirements.......................................... 14 4.1.2 Using pip to Install EasyBuild................................. 14 4.1.3 Installing EasyBuild with EasyBuild.............................. 17 4.1.4 Dependencies.......................................... 19 4.1.5 Sources............................................. 21 4.1.6 In case of installation issues. .................................. 22 4.2 Configuring EasyBuild.......................................... 22 4.2.1 Supported configuration types................................. 22 4.2.2 Overview of current configuration (--show-config, --show-full-config).... 27 4.2.3 Available configuration settings................................ 27 4.3 Common toolchains........................................... 34 4.3.1 Definition and motivation.................................... 34 4.3.2 Versioning scheme for common toolchains........................... 35 4.3.3 Update cycle for common toolchains.............................. 36 4.3.4 Overview of common toolchains................................ 36 4.3.5 Customizing common toolchains................................ 37 4.3.6 More information about toolchains............................... 37 i 5 Basic usage topics 39 5.1 Using the EasyBuild command line................................... 39 5.1.1 Specifying builds........................................ 39 5.1.2 Commonly used command line options............................ 42 5.2 Writing easyconfig files: the basics................................... 51 5.2.1 What is an easyconfig (file)?.................................. 52 5.2.2 Available easyconfig parameters................................ 53 5.2.3 Mandatory easyconfig parameters............................... 53 5.2.4 Common easyconfig parameters................................ 53 5.2.5 Tweaking existing easyconfig files............................... 65 5.2.6 Dynamic values for easyconfig parameters........................... 65 5.2.7 Version-specific documentation relevant to easyconfigs.................... 65 5.2.8 Contributing easyconfigs.................................... 66 5.3 Understanding EasyBuild logs...................................... 66 5.3.1 Basic information........................................ 66 5.3.2 Navigating log files....................................... 67 6 Advanced usage topics 69 6.1 Archived easyconfigs........................................... 69 6.1.1 Toolchain deprecation...................................... 69 6.1.2 Using --consider-archived-easyconfigs ..................... 70 6.2 Backing up of existing modules (--backup-modules)....................... 70 6.2.1 Disabling automatic backup of modules............................ 71 6.2.2 Example............................................. 71 6.3 Generating container recipes & images................................. 72 6.3.1 Requirements.......................................... 73 6.3.2 Usage.............................................. 73 6.3.3 Configuration.......................................... 81 6.3.4 ‘Stacking’ container images.................................. 83 6.3.5 Seeding in source files for container build process....................... 84 6.4 Contributing............................................... 84 6.4.1 How to contribute........................................ 85 6.4.2 Pull requests........................................... 87 6.4.3 Review process for contributions................................ 92 6.5 Controlling compiler optimization flags................................. 95 6.5.1 Controlling target architecture specific optimizations via --optarch ............ 96 6.6 EasyBuild on Cray............................................ 98 6.6.1 Test systems........................................... 98 6.6.2 EasyBuild toolchains...................................... 98 6.6.3 What works already?...................................... 99 6.6.4 Required EasyBuild configuration............................... 99 6.6.5 Major supported/tested applications.............................. 100 6.7 Detection of loaded modules....................................... 101 6.7.1 Motivation............................................ 101 6.7.2 Detection mechanism...................................... 102 6.7.3 Action to take if loaded modules are detected......................... 102 6.7.4 Allowing particular loaded modules.............................. 104 6.7.5 Checking of $EBROOT* environment variables........................ 104 6.8 Local variables in easyconfig files.................................... 106 6.8.1 Motivation & context...................................... 106 6.8.2 Changes in EasyBuild v4.0 w.r.t. local variables in easyconfig files.............. 107 6.8.3 Recommended naming scheme for local variables in easyconfig files............. 107 6.8.4 Warning for local variables that do not follow the recommended naming scheme....... 107 ii 6.8.5 Specifying what should be done when non-confirming local variables are found via --local-var-naming-check .............................. 108 6.8.6 Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs ........................... 108 6.9 Using an index to speed up searching for easyconfigs.......................... 109 6.9.1 Creating an index (--create-index)........................... 110 6.9.2 Updating an existing index (--create-index --force)................ 110 6.9.3 Using index files........................................ 111 6.9.4 Ignoring indices (--ignore-index)............................ 111 6.9.5 Controlling how long the index is valid (--index-max-age)............... 111 6.9.6 Index included with EasyBuild releases............................ 111 6.9.7 Should I create an index?.................................... 112 6.10 Easystack files.............................................. 112 6.10.1 The basics............................................ 112 6.10.2 Usage.............................................. 112 6.10.3 Structure of an easystack file.................................. 113 6.10.4 To be developed......................................... 114 6.11 Experimental features.......................................... 114 6.12 Extended dry run............................................. 114 6.12.1 Important notes......................................... 115 6.12.2 Overview of dry run mechanism................................ 116 6.12.3 Guidelines for easyblocks.................................... 123 6.12.4 Example output......................................... 127 6.13 Hooks................................................... 127 6.13.1 What are hooks?........................................ 127 6.13.2 Configuring EasyBuild to use your hook implementations................... 128 6.13.3 Available hooks......................................... 128 6.13.4 Implementing hooks...................................... 129 6.13.5 Caveats............................................. 130 6.13.6 Examples of hook implementations.............................. 131 6.14 Implementing easyblocks........................................ 132 6.14.1 The basics............................................ 133 6.14.2 Easyblocks vs easyconfigs................................... 134 6.14.3 Naming scheme for easyblocks................................. 134 6.14.4 Structure of an easyblock.................................... 136 6.14.5 Deriving from existing (generic) easyblocks.......................... 136 6.14.6 Specific aspects of easyblocks................................. 136 6.14.7 Using new/custom easyblocks................................. 140 6.14.8 Testing easyblocks....................................... 141 6.14.9 Use case: an easyblock for Tensorflow............................. 141 6.15 Including additional Python modules (--include-*)........................ 141 6.15.1 General aspects of --include-* options.......................... 141 6.15.2 Including additional easyblocks (--include-easyblocks)............... 142 6.15.3 Including additional module naming schemes (--include-module-naming-schemes) 143 6.15.4 Including additional toolchains (--include-toolchains)................ 143 6.16 Integration with GitHub......................................... 144 6.16.1 Requirements.......................................... 145 6.16.2 Configuration.......................................... 145 6.16.3 Checking status of GitHub integration (--check-github)................. 147 6.16.4 Using easyconfigs from pull requests (--from-pr)....................
Recommended publications
  • Open Source Used in Influx1.8 Influx 1.9
    Open Source Used In Influx1.8 Influx 1.9 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-1178791953 Open Source Used In Influx1.8 Influx 1.9 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-1178791953 Contents 1.1 golang-protobuf-extensions v1.0.1 1.1.1 Available under license 1.2 prometheus-client v0.2.0 1.2.1 Available under license 1.3 gopkg.in-asn1-ber v1.0.0-20170511165959-379148ca0225 1.3.1 Available under license 1.4 influxdata-raft-boltdb v0.0.0-20210323121340-465fcd3eb4d8 1.4.1 Available under license 1.5 fwd v1.1.1 1.5.1 Available under license 1.6 jaeger-client-go v2.23.0+incompatible 1.6.1 Available under license 1.7 golang-genproto v0.0.0-20210122163508-8081c04a3579 1.7.1 Available under license 1.8 influxdata-roaring v0.4.13-0.20180809181101-fc520f41fab6 1.8.1 Available under license 1.9 influxdata-flux v0.113.0 1.9.1 Available under license 1.10 apache-arrow-go-arrow v0.0.0-20200923215132-ac86123a3f01 1.10.1 Available under
    [Show full text]
  • Cellular Sheaf Cohomology in Polymake Arxiv:1612.09526V1
    Cellular sheaf cohomology in Polymake Lars Kastner, Kristin Shaw, Anna-Lena Winz July 9, 2018 Abstract This chapter provides a guide to our polymake extension cellularSheaves. We first define cellular sheaves on polyhedral complexes in Euclidean space, as well as cosheaves, and their (co)homologies. As motivation, we summarise some results from toric and tropical geometry linking cellular sheaf cohomologies to cohomologies of algebraic varieties. We then give an overview of the structure of the extension cellularSheaves for polymake. Finally, we illustrate the usage of the extension with examples from toric and tropical geometry. 1 Introduction n Given a polyhedral complex Π in R , a cellular sheaf (of vector spaces) on Π associates to every face of Π a vector space and to every face relation a map of the associated vector spaces (see Definition 2). Just as with usual sheaves, we can compute the cohomology of cellular sheaves (see Definition 5). The advantage is that cellular sheaf cohomology is the cohomology of a chain complex consisting of finite dimensional vector spaces (see Definition 3). Polyhedral complexes often arise in algebraic geometry. Moreover, in some cases, invariants of algebraic varieties can be recovered as cohomology of certain cellular sheaves on polyhedral complexes. Our two major classes of examples come from toric and tropical geometry and are presented in Section 2.2. We refer the reader to [9] for a guide to toric geometry and polytopes. For an introduction to tropical geometry see [4], [20]. The main motivation for this polymake extension was to implement tropical homology, as introduced by Itenberg, Katzarkov, Mikhalkin, and Zharkov in [15].
    [Show full text]
  • Alternatives to Python: Julia
    Crossing Language Barriers with , SciPy, and thon Steven G. Johnson MIT Applied Mathemacs Where I’m coming from… [ google “Steven Johnson MIT” ] Computaonal soPware you may know… … mainly C/C++ libraries & soPware … Nanophotonics … oPen with Python interfaces … (& Matlab & Scheme & …) jdj.mit.edu/nlopt www.w.org jdj.mit.edu/meep erf(z) (and erfc, erfi, …) in SciPy 0.12+ & other EM simulators… jdj.mit.edu/book Confession: I’ve used Python’s internal C API more than I’ve coded in Python… A new programming language? Viral Shah Jeff Bezanson Alan Edelman julialang.org Stefan Karpinski [begun 2009, “0.1” in 2013, ~20k commits] [ 17+ developers with 100+ commits ] [ usual fate of all First reacBon: You’re doomed. new languages ] … subsequently: … probably doomed … sll might be doomed but, in the meanBme, I’m having fun with it… … and it solves a real problem with technical compuBng in high-level languages. The “Two-Language” Problem Want a high-level language that you can work with interacBvely = easy development, prototyping, exploraon ⇒ dynamically typed language Plenty to choose from: Python, Matlab / Octave, R, Scilab, … (& some of us even like Scheme / Guile) Historically, can’t write performance-criBcal code (“inner loops”) in these languages… have to switch to C/Fortran/… (stac). [ e.g. SciPy git master is ~70% C/C++/Fortran] Workable, but Python → Python+C = a huge jump in complexity. Just vectorize your code? = rely on mature external libraries, operang on large blocks of data, for performance-criBcal code Good advice! But… • Someone has to write those libraries. • Eventually that person may be you.
    [Show full text]
  • Data Visualization in Python
    Data visualization in python Day 2 A variety of packages and philosophies • (today) matplotlib: http://matplotlib.org/ – Gallery: http://matplotlib.org/gallery.html – Frequently used commands: http://matplotlib.org/api/pyplot_summary.html • Seaborn: http://stanford.edu/~mwaskom/software/seaborn/ • ggplot: – R version: http://docs.ggplot2.org/current/ – Python port: http://ggplot.yhathq.com/ • Bokeh (live plots in your browser) – http://bokeh.pydata.org/en/latest/ Biocomputing Bootcamp 2017 Matplotlib • Gallery: http://matplotlib.org/gallery.html • Top commands: http://matplotlib.org/api/pyplot_summary.html • Provides "pylab" API, a mimic of matlab • Many different graph types and options, some obscure Biocomputing Bootcamp 2017 Matplotlib • Resulting plots represented by python objects, from entire figure down to individual points/lines. • Large API allows any aspect to be tweaked • Lengthy coding sometimes required to make a plot "just so" Biocomputing Bootcamp 2017 Seaborn • https://stanford.edu/~mwaskom/software/seaborn/ • Implements more complex plot types – Joint points, clustergrams, fitted linear models • Uses matplotlib "under the hood" Biocomputing Bootcamp 2017 Others • ggplot: – (Original) R version: http://docs.ggplot2.org/current/ – A recent python port: http://ggplot.yhathq.com/ – Elegant syntax for compactly specifying plots – but, they can be hard to tweak – We'll discuss this on the R side tomorrow, both the basics of both work similarly. • Bokeh – Live, clickable plots in your browser! – http://bokeh.pydata.org/en/latest/
    [Show full text]
  • University of North Carolina at Charlotte Belk College of Business
    University of North Carolina at Charlotte Belk College of Business BPHD 8220 Financial Bayesian Analysis Fall 2019 Course Time: Tuesday 12:20 - 3:05 pm Location: Friday Building 207 Professor: Dr. Yufeng Han Office Location: Friday Building 340A Telephone: (704) 687-8773 E-mail: [email protected] Office Hours: by appointment Textbook: Introduction to Bayesian Econometrics, 2nd Edition, by Edward Greenberg (required) An Introduction to Bayesian Inference in Econometrics, 1st Edition, by Arnold Zellner Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan, 2nd Edition, by Joseph M. Hilbe, de Souza, Rafael S., Emille E. O. Ishida Bayesian Analysis with Python: Introduction to statistical modeling and probabilistic programming using PyMC3 and ArviZ, 2nd Edition, by Osvaldo Martin The Oxford Handbook of Bayesian Econometrics, 1st Edition, by John Geweke Topics: 1. Principles of Bayesian Analysis 2. Simulation 3. Linear Regression Models 4. Multivariate Regression Models 5. Time-Series Models 6. State-Space Models 7. Volatility Models Page | 1 8. Endogeneity Models Software: 1. Stan 2. Edward 3. JAGS 4. BUGS & MultiBUGS 5. Python Modules: PyMC & ArviZ 6. R, STATA, SAS, Matlab, etc. Course Assessment: Homework assignments, paper presentation, and replication (or project). Grading: Homework: 30% Paper presentation: 40% Replication (project): 30% Selected Papers: Vasicek, O. A. (1973), A Note on Using Cross-Sectional Information in Bayesian Estimation of Security Betas. Journal of Finance, 28: 1233-1239. doi:10.1111/j.1540- 6261.1973.tb01452.x Shanken, J. (1987). A Bayesian approach to testing portfolio efficiency. Journal of Financial Economics, 19(2), 195–215. https://doi.org/10.1016/0304-405X(87)90002-X Guofu, C., & Harvey, R.
    [Show full text]
  • Ipython: a System for Interactive Scientific
    P YTHON: B ATTERIES I NCLUDED IPython: A System for Interactive Scientific Computing Python offers basic facilities for interactive work and a comprehensive library on top of which more sophisticated systems can be built. The IPython project provides an enhanced interactive environment that includes, among other features, support for data visualization and facilities for distributed and parallel computation. he backbone of scientific computing is All these systems offer an interactive command mostly a collection of high-perfor- line in which code can be run immediately, without mance code written in Fortran, C, and having to go through the traditional edit/com- C++ that typically runs in batch mode pile/execute cycle. This flexible style matches well onT large systems, clusters, and supercomputers. the spirit of computing in a scientific context, in However, over the past decade, high-level environ- which determining what computations must be ments that integrate easy-to-use interpreted lan- performed next often requires significant work. An guages, comprehensive numerical libraries, and interactive environment lets scientists look at data, visualization facilities have become extremely popu- test new ideas, combine algorithmic approaches, lar in this field. As hardware becomes faster, the crit- and evaluate their outcome directly. This process ical bottleneck in scientific computing isn’t always the might lead to a final result, or it might clarify how computer’s processing time; the scientist’s time is also they need to build a more static, large-scale pro- a consideration. For this reason, systems that allow duction code. rapid algorithmic exploration, data analysis, and vi- As this article shows, Python (www.python.org) sualization have become a staple of daily scientific is an excellent tool for such a workflow.1 The work.
    [Show full text]
  • Open Source Copyrights
    Kuri App - Open Source Copyrights: 001_talker_listener-master_2015-03-02 ===================================== Source Code can be found at: https://github.com/awesomebytes/python_profiling_tutorial_with_ros 001_talker_listener-master_2016-03-22 ===================================== Source Code can be found at: https://github.com/ashfaqfarooqui/ROSTutorials acl_2.2.52-1_amd64.deb ====================== Licensed under GPL 2.0 License terms can be found at: http://savannah.nongnu.org/projects/acl/ acl_2.2.52-1_i386.deb ===================== Licensed under LGPL 2.1 License terms can be found at: http://metadata.ftp- master.debian.org/changelogs/main/a/acl/acl_2.2.51-8_copyright actionlib-1.11.2 ================ Licensed under BSD Source Code can be found at: https://github.com/ros/actionlib License terms can be found at: http://wiki.ros.org/actionlib actionlib-common-1.5.4 ====================== Licensed under BSD Source Code can be found at: https://github.com/ros-windows/actionlib License terms can be found at: http://wiki.ros.org/actionlib adduser_3.113+nmu3ubuntu3_all.deb ================================= Licensed under GPL 2.0 License terms can be found at: http://mirrors.kernel.org/ubuntu/pool/main/a/adduser/adduser_3.113+nmu3ubuntu3_all. deb alsa-base_1.0.25+dfsg-0ubuntu4_all.deb ====================================== Licensed under GPL 2.0 License terms can be found at: http://mirrors.kernel.org/ubuntu/pool/main/a/alsa- driver/alsa-base_1.0.25+dfsg-0ubuntu4_all.deb alsa-utils_1.0.27.2-1ubuntu2_amd64.deb ======================================
    [Show full text]
  • Nosql Databases
    Query & Exploration SQL, Search, Cypher, … Stream Processing Platforms Data Storm, Spark, .. Data Ingestion Serving ETL, Distcp, Batch Processing Platforms BI, Cubes, Kafka, MapReduce, SparkSQL, BigQuery, Hive, Cypher, ... RDBMS, Key- OpenRefine, value Stores, … Data Definition Tableau, … SQL DDL, Avro, Protobuf, CSV Storage Systems HDFS, RDBMS, Column Stores, Graph Databases Computing Platforms Distributed Commodity, Clustered High-Performance, Single Node Query & Exploration SQL, Search, Cypher, … Stream Processing Platforms Data Storm, Spark, .. Data Ingestion Serving ETL, Distcp, Batch Processing Platforms BI, Cubes, Kafka, MapReduce, SparkSQL, BigQuery, Hive, Cypher, ... RDBMS, Key- OpenRefine, value Stores, … Data Definition Tableau, … SQL DDL, Avro, Protobuf, CSV Storage Systems HDFS, RDBMS, Column Stores, Graph Databases Computing Platforms Distributed Commodity, Clustered High-Performance, Single Node Computing Single Node Parallel Distributed Computing Computing Computing CPU GPU Grid Cluster Computing Computing A single node (usually multiple cores) Attached to a data store (Disc, SSD, …) One process with potentially multiple threads R: All processing is done on one computer BidMat: All processing is done on one computer with specialized HW Single Node In memory Retrieve/Stores from Disc Pros Simple to program and debug Cons Can only scale-up Does not deal with large data sets Single Node solution for large scale exploratory analysis Specialized HW and SW for efficient Matrix operations Elements: Data engine software for
    [Show full text]
  • Bringing Probabilistic Programming to Scientific Simulators at Scale
    Etalumis: Bringing Probabilistic Programming to Scientific Simulators at Scale Atılım Güneş Baydin, Lei Shao, Wahid Bhimji, Lukas Heinrich, Lawrence Meadows, Jialin Liu, Andreas Munk, Saeid Naderiparizi, Bradley Gram-Hansen, Gilles Louppe, Mingfei Ma, Xiaohui Zhao, Philip Torr, Victor Lee, Kyle Cranmer, Prabhat, and Frank Wood SC19, Denver, CO, United States 19 November 2019 Simulation and HPC Computational models and simulation are key to scientific advance at all scales Particle physics Nuclear physics Material design Drug discovery Weather Climate science Cosmology 2 Introducing a new way to use existing simulators Probabilistic programming Simulation Supercomputing (machine learning) 3 Simulators Parameters Outputs (data) Simulator 4 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output 5 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output 6 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output WE NEED THE INVERSE! 7 Simulators Parameters Outputs (data) Simulator Prediction: ● Simulate forward evolution of the system ● Generate samples of output Inference: ● Find parameters that can produce (explain) observed data ● Inverse problem ● Often a manual process 8 Simulators Parameters Outputs (data) Inferred Simulator Observed data parameters Gene network Gene expression 9 Simulators Parameters Outputs (data)
    [Show full text]
  • Bioperl What’S Bioperl?
    Bioperl What’s Bioperl? Bioperl is not a new language It is a collection of Perl modules that facilitate the development of Perl scripts for bioinformatics applications. Bioperl and perl Bioperl Modules Perl Modules Perls script input Perl Interpreter output Bioperl and Perl Why bioperl for bioinformatics? Perl is good at file manipulation and text processing, which make up a large part of the routine tasks in bioinformatics. Perl language, documentation and many Perl packages are freely available. Perl is easy to get started in, to write small and medium-sized programs. Where to get help Type perldoc <modulename> in terminal Search for particular module in https://metacpan.org Bioperl Document Object-oriented and Process-oriented programming Process-oriented: Yuan Hao eats chicken Name object: $name Action method: eat Food object: $food Object-oriented: $name->eat($food) Modularize the program Platform and Related Software Required Perl 5.6.1 or higher Version 5.8 or higher is highly recommended make for Mac OS X, this requires installing the Xcode Developer Tools Installation On Linux or Max OS X Install from cpanminus: perlbrew install-cpanm cpanm Bio::Perl Install from source code: git clone https://github.com/bioperl/bioperl-live.git cd bioperl-live perl Build.PL ./Build test (optional) ./Build install Installation On Windows Install MinGW (MinGW is incorporated in Strawberry Perl, but must it be installed through PPM for ActivePerl) : ppm install MinGW Install Module::Build, Test::Harness and Test::Most through CPAN: Type cpan to enter the CPAN shell. At the cpan> prompt, type install CPAN Quit (by typing ‘q’) and reload CPAN.
    [Show full text]
  • End-User Probabilistic Programming
    End-User Probabilistic Programming Judith Borghouts, Andrew D. Gordon, Advait Sarkar, and Neil Toronto Microsoft Research Abstract. Probabilistic programming aims to help users make deci- sions under uncertainty. The user writes code representing a probabilistic model, and receives outcomes as distributions or summary statistics. We consider probabilistic programming for end-users, in particular spread- sheet users, estimated to number in tens to hundreds of millions. We examine the sources of uncertainty actually encountered by spreadsheet users, and their coping mechanisms, via an interview study. We examine spreadsheet-based interfaces and technology to help reason under uncer- tainty, via probabilistic and other means. We show how uncertain values can propagate uncertainty through spreadsheets, and how sheet-defined functions can be applied to handle uncertainty. Hence, we draw conclu- sions about the promise and limitations of probabilistic programming for end-users. 1 Introduction In this paper, we discuss the potential of bringing together two rather distinct approaches to decision making under uncertainty: spreadsheets and probabilistic programming. We start by introducing these two approaches. 1.1 Background: Spreadsheets and End-User Programming The spreadsheet is the first \killer app" of the personal computer era, starting in 1979 with Dan Bricklin and Bob Frankston's VisiCalc for the Apple II [15]. The primary interface of a spreadsheet|then and now, four decades later|is the grid, a two-dimensional array of cells. Each cell may hold a literal data value, or a formula that computes a data value (and may depend on the data in other cells, which may themselves be computed by formulas).
    [Show full text]
  • The Bioperl Toolkit: Perl Modules for the Life Sciences
    Downloaded from genome.cshlp.org on January 25, 2012 - Published by Cold Spring Harbor Laboratory Press The Bioperl Toolkit: Perl Modules for the Life Sciences Jason E. Stajich, David Block, Kris Boulez, et al. Genome Res. 2002 12: 1611-1618 Access the most recent version at doi:10.1101/gr.361602 Supplemental http://genome.cshlp.org/content/suppl/2002/10/20/12.10.1611.DC1.html Material References This article cites 14 articles, 9 of which can be accessed free at: http://genome.cshlp.org/content/12/10/1611.full.html#ref-list-1 Article cited in: http://genome.cshlp.org/content/12/10/1611.full.html#related-urls Email alerting Receive free email alerts when new articles cite this article - sign up in the box at the service top right corner of the article or click here To subscribe to Genome Research go to: http://genome.cshlp.org/subscriptions Cold Spring Harbor Laboratory Press Downloaded from genome.cshlp.org on January 25, 2012 - Published by Cold Spring Harbor Laboratory Press Resource The Bioperl Toolkit: Perl Modules for the Life Sciences Jason E. Stajich,1,18,19 David Block,2,18 Kris Boulez,3 Steven E. Brenner,4 Stephen A. Chervitz,5 Chris Dagdigian,6 Georg Fuellen,7 James G.R. Gilbert,8 Ian Korf,9 Hilmar Lapp,10 Heikki Lehva¨slaiho,11 Chad Matsalla,12 Chris J. Mungall,13 Brian I. Osborne,14 Matthew R. Pocock,8 Peter Schattner,15 Martin Senger,11 Lincoln D. Stein,16 Elia Stupka,17 Mark D. Wilkinson,2 and Ewan Birney11 1University Program in Genetics, Duke University, Durham, North Carolina 27710, USA; 2National Research Council of
    [Show full text]