Foss-2020-Spring
Total Page:16
File Type:pdf, Size:1020Kb
CyVerse Documentation Release 0.2.0 CyVerse Jan 15, 2021 Contents 1 Expected outcomes: 3 2 Funding and Citations 155 i ii CyVerse Documentation, Release 0.2.0 Learning Center Home Foundational Open Science Skills (FOSS) is a novel, camp-style training designed to prepare principal investigators and their lab teams, both new and established, to meet the growing expectations of funding agencies, publishers, and research institutions for scientific reproducibility and data accessibility. Workshop Level There are no pre-requisites for FOSS, but the course will cover a lot of material in a short time. Participants who have limited computational experience should try to view the Software Carpentry Core Lessons before attending. Contents 1 CyVerse Documentation, Release 0.2.0 2 Contents CHAPTER 1 Expected outcomes: • Become familiar with productivity software for organizing your lab group, communications, and research • Learn how to scale out your computation from laptop to cloud and high performance computing (HPC) systems • Learn how to manage data for open science and reproducibility By working through an example project relevant to their interests, participants will practice open science skills using CyVerse, GitHub, R or Python, and other resources. At the end of the week, students will present a plan for how to integrate open science into their labs. Learning Center Home 1.1 Before you arrive Please endeavor to complete the pre-workshop setup before arriving at FOSS. The workshop will be run under a Code of Conduct. Please familiarize yourself with it prior to your arrival. There will be a webinar one week before camp to help answer questions about the setup, logistics, and materials. Need help? Couldn’t find what you were looking for? • You can talk to any of the instructors or TAs if you need immediate help. • Chat with us on CyVerseFOSS Slack. 3 CyVerse Documentation, Release 0.2.0 • Post an issue on the documentation issue tracker on GitHub Fix or improve this documentation: • On Github: • Send feedback: [email protected] Learning Center Home 1.2 Pre-Workshop Setup Please complete the minimum Setup Instructions to prepare for the FOSS Camp at CyVerse, The University of Arizona, which will run from February 17-21, 2020. 4 Chapter 1. Expected outcomes: CyVerse Documentation, Release 0.2.0 Prerequisite Notes Additional notes Wi-Fi-enabled laptop You should be able to use any lap- • Download FireFox top (Windows/MacOS/Linux.). We • Download Chrome strongly recommend Firefox or Chrome browser. It is recom- mended that you have administra- tive/install permissions on your lap- top. CyVerse Account Please ensure that you have a Cy- Register for your cyverse account at Verse account and have verified http://user.cyverse.org/. your account by completing the ver- ification steps in the email you got when you registered. Github Account Please ensure that you have a Github Register for your Github account at account if you don’t have one al- https://github.com/. ready Dockerhub Account Please ensure that you have a Dock- Register for your Dockerhub ac- erhub account if you don’t have one count at https://hub.docker.com/. already Text Editor Please ensure that you have a Text Register for Sublime at https:// editor of your choice. Any decent www.sublimetext.com/. Register text editor would be sufficient and for Atom at https://atom.io/. recommended ones include Sub- limeText and Atom Slack for networking We will be using Slack extensively Register for Slack at https://slack. for communication and networking com/. purposes Optional Downloads Listed below are some extra downloads that are not required for the workshop, but which provide some options for functionalities we will cover. 1.2. Pre-Workshop Setup 5 CyVerse Documentation, Release 0.2.0 Tool Notes Link SSH Clients (Windows) PuTTY allows SSH connection to • Download PuTTY a remote machine, and is designed • Download mobaXterm for Windows users who do not have • Install Windows Subsystem a Mac/Linux terminal. MobaXterm for Linux (WSL) 2 is a single Windows application that provides a ton of functions for pro- grammers, webmasters, IT adminis- trators, and anybody is looking to manage system remotely Text Editors There is no ‘best’ text editor, but • Atom some are easier to use than others. • SublimeText Do some reading and pick one. • VisualStudioCode • Vim • Emacs • Nano Cyberduck Cyberduck is a third-party tool • Download Cyberduck for uploading/downloading data to • Installation for CyVerse CyVerse Data Store. Currently, this tool is available for Win- dows/MacOS only. You will need to download Cyberduck and the con- nection profile. We will go through configuration and installation at the workshop. iCommands iCommands are third-party software Download and installation instruc- for command-line connection to the tions available at CyVerse Learning CyVerse Data Store. Center Fix or improve this documentation: • On Github: • Send feedback: [email protected] Learning Center Home 1.3 Open Science Introductory Activity Presentation: What is Open Science? 6 Chapter 1. Expected outcomes: CyVerse Documentation, Release 0.2.0 Open Science Introductory Activity • Introductions in pairs. • Describe your work or research area and draw a picture of the other person’s research. 1.3.1 Planning your own Open Science lab • Download a copy of the template • Rename the file replacing “template” with your name. Day 1 Question - Communication Knowing your work style, how do you think you will be most productive in a team? Answer Communication Question - Collaboration How might you use a team charter in your work? Answer Create a Charter that has: • Start and End Dates • Project Description • Roles and Responsibilities • Project Justification • List of Deliverables • Approach • Success Criteria • Key Assumptions Discussion - Project Management Imagine you are managing a medium-sized project with collaborators in three different locations. Describe how you would use technologies like GitHub, Gitter, Slack, Wikis, or Jira to manage your project. Hints Version Control with GitHub Documentation 1.3. Open Science Introductory Activity 7 CyVerse Documentation, Release 0.2.0 Day 2 Question - Project Management How could you combine R and GitHub to manage your project? Answer Using Git & RStudio Discussion - Project Management Describe how you could use R to make your research more reproducible. Include specific examples from a project you are working on. Discussion - Data Management List two specific ways (i.e. related to an actual project you are working on) in which you could use command line skills to improve your productivity. Day 3 Question - Collaboration :class: admonition-question Which CyVerse features would make collaboration easier for you? Answer CyVerse Features Discussion - Cloud Computing Describe a situation in which you would use cloud computing or HPC to scale your research? How would you go about setting up the solution? Hint Use Free Research Cyberinfrastructure Day 4 Question - Data Management How would you use the CyVerse Data Store to manage the data for a complex, distributed project? 8 Chapter 1. Expected outcomes: CyVerse Documentation, Release 0.2.0 Answer CyVerse Data Store Question - Data Management What is some element of a data management plan that you had not thought of before today? How would you make a plan for this element? Answer Data Management Overview Fix or improve this documentation: • On Github: • Send feedback: [email protected] Learning Center Home 1.4 Command Line and the Unix Shell 1.4.1 Setup Launch Atmosphere Instance 1. Go to https://atmo.cyverse.org/ and click ‘Projects’ at the top of the page. 2. Click the ‘create new project’ button and enter a name and description. 3. Click ‘images’ at the top of the screen. 4. Select the image called ‘Ubuntu 18.04 GUI XFCE Base’ 5. Click launch. 6. For this work you can leave all the settings as default and click ‘launch instance’. Once Instance is ‘Active’ 1. Click on the image name ‘Ubuntu 18.04 GUI XFCE Base’ in your project. 1.4. Command Line and the Unix Shell 9 CyVerse Documentation, Release 0.2.0 2. Click ‘Open Web Desktop’ on the bottom right corner of the screen. 3. On web desktop accept ‘default config’. Get Some Data 1. Click the globe icon at the bottom of the Desktop. This will open FireFox. 2. Copy this link http://swcarpentry.github.io/shell-novice/data/data-shell.zip to the FireFox search bar to down- load the data. Choose ‘save file’. 3. To move the file to your (web) Desktop open the file manager (folder icon on Desktop). Open the downloads folder. Drag the ‘data-shell.zip’ file onto the Desktop. 4. Unzip/extract the file: Right click the file and select ‘extract here’. You should end up with a new folder called ‘data-shell’ on your Desktop. 5. Open a terminal by selecting the command line icon at the bottom of the desktop. 6. In the terminal, type cd and hit enter. 1.4.2 Background At a high level, computers do four things: • run programs • store data • communicate with each other, and • interact with us The graphical user interface (GUI) is the most widely used way to interact with personal computers. • give instructions (to run a program, to copy a file, to create a new folder/directory) with mouse • intuitive and very easy to learn • scales very poorly The shell - a command-line interface (CLI) to make repetitive tasks automatic and fast. • can take a single instruction and repeat it Example If we have to copy the third line of each of a thousand text files stored in thousand different folders/directories and paste it into a single file line by line. • Using the traditional GUI approach will take several hours to do this. • Using the shell this will only take a couple of minutes (at most).