PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE M.Mielczarek Pracownia Informatyczna 2017/2018 1
PRACOWNIA INFORMATYCZNA PROWADZĄCY: Dr Magda Mielczarek (biolog) Katedra Genetyki, pokój nr 14 magda.mielczarek@upwr.edu.pl magda.a.mielczarek@gmail.com tel: 71-320-57-51 KONSULTACJE:??? Dr inż. Jarosław Stańczyk (informatyk) M.Mielczarek Pracownia Informatyczna 2017/2018 2
Kontakt Slajdy Zadania www.theta.edu.pl M.Mielczarek Pracownia Informatyczna 2017/2018 3
PRACOWNIA BIOSTATYSTYKI # DLACZEGO BASH? Praca na klastrach obliczeniowych Brak GUI Środowisko programistyczne Szybkie przetwarzanie danych Pisanie własnych skryptów W praktyce przetwarzanie i przechowywanie danych biologicznych nie byłoby możliwe bez komputerów o dużej mocy obliczeniowej i o dużych zasobach pamięci dyskowej M.Mielczarek Pracownia Informatyczna 2017/2018 4
PRACOWNIA BIOSTATYSTYKI # PROJEKT ANALIZA SEKWENCJI DNA CAŁEGO GENOMU Technologia NGS (Next Generation Sequencing) Sekwencje DNA całego genomu 32 krów: 16 osobników podatnych na zapalenie wymienia 16 osobników zdrowych M.Mielczarek Pracownia Informatyczna 2017/2018 5
PRACOWNIA BIOSTATYSTYKI # PROJEKT 6000000 Liczba SNP w genomie 5000000 4000000 3000000 2000000 1000000 0 chore zdrowe M.Mielczarek Pracownia Informatyczna 2017/2018 6
PRACOWNIA BIOSTATYSTYKI # PROJEKT PRZECHOWYWANIE DANYCH 1 genom surowe dane pliki pośrednie pliki końcowe 6,1 TB 4,9 TB 44,8 GB + dane dodatkowe M.Mielczarek Pracownia Informatyczna 2017/2018 7
PRACOWNIA BIOSTATYSTYKI # PROJEKT PRZETWARZANIE I ANALIZA DANYCH przyrównanie; 8 rdzeni; 25 GB (genom) ~ 19 GB paralelizacja - przyspieszenie obliczeń max 24 rdzenie czas analiz dla wszystkich prób tygodnie? M.Mielczarek Pracownia Informatyczna 2017/2018 8
STUDENCI # DLACZEGO BASH? Bioinformatyka i inne nauki ścisłe! praca na klastrach obliczeniowych oferty pracy z fizyki i z chemii Informatyka środowisko programistyczne M.Mielczarek Pracownia Informatyczna 2017/2018 9
ZASADY ZALICZENIA Obecność Zaliczenie: aktywność na zajęciach kolokwium - napisanie prostego kodu i wyjaśnienie go - nie ma możliwości korzystania z Internetu - nie ma możliwości poprawy kolokwium M.Mielczarek Pracownia Informatyczna 2017/2018 10
PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację z systemem operacyjnym oraz jego kontrolę Bash powłoka (środowisko domyślne) Skrypt powłoki plik tekstowy zawierający sekwencje poleceń Katalog domowy - folder domowy użytkownika; zawiera pliki określające ustawienia każdego użytkownika, przeznaczony na zapisywanie danych, np. dokumentów, obrazów, itp.; standardowo /home/nazwa_użytkownika M.Mielczarek Pracownia Informatyczna 2017/2018 11
TERMINAL (Ctrl + Alt + t) nazwaużytkownika@nazwahosta:~$ $ user # superuser Polecenia są wpisywane i wykonywane w terminalu powłoki Terminal interaktywny program narzędziowy umożliwiający komunikację użytkownika ze środowiskiem powłoki Po otwarciu okna terminalu dostępny jest wiersz poleceń M.Mielczarek Pracownia Informatyczna 2017/2018 12
POPULARNE POLECENIA ls, ls l, ll, ls lrth, itp. listowanie zawartości katalogu mv zmiana nazwy, przeniesienie cp - kopiowanie rm - usuwanie cd poruszanie się w powłoce cat wypisywanie i łączenie plików touch tworzenie plików head wypisanie pierwszych 10 linijek tekstu tail wypisanie ostatnich 10 linijek tekstu less wypisywanie plików M.Mielczarek Pracownia Informatyczna 2017/2018 13
POPULARNE POLECENIA grep wypisywanie linii pasujących do wzorca cut - selekcja wybranych obszarów sort - sortowanie wc zliczanie znaków, linii pwd wyświetlenie bieżącego katalogu history huuura! Nie trzeba robić notatek history > moje_notatki.txt POMOC: man komenda komenda --help M.Mielczarek Pracownia Informatyczna 2017/2018 14
POPULARNE POLECENIA echo wydrukuj na ekran monitora echo Cześć studenci echo Cześć studenci echo Cześć studenci zmienna=5 echo $zmienna echo $zmienna (???) POMOC: man komenda komenda --help M.Mielczarek Pracownia Informatyczna 2017/2018 15
KATALOGI M.Mielczarek Pracownia Informatyczna 2017/2018 16
PLIKI M.Mielczarek Pracownia Informatyczna 2017/2018 17
ZMIENNE Przechowywanie danych Brak deklaracji typu zmiennych zmienna=wartość (operacja przypisania) zmienna = wartość (operacja równości) zmienna=5 echo $zmienna length=${#zmienna} Przykład: owoc=jabłka liczba=3 echo "Liczba owocow: $liczba $owoc. echo Liczba owocow: $liczba $owoc. M.Mielczarek Pracownia Informatyczna 2017/2018 18
PROSTE OPERACJE ARYTMETYCZNE a=4 b=5 let wynik=a+b wynik=$[a+b] Liczby całkowite let a++ let b-- let a+=6 let b-=1 Spróbuj: suma=a+b echo $suma suma=$a+$b echo $suma Jaki wynik uzyskałaś/eś? M.Mielczarek Pracownia Informatyczna 2017/2018 19
PROSTE OPERACJE ARYTMETYCZNE bc kalkulator, zaawansowany program narzędziowy do obliczeń matematycznych; umożliwia wykonywanie operacji zmiennoprzecinkowych echo "10*5.5" bc Spróbuj: suma=a+b echo $suma suma=$a+$b echo $suma Jaki wynik uzyskałaś/eś? M.Mielczarek Pracownia Informatyczna 2017/2018 20
ŚCIEŻKA bezwzględna: zawsze prawdziwa niezależnie od tego, w którym katalogu znajduje się użytkownik cd /home/users-groups/katalog1/katalog2/katalog3/katalog4 względna: wymaga ustalenia katalogu, w którym znajduje się użytkownik i podania ścieżki względem tego położenia użytkownik jest w katalog2 i chce przejść do katalog4 cd katalog3/katalog4 M.Mielczarek Pracownia Informatyczna 2017/2018 21
UPRAWNIENIA * a all, wszyscy * u user, użytkownik * g group, grupa * o others, inni * + dodanie prawa * - odebranie prawa * r read, uprawnienie do czytania * w -write, uprawnienie do zapisu lub zmiany zawartości * x execute, uprawnienie do wykonania, lub przejrzenia zawartości katalogu * - brak danego uprawnienia chmod g+rx plik chmod o-w plik Cyfra Prawa Litera 0 brak praw 1 wykonywanie x 2 pisanie w 3 wykonywanie i pisanie wx 4 czytanie r 5 czytanie i wykonywanie rx 6 czytanie i pisanie rw czytanie, pisanie i 7 rwx M.Mielczarek Pracownia Informatyczna 2017/2018 wykonywanie 22
UPRAWNIENIA M.Mielczarek Pracownia Informatyczna 2017/2018 23
PĘTLE SKŁADNIA PRZYKŁADY for zmienna in list; do polecenia; done while warunek; do polecenia; done until warunek; do polecenia; done for a in {2..5}; do echo "Do tej pory petla wykonala sie $a razy"; done a=2 while [ $a -le 5 ]; do echo " Do tej pory petla wykonala sie $a razy"; a=$[a + 1]; done a=2 until [ $a -ge 5 ]; do echo "Do tej pory petla wykonala sie $a razy"; a=$[a + 1]; done M.Mielczarek Pracownia Informatyczna 2017/2018 24
Hello world Demonstracja sposobu programowania #!/bin/bash #Tu jest komentarz. echo "Hello world" Uruchomienie skryptu sh lub./ sh skrypt.sh sh /home/user1/skrypty/test.sh./skrypt M.Mielczarek Pracownia Informatyczna 2017/2018 25