C2110 Operační systém UNIX základy programování 11. lekce / modul 1 PS/2020 Distanční forma výuky: Revl Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno Dperační systém UNIX a základy programování 11. lekce / modul 1 Bash+AWK+Gnuplot Data jsou v adresáři: /home/kulhanek/Documents/C2110/Lessonll Dperační systém UNIX a základy programování 11. lekce / modul 1 Cvičení 1 i. Soubor prod006.out obsahuje výsledky z molekulové dynamiky. Úkolem je ze souboru vyextrahovat závislost teploty simulovaného systému na čase a tyto data uložit do souboru temp.out, který bude obsahovat právě dva sloupce. První sloupec bude čas a druhý sloupec bude teplota. cas teplota NSTEP = Etot BOND 1-4 NB = EELEC = 500 TIME (PS) 942.6248 51.3204 17.7099 -494.7423 EKtot ANGLE 1-4 EEL = EGB 0.500 TEMP(K) 151.0990 292.3619 981. 4071 -164.7991 288.02 PRESS EPtot DIHED VDWAALS RESTRAINT 0.0 791.5258 176.5980 -68.3301 0.1822 EAMBER (non-restraint) 791.3436 Pro analýzu souboru rst.out použijte jazyk awk. Řešení srovnejte s implementací v jazyce bash. 2. Průběh teploty na čase zobrazte ve formě grafu. Dperační systém UNIX a základy programování 11. lekce / modul 1 Cvičení 2 Ze souboru prod006.out vyextrahujte průběh celkové energie (Etot), kinetické energie (EKtot) a potenciální energie (EPtot) na čase. Průběh jednotlivých energií zobrazte v gnuplotu a uložte do souboru energy.png. Ověřte, že součet potenciální a kinetické energie se rovná celkové energii. čas NSTEP = Etot BOND 1-4 NB = EELEC = 500 TIME (PS) = 942.6248 EKtot 51.3204 ANGLE 17.7099 1-4 EEL -494.7423 EGB 0.500 TEMP(K) = 288.02 151.0990 EPtot 292.3619 DIHED 981.4071 VDWAALS -164.7991 RESTRAINT PRESS = 0.0 791.5258 176.5980 -68.3301 0.1822 EAMBER (non-restraint) 791.3436 •perační systém UNIX a základy programování 11. lekce / modul 1 Cvičení 3 1. Napište skript(y), který vypíše řadu čísel 3n pro n od 1 do N do souboru data.txt. (10 bodů). Číslo N uživatel zadá jako první argument skriptu (5 bodů). Ošetření vstupu (5 bodů). Průběh číselné řady uložené v souboru data.txt zobrazte v gnuplotu, zobrazení proveďte neinteraktivně (10 bodů). Ukázka zadání úkolu ke zkoušce. Dperační systém UNIX a základy programování 11. lekce / modul 1 -5- Cvičení 4 1. Vykreslete do souboru rovnostranný pravoúhlý trojúhelník, jehož obrys bude ze znaků "*" (5 bodů) a výplň pomocí znaků "@" (10 bodů). Rozměr odvěsen trojúhelníka a název souboru zadá uživatel interaktivně po spuštění skriptu (5 bodů). Ošetření vstupu: Trojúhelník musí obsahovat alespoň jeden znak „@" (5 bodů). Skript nedovolí zápis do již existujícího souboru (5 bodů). Ukázka zadání úkolu ke zkoušce. Dperační systém UNIX a základy programování 11. lekce / modul 1 Cvičení 5 1. V zadaném adresáři najde všechny soubory s příponami .hpp a .cpp a vypište na standardní výstup jejich počet celkem a poté zvlášť pro .hpp a .cpp soubory (10 bodů), dále celkový počet řádků ve všech nalezených souborech a poté zvlášť pro .hpp a .cpp soubory (10 bodů). Výpis zároveň uložte do souboru „summary.txt" (5 bodů). Analyzovaný adresář se zadá jako první argument skriptu. Ošetření vstupu (5 bodů): analyzovaný adresář musí existovat. Data pro testování najdete v adresáři pmflib. Ukázka zadání úkolu ke zkoušce. Dperační systém UNIX a základy programování 11. lekce / modul 1 Cvičení 6 1. Napište skript v awk, který ze souboru s kvantově-mechanickou analýzou molekulárního komplexu metodou SAPTO vyextrahuje komponenty interakční energie v kcal/mol uvedené v sekci "SAPT Results" uvedené na konci souboru. Konkrétně elektrostatickou (Electrostatics), výměnnou (Exchange), indukční (Induction) a disperzní (Dispersion) energii. Poslední sloupec bude obsahovat celkovou interakční energii (Total SAPTO). Testovací data najdete v adresáři "saptO". 2. Napište skript v bashi, který provede výše uvedenou analýzu pro všechny soubory se zakončením ".out". V prvním sloupci bude název analyzovaného komplexu (jméno souboru bez zakončení .out) a dále jednotlivé složky interakční energie. Výsledek uložte do textového souboru "results.txt". Data jsou v adresáři "saptO". Dperační systém UNIX a základy programování 11. lekce / modul 1 -8-