Introduction To. Barry Grant

Similar documents
Recap From Last Time: Setup Checklist BGGN 213. Todays Menu. Introduction to UNIX.

Introduction To. Barry Grant

BGGN 213 Working with UNIX Barry Grant

Recap From Last Time:

The Unix Shell. Pipes and Filters

Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p.

Introduction To Linux. Rob Thomas - ACRC

Computer Systems and Architecture

Bio3D: Interactive Tools for Structural Bioinformatics.

Part 1: Basic Commands/U3li3es

Introduction to Linux

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater)

CSC209. Software Tools and Systems Programming.

Introduction to the UNIX command line

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

COSC UNIX. Textbook. Grading Scheme

Computer Systems and Architecture

A Brief Introduction to the Linux Shell for Data Science

Chap2: Operating-System Structures

Perl and R Scripting for Biologists

Chapter 4. Unix Tutorial. Unix Shell

Linux Bootcamp Fall 2015

CSE Linux VM. For Microsoft Windows. Based on opensuse Leap 42.2

Useful Unix Commands Cheat Sheet

Introduction to Linux/Unix. Xiaoge Wang, ICER Jan. 14, 2016

Shell Programming Systems Skills in C and Unix

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Introduction to Linux (and the terminal)

Connecting to ICS Server, Shell, Vim CS238P Operating Systems fall 18

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester

Introduction to the Linux Command Line

COL100 Lab 2. I semester Week 2, Open the web-browser and visit the page and visit the COL100 course page.

Unix as a Platform Exercises. Course Code: OS-01-UNXPLAT

Introduction: What is Unix?

Linux Command Line Primer. By: Scott Marshall

Introduction Into Linux Lecture 1 Johannes Werner WS 2017

Introduction to Linux

BIOINFORMATICS POST-DIPLOMA PROGRAM SUBJECT OUTLINE Subject Title: OPERATING SYSTEMS AND PROJECT MANAGEMENT Subject Code: BIF713 Subject Description:

On successful completion of the course, the students will be able to attain CO: Experiment linked. 2 to 4. 5 to 8. 9 to 12.

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix Essentials. BaRC Hot Topics Bioinformatics and Research Computing Whitehead Institute October 12 th

Introduction to Supercomputing

Merge Conflicts p. 92 More GitHub Workflows: Forking and Pull Requests p. 97 Using Git to Make Life Easier: Working with Past Commits p.

CS197U: A Hands on Introduction to Unix

Working With Unix. Scott A. Handley* September 15, *Adapted from UNIX introduction material created by Dr. Julian Catchen

History. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME

Running Programs in UNIX 1 / 30

Unix/Linux Operating System. Introduction to Computational Statistics STAT 598G, Fall 2011

Linux at the Command Line Don Johnson of BU IS&T

Introduction to Linux. Roman Cheplyaka

CS356: Discussion #1 Development Environment. Marco Paolieri

CSC209H Lecture 1. Dan Zingaro. January 7, 2015

Introduction to UNIX/Linux

Laboratory 1 Semester 1 11/12

Lecture 3. Unix. Question? b. The world s best restaurant. c. Being in the top three happiest countries in the world.

CENG 334 Computer Networks. Laboratory I Linux Tutorial

A Hands-On Tutorial: RNA Sequencing Using High-Performance Computing

Introduction to Linux Environment. Yun-Wen Chen

System Administration

Lab 2: Linux/Unix shell

Introduction to the shell Part II

Introduction to Linux

CS 261 Recitation 1 Compiling C on UNIX

When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used:

Exercise 1: Basic Tools

Using UNIX. -rwxr--r-- 1 root sys Sep 5 14:15 good_program

Linux command line basics III: piping commands for text processing. Yanbin Yin Fall 2015

Introduction to UNIX. Introduction EECS l UNIX is an operating system (OS). l Our goals:

Unix for Poets (in 2016) Christopher Manning Stanford University Linguistics 278

Unix Basics. Benjamin S. Skrainka University College London. July 17, 2010

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

Useful commands in Linux and other tools for quality control. Ignacio Aguilar INIA Uruguay

Linux Command Line Interface. December 27, 2017

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

CS370 Operating Systems

The Shell. EOAS Software Carpentry Workshop. September 20th, 2016

Advanced Linux Commands & Shell Scripting

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80

Introduction to UNIX Command Line

CS 307: UNIX PROGRAMMING ENVIRONMENT KATAS FOR EXAM 2

Linux Shell Script. J. K. Mandal

Introduction to Linux for BlueBEAR. January

Open Source Computational Fluid Dynamics

Version Control with Git

Linux & Shell Programming 2014

Introduction of Linux

Introduc)on to Linux Session 2 Files/Filesystems/Data. Pete Ruprecht Research Compu)ng Group University of Colorado Boulder

Unix System Architecture, File System, and Shell Commands

Unix Workshop Aug 2014

Lab Working with Linux Command Line

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples

CSC209. Software Tools and Systems Programming.

Basic UNIX commands. HORT Lab 2 Instructor: Kranthi Varala

CS197U: A Hands on Introduction to Unix

Introduction to UNIX command-line II

The Unix Shell & Shell Scripts

Linux Introduction Martin Dahlö Valentin Georgiev

Short Read Sequencing Analysis Workshop

Transcription:

Introduction To Barry Grant bjgrant@umich.edu http://thegrantlab.org

Introduction to Biocomputing http://bioboot.github.io/web-2016/ Monday Tuesday Wednesday Thursday Friday Introduction to UNIX* Introduction to Programming Data Analysis and Graphics with R Version Control & Cluster Computing* Group Projects

BARRY HIS- HUI

Todays Menu Time Topics I 9:00-10:15 AM Setup and Motivation 10:15-10:30 AM Coffee Break II 10:30-12:00 AM Beginning Unix 12:00-1:00 PM Lunch III 1:00-2:15 PM Working with Unix 2:15-2:30 PM Coffee Break IV 2:30-4:00 PM How to Get Working http://bioboot.github.io/web-2016/setup/

Lets get started Do it Yourself! Mac Terminal PC MobaXterm

Setup Checklist http://bioboot.github.io/web-2016/setup/ Questionnaire Mac: Terminal or PC: MoblXterm Mac: Git install or PC: MoblXterm git & CygUtils plugins Python Anaconda install R and RStudio install # In your terminal type > which git > git --version Flux access form submitted and Duo mobile app obtained Example data downloaded: http://tinyurl.com/day1-unix

Introduction To Barry Grant bjgrant@umich.edu http://thegrantlab.org

Motivation Why do we use Unix?

Modularity Programmability Infrastructure Reliability Core programs are modular and work well with others Best software development environment Access to existing tools and cuttingedge methods Unparalleled uptime and stability Unix Philosophy Encourages open standards

Modularity Programmability Infrastructure Reliability Core programs are modular and work well with others Best software development environment Access to existing tools and cuttingedge methods Unparalleled uptime and stability Unix Philosophy Encourages open standards

Modularity The Unix shell was designed to allow users to easily build complex workflows by interfacing smaller modular programs together. wget awk grep sort uniq plot An alternative approach is to write a single complex program that takes raw data as input, and after hours of data processing, outputs publication figures and a final table of results. All-in-one custom Monster program

Which would you prefer and why? Modular vs Custom

Advantages/Disadvantages The monster approach is customized to a particular project but results in massive, fragile and difficult to modify (therefore inflexible, untransferable, and error prone) code. With modular workflows, it s easier to: Spot errors and figure out where they re occurring by inspecting intermediate results. Experiment with alternative methods by swapping out components. Tackle novel problems by remixing existing modular tools.

Unix Philosophy Write programs that do one thing and do it well. Write programs to work together and that encourage open standards. Write programs to handle text streams, because that is a universal interface. Doug McIlory

Unix family tree [1969-2010] LINUX Mac OS X Source: https://commons.wikimedia.org/wiki/file:unix_history-simple.svg

Basics File Control Viewing & Editing Files Misc. useful Power commands Process related ls mv less chmod grep top cd cp head echo find ps pwd mkdir tail wc sed kill man rm nano curl uniq Crl-c ssh (pipe) > (write to file) < (read from file) touch source git Crl-z cat R bg tmux python fg

Basics File Control Viewing & Editing Files Misc. useful Power commands Process related ls mv less chmod grep top cd cp head echo find ps pwd mkdir tail wc sed kill man rm nano curl uniq Crl-c ssh (pipe) > (write to file) < (read from file) touch source git Crl-z cat R bg tmux python fg

Lets get started Do it Yourself! Mac Terminal PC MobaXterm

Test: Connecting to remote machines (with ssh) Most high-performance computing (HPC) resources can only be accessed by ssh (Secure SHell) > ssh [user@host.address] > ssh barry@scs.gpcc.itd.umich.edu > ssh -X barry@flux-login.arc-ts.umich.edu

Test: Your software versions We will use the which command to locate your versions of the major software we will be using this week. > which R > R --version Now do the same for python and git, i.e. > which git > git --version If you get an error or not found msg let us know!

BARRY HIS- HUI