Computational Environment Management

Slides:



Advertisements
Similar presentations
05/11/2001 CPT week Natalia Ratnikova, FNAL 1 Software Distribution in CMS Distribution unitFormContent Version of SCRAM managed project.
Advertisements

Git/Unix Lab March Version Control ●Keep track of changes to a project ●Serves as a backup ●Revert to previous version ●Work on the same files concurrently.
Hosted Git github. From an alumni (2010)  You know, the more time I spent in industry the better I've understood what a strong advocate you are for the.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Introduction to Git and Github Joshua imtraum.com.
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
Why you should be using Version Control. Matt Krass Electrical/Software Engineer November 22, 2014.
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Version Control. How do you share code? Discussion.
…using Git/Tortoise Git
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Michael Still Google Inc. October, Managing Unix servers the slack way Tools and techniques for managing large numbers of Unix machines Michael.
Git Fundamentals Rochelle Terman 13 January 2014.
1 Applied CyberInfrastructure Concepts ISTA 420/520 Fall
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
G.Corti, P.Robbe LHCb Software Week - 19 June 2009 FSR in Gauss: Generator’s statistics - What type of object is going in the FSR ? - How are the objects.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
BODY From Source Code Management to Daily Build Soren Klemmensen, Kamil Sacek & Luc van Vugt
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
CS 160 and CMPE/SE 131 Software Engineering February 16 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
CS102 Basic Computer Science and Programming Assoc. Prof. Jens Allmer Teaching Assistants: Canan Has, Caner Bağcı.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
CSCI 3100 Tutorial 5 Bootstrap & Git ZENG, Jichuan Department of Computer Science and Engineering The Chinese University of Hong.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Version Control Systems
CS5220 Advanced Topics in Web Programming Version Control with Git
Information Systems and Network Engineering Laboratory II
L – Modeling and Simulating Social Systems with MATLAB
Discussion #11 11/21/16.
Git & Github Timothy McRoy.
11 Version control (part 2)
Code Management With Github & Straw Resistance Measurements
GIT AND GITHUB WORKSHOP
CS4961 Software Design Laboratory I Collaboration using Git and GitHub
IST256 : Applications Programming for Information Systems
Version Control overview
CSE 303 Concepts and Tools for Software Development
Perspectives on the intersection between computer science and psychology Developing reproducible – and reusable – methods through research software engineering.
A video coding and data visualization tool
Software Engineering for Data Scientists
Macaualy2 Workshop Berkeley 2017
Version Control Systems
Storing, Sending, and Tracking Files Recitation 2
An introduction to version control systems with Git
Version Control with Git accelerated tutorial for busy academics
An introduction to version control systems with Git
The Big Picture
An introduction to version control systems with Git
Git & Github Timothy McRoy.
Part 1: Editing and Publishing Files
Reproducible Bioinformatics Research
Advantages Project Career Divide & Conquer Collaboration
GitHub A Tool for software collaboration James Skon
Software Development - Version Control
Option One Install Python via installing Anaconda:
Introduction to Git and GitHub
Git started with git: 2018 edition
CMPE/SE 131 Software Engineering February 14 Class Meeting
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Version Control with Git and GitHub
GitHub 101 Using Github and Git for Source Control
Node.js Test Automation using Oracle Developer Cloud- Simplified
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
Introduction to The Git Version Control System
Presentation transcript:

Computational Environment Management Lecture 16

Recording Your Software Environment Software packages have dependencies Software packages have versions Need to: Make software runnable (i.e. install it) Describe software that is installed Ideally, do these things in a way that others can execute to replicate

Suggested Tools miniconda - install non-python packages pip - install python packages R package install script bash scripts - specify and record packages git - track scripts and files github/bitbucket - make git repo public

Master install script E.g. install_packages.sh bash script that contains software install command(s): conda install commands pip requirements.txt file R script containing package install conda list output to file

miniconda https://conda.io/miniconda.html Install miniconda3 (python 3.6) conda create -n name_of_env source activate name_of_env conda install -c <channel> <pkg> e.g. conda install -c bioconda star conda list --export > conda_packages.txt

conda demonstration

pip Command to install python packages Packages listed on pypi.python.org More reliable than installing through conda pip install <package> e.g. pip install pandas Put packages in requirements.txt

pip demonstration

R package install Optional: Install R from conda channel -c r Write an R script that contains install calls install.package() calls Bioconductor packages, e.g. source(“http://bioconductor.org/biocLite.R”) biocLite(“DESeq2”) E.g. install_r_packages.R

R install script demonstration

Record your work with git git tracks changes to files repositories We have been recording software environment in files! Repos can be cloned - every clone has the complete change history Every change to a file is reversible Very few commands to learn, huge benefits!

git demonstration

github / bitbucket Public web platforms for sharing code Can be made private Easy to share and collaborate Code backup mechanism git isn’t efficient at storing big (binary) files Only code! Not for data!

bitbucket demonstration

Summary Use: conda install for non-python packages pip for python packages with requirements.txt R script for R packages conda list --export to record pkgs to conda_packages.txt Create bash script that calls all of these at once, e.g. install_packages.sh Check them all into a git repo Push to github/bitbucket Profit