+Welcome to Etherpad!

This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!

Get involved with Etherpad at http://etherpad.org


Attendance:
    Phillip Doehle, OSU High Performance Computing Center
    Mark Laufersweiler, OU Libraries, @laufers *
    Evan Linde, OSU High Performance Computing Center
**Sabrina Bailey, OSU Library
    James Deaton*, GPN, @jed
*Gerwald Koehler OSU_CHS
hervu,OSU Spears school of Business*
Greg Hendrickson, OSU Civil Engineering**
Ian Mooers - OU Price College of Business
Viviana Freire Zapata, OSU-EPP (*)
Christian Ayala-Ortiz(*), OSU-EPP
Juliana Artier, Microbiology, OSU*
*Sue Katz Ambun Rogers State Unversity Biology*
Anton Avramov* OSU Microbiology and Molecular Genetics
Neil Miller, OSU Microbiology and Molecular Genetics* 
Alejandro La Manna  Animal Science*    
Jordan Fischer OSU Biosystems Engineering *
*Rabecca Wiseman OSU civil engineering*
Aubrey McCutchan, OSU CIVE**
Prakash Sah*, OSU$
Jianan Zhao, OSU School of Chemical Engineering *
*Asma Lama tamang, OSU CEAT

Li Ding, OSU School of Hospotality and Tourism Management
Sudhir doranga, microbiology department*
Xiaoyu Qiao, OSU biochemistry and molecular biology*
*Leah Huling, OSU civil engineering
Peter Hoyt (Helper) (Biochemistry and Molecular Biology)*
Rob Burnap, OSU Microbilogy & Molecular Genetics

Nurhan Dunford*

In one sentence, what do you hope to learn?
Basics of programming
Basics on how to use python
A basic introduction to the python
Primarily, how to use git
Some computing basics
how to use python coding
some basics idea about coding and programming. this would be my first time to use python. 
know some coding basics
To be a seniour python developer
text scrawling
Basics for working with data in Python
basic knowledge about Python programming
How to utilize git version control and sql 
Learn the basics of how to do some programming
How to deal with data in python and other tools
How to use python 
How to use python for large data consumption
interested in python
Python exposure and a better understanding of how the carpentry workshops function
Interested in big data managemen tools

cmd
@swcarpentry carpentries

Day one - Command Shell

Data files for this lesson: http://swcarpentry.github.io/shell-novice/data/shell-novice-data.zip
    
    
Commands:
    "ls" -- list files
    "cd" -- change directory
    "pwd" -- print working directory
    "nano" -- a text editor
    "cat" -- dump contents of file to the screen (short for "concatenate")
    "less" -- a paginator that lets you scroll up and down (hit the q key to quit)
    "touch" -- update the timestamp on a file (creates the file if it doesn't exist)
    "rm" -- delete (i.e. remove) a file
    "rmdir" -- delete a directory (directory has to be empty)
    "mv" -- move or rename a file
    "mkdir" -- create a new directory
    "wc" -- word count (counts lines, words, and characters)
    "sort" -- sort things (sorts alphabetically by default)
    "head" -- show the first lines (usually defaults to 10 lines) of a file
    "tail" -- show the last lines (usually defaults to 10 lines) of a file
    "echo" -- print something on the screen
    "cp" -- copy files

Command examples:
    "cd" -- (no arguments) go to your home directory
    "cd directoryname" -- go into "directoryname"
    "cd .." -- go up one directory
    "cd ../.." -- go up two levels
    "ls -F" -- list files (and folders) with flags to show what type they are
    "ls -a" -- list all files including hidden files (names starting with a ".")
    "ls -l" -- list files in "long" format
    "ls -t" -- list files sorted by time (most recently modified first)
    "ls -tr" or "ls -t -r" -- reverse the time sorting (make the most recently modified files appear last)
    "rm -r directoryname" -- remove the directory "directoryname" and all its contents
    "wc -l somefile" -- show just the number of lines in "somefile"
    "sort -n somefile" -- sort the lines from "somefile" numerically
    "head -n 2 somefile" -- show only the first two lines of "somefiile"
    "tail -n 2 somefile" -- show only the last two lines of "somefile"
    "grep" -- find a pattern in a file
    

Concepts:
    directory -- a folder
    home directory -- the directory where your user profile is found. On Windows, this is usually "c:\users\your_username" (or "/c/users/your_username" in git-bash); on Mac this is usually "/Users/your_username"; on Linux this is usually "/home/your_username".
    path -- a file or folder location
    absolute path -- a path that begins with a "/"
    relative path -- a path that does NOT begin with a "/"
    glob -- a pattern to match files (e.g. "*.pdb" which matches anything that ends with ".pdb")
    pipe -- method for chaining commands together, making the output of one command be the input for the next command; the commands are separated by a vertical bar (pipe) character "|".
    redirection -- send the screen output to a file instead of showing it on the screen
    loop -- a way to repeat commands for some list/set
    comments -- lines in a bash script beginning with "#"; bash will ignore everything after the "#" character

The "for" loop in bash:
    
    General form:
        
        for variable in list
        do
            commands
        done
    
    Example from the lesson:
        
        for filename in basilisk.dat unicorn.dat
        do
            head -n 5 $filename
            echo ''
        done
    
    This for loop can also be written as a single line by replacing the line breaks (except for the one after "do") with semicolons (";"):
        for filename in basilisk.dat unicorn.dat; do head -n 5 $filename; echo ''; done
    
    Another example from the lesson:
        for filename in *.dat; do cp $filename original-$filename; done
    



Day One -- Python

Yay Day one Python! You were wonderful.

*Day Two -- Python

https://www.dropbox.com/sh/g79ws46e7ij4e6y/AADk2uow7LfojJHaW10eoxiNa?dl=0



Version Control using Git and GitHub

Setting up Git


Line feed and carriage return issues:


Setting editors

Collaboration Exercise:
Country list

We will fork, clone, edit, add & commit, push a country information file and then perform a pull
request to share back to the upstream our changes and suggestions. 

1 Fork  (cloud)
2 clone (cloud to local your copy)
3 edits/changes (local)
4 git add and commit to version (local) 
5 git push (local to cloud your copy)
6 pull request (cloud) (notify upstream (owner) available changes)
7 owner/upstream can accept, ask for more detail, decline
8 fetch from upstream to forked(own) (local) 
9 merge upstream/master to local master (local)
10 push to origin  (local to cloud) own




--allow-unrelated-histories















Mac Users: If you have an error message when trying to run git commands, run "xcode-select --install" to install developer command line tools.

Things to test:
    git and Anaconda for Windows users (Windows 10) with a space in the username / profile directory
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
Additional Resources:
    Software Carpentry: https://software-carpentry.org/
    Data Carpentery: http://www.datacarpentry.org/
    
Contact Information:
    Phillip Doehle: doehle@okstate.edu
    Patrick Boyle: thomas.patrick.boyle@okstate.edu
    Mark Laufersweiler : laufers@ou.edu
    Okstate High Performance Computing Center: https://hpcc.okstate.edu/
    Okstate Libraries: https://library.okstate.edu/
    Okstate Carpentries: https://osu-carpentry.github.io/