C7800 Počítačová chemie a molekulové modelování I - cvičení -1- C7800 Počítačová chemie a molekulové modelování I - cvičení Petr Kulhánek, Jakub Štěpán kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C7800 Počítačová chemie a molekulové modelování I - cvičení -2Ukázka v 3D C7800 Počítačová chemie a molekulové modelování I - cvičení -3- Opakování C7800 Počítačová chemie a molekulové modelování I - cvičení -4Příkazová řádka [kulhanek@wolf ~]$ jméno uživatele jméno počítače aktuální adresář (~ znamená domovský adresář /home/vas_login) Prompt - typ uživatele / výzvy ($ běžný uživatel, # super uživatel, další možné %, >) místo pro příkaz Příkaz se vykoná zmáčknutím klávesy Enter. Kopírování textu: Ne pomocí Ctrl+C! Pro kopírování textu z terminálu stačí text označit, pro následné vložení stiskněte kolečko myši. Automatické doplňování: zmáčknutím klávesy Tab (tabulátor) se interpret příkazové řádky snaží dokončit rozepsané slovo. Doplňují se jména příkazů, cesty a jména souborů (pokud jeden stisk nic nevyvolá, existuje více možností doplnění, opakovaný stisk vylistuje možnosti). Historie: pomocí kurzorových šipek nahoru a dolů lze procházet seznamem již zadaných příkazů. Příkaz z historie lze znovu použít nebo upravit a upravený použít. Historie je přístupná i příkazem history. C7800 Počítačová chemie a molekulové modelování I - cvičení -5- Terminály Příkazová řádka je přístupná přímo z textových terminálů. V grafickém prostředí X11 je nutné spustit vhodnou aplikaci emulující textový terminál. xterm konsole jednoduché, standard na všech UNIXových systémech jednoduché přitom značně konfigurovatelné Výchozím adresářem je: /home/vas_login C7800 Počítačová chemie a molekulové modelování I - cvičení -6Midnight Commander http://www.midnight-commander.org/Souborový manažer, který pracuje v terminálu. funkční klávesy F1, F2, F3, ... Tab označení více souborů - Insert Skrytí obou panelů: Ctrl+O Lze použít myš. šipka nahoru šipka dolů C7800 Počítačová chemie a molekulové modelování I - cvičení -7Textový editor - kwrite Rozšířená funkcionalita: kate Spuštění: $ kwrite C7800 Počítačová chemie a molekulové modelování I - cvičení -8Textový editor - gedit Spuštění: $ gedit C7800 Počítačová chemie a molekulové modelování I - cvičení -9Programy pro molekulové modelovaní I C7800 Počítačová chemie a molekulové modelování I - cvičení -10- Přehled Nemesis https://lcc.ncbr.muni.cz/whitezone/development/nemesis/ Program pro stavbu a vizualizaci molekul. Alfa verze pro Linux. Testovací verze pro MS Windows na vyžádání. Avogadro http://avogadro.openmolecules.net/wiki/Main_Page Program pro stavbu a vizualizaci molekul. Volně dostupný pro MS Windows a Linux. Přehled funkcionality: https://www.youtube.com/watch?v=xdmLoBlLmqs VMD http://www.ks.uiuc.edu/Research/vmd/ Program pro vizualizaci molekul. Po bezplatné registraci dostupný pro MS Windows a Linux. Molekel http://molekel.cscs.ch/wiki/pmwiki.php Program pro vizualizaci molekulárních struktur. C7800 Počítačová chemie a molekulové modelování I - cvičení -11Spouštění programů Nemesis $ module add nemesis $ nemesis Avogadro $ module add avogadro $ avogadro VMD $ module add vmd $ vmd Molekel $ module add molekel $ molekel znak $ se nezadává, značí příkazovou řádku C7800 Počítačová chemie a molekulové modelování I - cvičení -12Program VMD Representation Program slouží k vizualizaci (bio)molekul a k analýze výsledků molekulárně dynamických simulací. Program je volně dostupný (vyžaduje registraci) a je dostupný i pro operační systém MS Windows. http://www.ks.uiuc.edu/Research/vmd/ posouvání mezi snímky C7800 Počítačová chemie a molekulové modelování I - cvičení -13Program VMD Selekce (volba) části molekuly: protein – zvolí všechny aminokyseliny water – zvolí všechny molekuly vody chain X – zvolí řetězec X resname X – zvolí residuum s názvem X resid X – zvolí residuum s číslem X Příklady: chain A chain A B C resname ASP GLU resid 1 resid 1 to 100 Bližší informace: C2150 Zpracování informací a vizualizace v chemii C7800 Počítačová chemie a molekulové modelování I - cvičení -14PDB Databáze www.pdb.org Obsahuje struktury biomolekul určené metodami rentgenové strukturní analýzy, nukleární magnetické rezonance, teoretické modely. C7800 Počítačová chemie a molekulové modelování I - cvičení -15Cvičení VMD Úkol I • Najděte protein s PDB kódem 1UZV . Kterou metodou byla struktura určena? Jakého rozlišení bylo dosáhnuto? Uložte strukturu ve formátu pdb do vašeho domovského adresáře. • Zobrazte strukturu 1UZV v programu VMD. • Zvýrazněte jednotlivé monomerní jednotky komplexu (model: surf, selekce: chain A, chain B, ...) • Zobrazte sekundární strukturu komplexu (NewCartoon, Color: Secondary Structure). Který strukturní element ve struktuře převládá? • Zobrazte navázaný ligand (resname FUC). Kolik ligandů je v komplexu obsaženo? • Zobrazte vápenaté ionty (resname CA). Kolik iontů je v komplexu obsaženo? Úkol II • Najděte protein s PDB kódem 2KRC. Kterou metodou byla struktura určena? Uložte strukturu ve formátu pdb do vašeho domovského adresáře. • Zobrazte strukturu 2KRC v programu VMD. • Zobrazte sekundární strukturu komplexu (NewCartoon, Color: Secondary Structure). Který strukturní element ve struktuře převládá? • Kolik modelů bylo publikováno? Kvalitativně určete jak se od sebe modely liší. C7800 Počítačová chemie a molekulové modelování I - cvičení -16Cvičení XYZ formát 1. V textovém editoru vytvořte soubor popisující model vody s následujícími parametry. Délka vazeb O-H bude 1 Å. Vazebný úhel H-O-H bude 90 ̊. Uložte jej do domovského adresáře jako water.xyz 2. Vytvořený soubor načtěte do programu VMD. 3. Ověřte skutečnou délku vazeb a velikost úhlu H-O-H. (VMD Main >Mouse->Label, správa popisků v VMD Main >Graphics>Labels) 4. Molekulu vody zobrazte v následujících modelech: Lines, CPK, Licorice, VDW. C7800 Počítačová chemie a molekulové modelování I - cvičení -17MS Windows jako klient C7800 Počítačová chemie a molekulové modelování I - cvičení -18MS Windows jako klient - přehled Přihlašování do Unixu z MS Windows (textový terminál): putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/) ssh (např. z prostředí Cygwin; http://www.cygwin.com/) Kopírování dat mezi Unixem a MS Windows: WinSCP (http://winscp.net) scp (např. z prostředí Cygwin; http://www.cygwin.com/) Export displeje z Unixu do MS Windows (X11 server): Xming (http://sourceforge.net/projects/xming/) cygwin (http://www.cygwin.com/) Přihlašování z Unixu do MS Windows (vzdálená plocha): rdesktop C7800 Počítačová chemie a molekulové modelování I - cvičení -19Putty – nastavení wolf.ncbr.muni.cz adresa vzdáleného stroje Správné fungování klávesy backspace. C7800 Počítačová chemie a molekulové modelování I - cvičení -20Putty – nastavení II selekce myší kompatibilní s Unixovými terminály neproporcionální písmo (všechny znaky mají stejnou šířku) C7800 Počítačová chemie a molekulové modelování I - cvičení -21- WinSCP WinSCP http://winscp.net/eng/docs/lang:cs Program pro přenos souborů mezi MS Windows a počítači podporující SFTP či SCP protokoly (převážně unixového a linuxového typu). lokální stroj vzdálený stroj C7800 Počítačová chemie a molekulové modelování I - cvičení -22Textové soubory MS Win  Linux Textové soubory vytvořené pod MS Windows a Linuxem nejsou zcela kompatibilní, protože každý operační systém používá jiné kódování konce řádku. Linux: \n (line feed 0x0A) MS Windows: \r+\n (carriage return 0x0D, line feed 0x0A) Ke konverzi souborů lze použít programy d2u a u2d (na klastru WOLF). 1) Aktivace modulu cats $ module add cats 2) Konverze MS Windows => Linux $ d2u soubor.com 3) Konverze Linux => MS Windows $ u2d soubor.log C7800 Počítačová chemie a molekulové modelování I - cvičení -23- Cvičení 1. Spusťte virtuální stroj s MS Windows XP (/win/win). 2. Spusťte aplikaci Putty (Aplikaci stáhněte z internetu). 3. Pomocí terminálu Putty se přihlaste na stroj wolf.ncbr.muni.cz. 4. Monitorujte, kdo je na stroji wolf.ncbr.muni.cz přihlášen (příkazy w nebo who). 5. Zkuste v terminálu Putty spustit aplikaci kwrite. Proč spuštění aplikace selže? 6. Spusťte aplikaci WinSCP (Aplikaci stáhněte z internetu jako Portable executables). 7. Do virtuálního stroje stáhněte soubor water.xyz. Soubor otevřete v programu Poznámkový blok (Notepad). Zobrazí se obsah souboru správně? 8. Opravte kódování konců řádků v souboru voda.xyz (na straně Linuxu) a soubor znovu otevřete ve virtuálním stroji v programu Poznámkový blok. C7800 Počítačová chemie a molekulové modelování I - cvičení -24Programy pro molekulové modelovaní II C7800 Počítačová chemie a molekulové modelování I - cvičení -25- OpenBabel Konverze programem openbabel: $ module add openbabel $ babel input.xyz output.mol2 Seznam podporovaných formátů: $ babel -L formats http://openbabel.org/wiki/Main_Page Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. Nápověda: $ babel -H velké H C7800 Počítačová chemie a molekulové modelování I - cvičení -26- Cvičení 1. Aktivujte modul openbabel. 2. Vypište formáty, které instalovaná verze open babelu podporuje. 3. Zkonvertujte soubor water.xyz do formátu Sybyl Mol2 format a uložte jej pod názvem water.mol2 4. Otevřete soubor water.mol2 v textovém editoru a diskutujte význam jeho částí. 5. Zkonvertujte soubor water.xyz do formátu InChI a ložte jej po názvem water.txt 6. Otevřete soubor water.txt v textovém editoru a diskutujte význam jeho částí. C7800 Počítačová chemie a molekulové modelování I - cvičení -27Dávkové systémy C7800 Počítačová chemie a molekulové modelování I - cvičení -28Dávkové zpracovaní Dávkové zpracování je vykonávání série programů (tzv. dávek) na počítači bez účasti uživatele. Dávky jsou připraveny předem, takže mohou být zpracovány předány bez účasti uživatele. Všechna vstupní data jsou předem připravena v souborech (skriptech) nebo zadána pomocí parametrů na příkazovém řádku. Dávkové zpracování je opakem interaktivního zpracování, kdy uživatel až teprve za běhu programu poskytuje požadované vstupy. Výhody dávkového zpracování  sdílení zdrojů počítače mezi mnoha uživateli a programy  odložení zpracování dávek do doby, kdy je počítač méně vytížen  odstranění prodlev způsobeným čekáním na vstup od uživatele  maximalizace využití počítače zlepšuje využití investic (zejména u dražších počítačů) zdroj: www.wikipedia.cz, upraveno C7800 Počítačová chemie a molekulové modelování I - cvičení -29Nástroje pro dávkové spouštění  OpenPBS http://www.mcs.anl.gov/research/projects/openpbs/  PBSPro http://www.pbsworks.com  Oracle Grid Engine http://www.oracle.com/us/products/tools/oracle-grid-engine-075549.html  Open Grid Scheduler http://gridscheduler.sourceforge.net/  Torque http://www.adaptivecomputing.com/products/open-source/torque/ open source je použit jako dávkový systém v MetaCentrum VO, na klastrech SOKAR a WOLF C7800 Počítačová chemie a molekulové modelování I - cvičení -30- Infinity https://lcc.ncbr.muni.cz/whitezone/development/infinity/ C7800 Počítačová chemie a molekulové modelování I - cvičení -31Přehled příkazů Správa software: • site aktivace logických výpočetních zdrojů • module aktivace/deaktivace software Správa úloh: • pqueues přehled front z dávkového systému dostupných uživateli • pnodes přehled výpočetních uzlů dostupných uživateli • pqstat přehled všech úloh zadaných do dávkového systému • pjobs přehled úloh uživatele zadaných do dávkového systému • psubmit zadání úlohy do dávkového systému • pinfo informace o úloze • pgo přihlásí uživatele na výpočetní uzel, kde se úloha vykonává • paliases definovaní aliasů C7800 Počítačová chemie a molekulové modelování I - cvičení -32- Úloha Úloha musí splňovat následující podmínky: • každá úloha se spouští v samostatném adresáři • všechny vstupní data úlohy musí být v adresáři úlohy • adresáře úloh nesmí být do sebe zanořené • průběh úlohy je řízen skriptem nebo vstupním souborem (u automaticky detekovaných úloh) • skript úlohy musí být v bashi • ve skriptu úlohy se nesmí používat absolutní cesty, všechny cesty musí být uvedeny relativně k adresáři úlohy /home/kulhanek job1 job2 /home/kulhanek job1 job2 C7800 Počítačová chemie a molekulové modelování I - cvičení -33Spuštění úlohy Úlohu spouštíme v adresáři úlohy příkazem psubmit. psubmit destination job [resources] [syncmode] destination (kam) je buď: • název_fronty • název_uzlu@název_fronty job je buď: • název skriptu úlohy • název vstupního souboru pro automaticky rozpoznávané úlohy resources jsou požadované zdroje pro úlohu, pokud není uvedeno, požaduje se běh na 1 CPU syncmode určuje způsob kopírování dat mezi adresářem úlohy a výpočetním uzlem, výchozím módem je "sync" C7800 Počítačová chemie a molekulové modelování I - cvičení -34Monitorování běhu úlohy K monitorování průběhu úlohy lze použít příkaz pinfo, který se spouští buď v adresáři úlohy nebo v pracovním adresáři na výpočetním uzlu. Dalšími možnostmi jsou příkazy pjobs a pqstat. Pokud je úloha spuštěna na výpočetním uzlu, je možné použít příkaz pgo, který se naloguje na výpočetní uzel a změní aktuální adresář do pracovního adresáře úlohy. C7800 Počítačová chemie a molekulové modelování I - cvičení -35Servisní soubory V adresáři úlohy vznikají při zadání úlohy do dávkového systému a dále v průběhu života úlohy a po jejím ukončení servisní soubory. Jejich význam je následující: • *.info kontrolní soubor s informacemi o průběhu úlohy • *.infex vlastní skript (wrapper), který se spouští dávkovým systémem • *.infout standardní výstup z běhu *.infex skriptu, nutno analyzovat při nestandardním ukončení úlohy • *.nodes seznam uzlů vyhrazených pro úlohu • *.gpus seznam GPU karet vyhrazenych pro úlohu • *.key unikátní identifikátor úlohy • *.stdout standardní výstup z běhu skriptu úlohy C7800 Počítačová chemie a molekulové modelování I - cvičení -36Cvičení I 1. Vytvořte textový soubor obsahující následující text. Soubor nazvěte get_hostname a uložte jej do samostatného adresáře uloha01. 2. Nastavte souboru práva pro spuštění: 3. Vytvořený skript spusťte v terminálu. Co se stane? 4. Skript zadejte ke spuštení do dávkového systém. K zadání úlohy použijte frontu short. 5. Průběh úlohy monitorujte příkazem pinfo. 6. Na kterém výpočetním uzlu se úloha spustila? Analyzujte obsah souboru get_hostname.stdout v textovém editoru. #!/bin/bash hostname $ chmod u+x get_hostname $ ./get_hostname $ psubmit short get_hostname C7800 Počítačová chemie a molekulové modelování I - cvičení -37Cvičení II 1. Vytvořte textový soubor obsahující následující text. Soubor nazvěte long_job a uložte jej do samostatného adresáře uloha02. Co dělá příkaz sleep (použijte manuálové stránky)? 2. Skript zadejte ke spuštení do dávkového systém. K zadání úlohy použijte frontu short. 3. Průběh úlohy monitorujte příkazem pinfo. Úlohy ostatních uživatelů příkazem pqstat. Obsazení jednotlivých výpočetních uzlů pak příkazem pnodes. #!/bin/bash hostname sleep 240 $ psubmit short long_job C7800 Počítačová chemie a molekulové modelování I - cvičení -38Programy pro molekulové modelovaní III C7800 Počítačová chemie a molekulové modelování I - cvičení -39- Avogadro Ke stavbě 3D struktury molekul můžete použít program Avogadro. Jedná se o volně šiřitelný program, který lze používat jak pod operačním systémem MS Windows tak i pod Linuxovými klony (např. Ubuntu). aktivuje editaci C7800 Počítačová chemie a molekulové modelování I - cvičení -40- Avogadro Při stavbě molekuly nejsou délky vazeb, úhly a další parametry molekuly optimální. Je to dáno způsobem, jakým se v programu Avogadro, struktury editují. Draft struktury je proto nutné před dalším použitím upravit pomocí optimalizace geometrie. zobrazí rozšířenénastavení pro zvolený režim změna grafické vizualizace C7800 Počítačová chemie a molekulové modelování I - cvičení -41- Avogadro Program používá pro optimalizace geometrie metody molekulové mechaniky (MM). Pro její správnou funkci musíte ve struktuře správně uvést řády vazeb. Protože MM je empirickou metodou, musíte zvolit i typ parametrizace. V našem případě budeme používat silové pole MMFF94. zapíná/vypíná optimalizaci geometrie C7800 Počítačová chemie a molekulové modelování I - cvičení -42- Nemesis vrstvy grafické modely stavba/editace molekuly měření Nastavení silového pole pro optimalizaci: menu Geometry-> Optimizer Setup optimalizace geometrie C7800 Počítačová chemie a molekulové modelování I - cvičení -43- Nemesis Myš: Levé tlačítko selekce Prostřední tlačítko rotace Levé tlačítko posun Kolečko zoom Modifikátory: Shift XZ -> Y pohyby Ctrl přepíná mezi sekundárním a primární m manipulátorem C7800 Počítačová chemie a molekulové modelování I - cvičení -44Cvičení I 1. Načtete do programu Avogadro molekulu ze souboru water.xyz 2. Proveďte optimalizaci její geometrie. Jaké je optimální délka vazby a vazebný úhel? 3. Zobrazte molekulu v různých grafických reprezentacích. 4. Načtete do programu Nemesis molekulu ze souboru water.xyz 5. Zobrazte molekulu v různých grafických reprezentacích. 6. Proveďte optimalizaci její geometrie. Jaké je optimální délka vazby a vazebný úhel? Srovnejte s výsledky získanými v programu Avogadro. Vysvětlete případné rozdíly. C7800 Počítačová chemie a molekulové modelování I - cvičení -45Cvičení II 1. V programu Nemesis nakreslete strukturní vzorec molekuly benzoové v projektu Sketch Structure 2. Převeďte molekulu do 3D reprezentace. Ohodnoťte kvalitu převodu. 3. V programu Nemesis nakreslete strukturní vzorec molekuly cyklohexanu v projektu "Sketch Structure" 4. Převeďte molekulu do 3D reprezentace. Ohodnoťte kvalitu převodu.