Hlavní navigace

Epi Info v DOSBoxu

21. 7. 2004
Doba čtení: 13 minut

Sdílet

Prostřednictvím aplikace DOSBox je možné spouštět na jiných operačních systémech aplikace, které jsou určeny pro operační systém DOS. Autoři mysleli při psaní tohoto programu především na klasické DOSovské hry. Avšak v DOSBoxu lze nainstalovat a spustit i programy s ryze vědeckým posláním. O to lépe, že nemají speciální nároky na grafiku a zvuk. Jedním z takto spustitelných programů je i statistický public domain program Epi Info.

Epi Info je vynikající statistický software šířený jako public domain za podpory WHO, která také iniciovala a zaplatila jeho vývoj. Je volně ke stažení včetně manuálů a příbuzných programů Epi Map (pro grafické znázornění výskytu chorob a rizikových faktorů prostřednictvím různě vybarvených map) a Do Epi (k výuce epidemiologie). Volně ke stažení je rovněž verze pro Windows

Oproti jiným statistickým software má Epi Info jednu zásadní výhodu: Do značné míry hlídá uživatele při práci a hlásí mu případy, kdy struktura a rozsah zadaných dat nejsou v souladu se vstupními parametry požadovaných statistických testů (pochopitelně je spočítá, takže na rozdíl od nejmenovaných kancelářských systémů uživateli nic nevnucuje, ale ohlásí, že výsledek má omezenou platnost, a vypočte i test alternativní, je-li nějaký k dispozici). To je výhodné zejména pro studenty jiných oborů, než je matematická statistika, kteří jsou schopni v tabulkových procesorech typu Excel napočítat spousty výsledků, majících ovšem pouze hodnotu informačního šumu.

Obecná použitelnost Epi Info je natolik vysoká, že pokud nevystačíme s tím, co nabízí, nebudeme pravděpodobně uspokojeni ani statistickými funkcemi tabulkových procesorů a podobných programů, ale budeme se muset ponořit do R systému nebo sáhnout hluboko do kapsy k nákupu profesionálního software (na cenové úrovni přibližně: roční licence na jeden počítač v desítkách tisíc Kč).

Kromě základních statistických výpočtů umí Epi Info také importovat a exportovat data z a do různých databázových formátů (import.exe, export.exe), umí slučovat databáze (merge.exe). Modul analysis.exe umí kromě samotných statistických výpočtů také rozdělovat databáze, generovat nové znaky získané výpočtem ze zadaných, a navíc i zaplnit databázi náhodně vygenerovanými hodnotami o určitých parametrech, což lze využít v rámci výuky statistiky. Modul statcalc.exe umí vypočítat pravděpodobnost zachycení určitého jevu, jehož frekvenci výskytu přibližně známe, v náhodně vybraném vzorku populace (např. jestliže je zrzavých přibližně 1 %, tak s jakou pravděpodobností bude alespoň jeden zrzavý mezi 50 náhodně vybranými lidmi) a jak velké vzorky jsou zapotřebí pro průkaz statistického rozdílu (abychom zůstali u těch zrzavých: jak velký soubor náhodně vybraných mužů a žen musíme vyšetřit, abychom prokázali jako významný na zadané hladině statistické významnosti případně existující rozdíl mezi pohlavími, činící 0,1 %) a navíc propočítává ručně zadané tabulky chí-kvadrát testem (v případě tabulek 2×2 o malém počtu číslel v jednotlivých buňkách nabízí i Fischerův exaktní test). Epi Info obsahuje i textový editor, jehož možnosti jsou zhruba na úrovni MS DOSovského edit.exe. Modul enter.exe umí ze zadané textové předlohy vytvořit virtuální dotazník, který slouží k zadávání dat. Jeho obrovskou výhodou je, že každý vyplněný formulář se ihned zapíše na disk, takže při pádu systému (vypnutí proudu apod.) přijdeme pouze o poslední rozepsaný formulář.

Pomocný modul check.exe umožňuje učinit formulář ještě „blbuvzdornějším“ tím, že je možné pro jednotlivé položky přednastavit možné hodnoty (např. je možné vložit u dané položky pouze hodnoty A, B a C, ale už ne jiné písmeno, u numerických položek je možné nastavit minimum a maximum), což snižuje pravděpodobnost překlepu.

Velké projekty využijí modul validate.exe, který je schopen porovnat dvě databáze a najít případně položky, ve kterých se liší. Pracuje se s ním tak, že dva nezávislé týmy zapíšou tatáž data ve stejném pořadí a počítač databáze porovná; považuje se za krajně nepravděpodobné, že by dva nezávislé týmy udělaly v tom samém místě tu samou chybu; bylo prokázáno, že uvedený postup dá méně práce (především u velkých souborů dotazníků / formulářů) než porovnání původních dat se sjetinou z počítače.

Epi Info je primárně určeno pro statistické výpočty, analyzující výskyt znaků nemoci/zdraví v populaci a znaků zdravotního rizika. Je obecně použitelné i v klinických studiích (např. porovnání účinnosti různých léků – léčebných postupů). Úspěšně se používá i v oborech pedagogických (např. epidemiologická anylýza výskytu závadových jevů jako alkohol, kouření, drogy, šikana; ale i např. úspěšnosti různých pedagogických postupů). Není vhodné pro analýzu ryze psychologických jevů nebo naopak jevů ryze technických (např. zmetkovost na lince pracující bez zásahu člověka). Je ale potenciálně použitelné všude tam, kde se na analyzovaném jevu podílí lidský faktor (oproti předchozímu příkladu je použitelné pro analýzu zmetkovitosti výrobků na lince ve vztahu k pohlaví, stáří a délce praxe dělníků u ní). Dá se použít i v marketingových studiích, v analýzách spokojenosti zákazníků s různými variantami téhož výrobku apod.

Dědictvím dřevních dob, kdy PC měly 640 kB operační paměti, je samospustitelnost jednotlivých modulů (na silnějších počítačích může jednotlivé moduly spouštět centrální program epi6.exe s menu všech modulů).

Výše zmíněná verze pro Windows se v praxi příliš neujala zejména proto, že si není schopna poradit s načtením dat ve formátu Epi Infu pro DOS vlastním (.REC), takže přechod na ni by vedl ke ztrátě přístupu k archivovaným da­tům.

Z tohoto důvodu existuje v praxi snaha udržovat v chodu původní DOSovou verzi. Problém Epi Info pro DOS nastává u Windows98 a vyšších, kdy v některých instalacích jdou spouštět pouze jednotlivé moduly, v některých pak přestávají fungovat i ty. Je také jasné, že Epi Info se jako DOSový program nedá přímo spustit pod Linuxem nebo jiným Unix / Unix-like operačním systémem.

Z důvodů zvyku, uživatelské příjemnosti systému i jeho stálého využívání ve výzkumu i pedagogické činnosti jsem hledal možnosti, jak tento program udržet v chodu i po přechodu na Linux. Nejprve jsem zavrhl Dosemu (vyžadující originální DOS někde v počítači) a nakonec i Wine (není dostupné pro Windows XP, které má na svých PC vícero kolegů). Posléze jsem se dobral programu DOSBox. Uvedený program je dostupný (v sekci downloads) pro Windows 9×, 2000, NT a XP a pro Linux (zdrojový text + balíčky pro Debian, RedHat a SuSe, zdroje pro Gentoo), dále pro Macintosh, BeOS, FreeBSD, Amiga68k. Je šířen pod GPL.

Instalace pod Windows

Instalace pod Windows probíhá klasicky jako instalace hry či běžného programu. Instalační soubor se s velkou rezervou vejde na jednu disketu. DOSBox je možné spouštět poklepem na ikonu v okně jeho adresáře nebo vytvořit zástupce a přesunout na plochu. (Na rozdíl od některých her tedy instalátor nenabízí automatické vytvoření ikony na ploše.)

Instalace na linuxu (Mandrake 10 Community pack)

Použil jsem balíček .rpm pro RedHat. Otevřel jsem ho jako root Midnight Commanderem. Po krátké prodlevě – závisí na výkonnosti systému – se mi balíček zobrazil jako obsah adresáře. V něm jsem – najetím na něj a odklepnutím klávesy Enter – aktivoval soubor INSTALL z Midnight Commanderu. Instalátor zaprotestoval, že není nainstalovaná knihovna libSDL_net-1.2.so.0. Po jejím doinstalování pomocí rpmdrake (z CD č. 2) se po spuštění INSTALL program bez dalších chybových hlášení nainstaloval. Dá se spustit z virtuální konzole příkazem dosbox. (K instalaci balíčku by se dal použít i ten rpmdrake, pokud bych mu do databáze vložil adresář/inter­netovou adresu balíčku jako další zdroj, dají se použít i konzolové nástroje pro práci s balíčky; uvedený postup uvádím jako „cestu nejmenšího odporu pro lamu, jako jsem já“.

Spuštění DOSBoxu a připojení adresáře jako disku

Po spuštění se na ploše (Windows, KDE) objeví okno podobné virtuální konzoli nebo DOSovskému oknu pod windows. V něm se hlásí DOS na disku Z (jedná se o virtuální disk, do něhož se nedá nic kopírovat). Jako další disky (C – Y) je možné připojit jednotlivé adresáře s DOSovskými programy. Podmínkou je, že cesta k adresářům musí být DOS kompatibilní, tedy názvy všech adresářů v cestě musejí být do osmi písmen (případně + tečka a nanejvýš tři písmena za ní). DOSBox v Linuxu akceptuje oddělení adresářů lomítkem „/“, na začátku cesty v Linuxu je lomítko. V Linuxu je DOSBox citlivý na velká a malá písmena v názvech adresářů.

Jestliže mám na linuxovém počítači adresář EpiInfo v adresáři /home/ja, připojím ho jako disk C příkazem

mount c /home/ja/EpiInfo

Úspěšné připojení je ohlášeno tak, že adresář citovaného jména byl připojen jako disk C. Při zadání špatného jména některého z adresářů (např. překlep), ohlásí DOSBox neexistující adresář.

Na windowsovském počítači stojí na začátku cesty písmeno disku s adresářem a užívají se zpěná lomítka (tedy na způsob

mount c D:\DOS\EpiInfo).

Do disku (tj. připojeného adresáře) C se přesuneme DOSovským příkazem pro změnu disku (C:).

Instalace EpiInfo

Vytvoříme si ve svém systému pomocný adresář s DOS-kompatibilním názvem a do něj (prostředky svého OS) stáhneme instalační soubory (epi604_1.exe, epi604_2.exe, epi604_3.exe, případně epi6man.exe – z výše uvedené domovské adresy projektu Epi Info). Spustíme DOSBox, připojíme tento adresář a uvedené soubory jeden po druhém spustíme (jsou to samorozbalovací .exe vytvořené programem ARJ). Vznikne velký počet souborů včetně souboru install.exe. Ten pro své spuštění požadoval soubor Z:COMMAND.COM, který existuje, o čemž se můžeme přesvědčit příkazem dir v disku Z; tento program ho ale buď neviděl, nebo si s ním nerozuměl. Nicméně zásadní význam mají vybalené soubory FILES01.EXE až FILES16.EXE (chybí FILES04.EXE). Ty zkopírujeme do dalšího pomocného adresáře (prostředky svého OS), který připojíme k DOSBoxu, a programy jeden po druhém spustíme (v přirozeném pořadí 01 – 16). Asi dvakrát nebo třikrát jsme tázáni na přepsání stejnojmenného již rozbaleného souboru, které zakážeme.

Rozbalené soubory přesuneme do adresáře Epi6 a můžeme spouštět jednotlivé moduly programu EpiInfo.

Spuštění Epi Info

Moduly spouštíme klasicky po DOSovsku vypsáním jména na příkazový řádek. Spuštění zastřešujícího modulu Epi6 se nám takto nezdaří, protože Epi6 vyžaduje umístění v adresáři EPI6 (zatímco náš adresář je brán jako disk). Je tedy nutno buď mít připojen k DOSBoxu adresář tomuto adresáři nadřazený (např. vytvoříme adresář DOS a v něm adresář Epi6 a jako disk C přimountujeme k DOSBoxu adresář DOS), nebo vytvořit podadresář EPI6 a do něj přesunout rozbalené soubory.

Menu (epi6.exe) umožňuje volbu pomocí myši nebo stiskem kláves s písmeny vyznačenými v klíčových slovech menu. Při použití myši můžete být zaskočeni tím, že je „uvězněna“ v okně DOSBoxu a běžnými intuitivními způsoby (mimo jeho vypnutí) se z toho nedostanete. Řešení nalezneme v manuálu programu DOSBox (pod Linuxem příkazem man dosbox, pod Windows FIXME si přečteme soubor README v adresáři DOSBoxu), který je součástí instalace: současné stisknutí kláves Ctrl a F10. V manuálu se dočtete i jak přizpůsobit výkon DOSBoxu vašemu počítači, jak připravit/upravit konfigurační soubor apod.

Pro uživatele jistého nejmenovaného většinového operačního systému speciálně: V jiných operačních systémech je naprosto běžné, že help (manuál) přináší konkrétní a téměř vyčerpávající informace o ovládání programu, takže se opravdu vyplatí tyto dokumenty číst. Jediný problém může nastat v tom, že některé pasáže mohou obsahovat slang nesrozumitelný tomu, kdo nestudoval informatiku/po­čítače na vysoké škole v anglofonní zemi.

Z hlavního modulu můžeme spouštět jednotlivé další moduly Epi Info, prohlížet tutorial a číst manuál.


Práce s Epi Info

V libovolném textovém editoru vytvoříme předlohu pro virtuální dotazník (textový soubor s příponou .QES). V ní je uveden text formuláře, který se objeví na obrazovce, a typy jednotlivých otázek (ano-ne, písmeno, číslo s pevným počtem číslic před a za desetinnou čárkou, libovolný text o pevně daném počtu znaků + několik znaků speciálních). Uvedený text je modulem enter při první otevření zpracován a je podle něj vytvořen soubor .REC obsahující záhlaví s údaji k vytvoření virtuálního formuláře a následně záznamy jednotlivých formulářů. V případě větších projektů lze pomocí modulu check vytvořit pomocný soubor .CHK, který (s pascaloidní syntaxí) udává k jednotlivým položkám limitní hodnoty nebo seznam možných hodnot. Lze jej nastavit i tak, že při vyplnění určité možnosti jedné otázce mohou být některé otázky přeskočeny nebo vyplněny přednastavenou hodnotou (např. v dotazníku šetřícího vlastní péči respondentů o jejich zdraví lze přednastavit, že po vyplnění položky „pohlaví“ odpovědí „M“ budou přeskočeny otázky na samovyšetřování prsů a četnost návštěv u gynekologa).

Manuál programu Epi Info (v angličtině) podrobně popisuje obsluhu programu včetně odkazů na vědecké práce z nichž se vycházelo při programování algoritmů jednotlivých funkcí. Jsou zde také vyčerpávajícím způsobem popsány výše zmíněné interní formáty .qes .rec a .chk. Tutorial je zaměřen více na širší problematiku plánování, provádění a hodnocení epidemiologických studií.
Je velmi vhodné se s ním seznámit ještě před započetím sběru dat. Mnozí studenti (především nelékařských oborů) si ani neuvědomují, že vlastně provádějí epidemiologickou studii – třeba v rámci své diplomové práce. A že taková studie má své zákonitosti a některé postupy na tomto úseku jsou již desítky let podrobně rozpracovány. K jejich štěstí si to občas neuvědomují, zejména na jiných fakultách než lékařských, ani jejich oponenti a členové státnicových komisí ;-) .
Na druhé straně si ovšem mnozí kovaní matematikové neuvědomují, že nad vrstvou matematické statistiky leží nadřazená vrstva epidemiologické studie, která teprve dává té matematice smysl. (Opět klasický příklad: Je statisticky prokázáno, že tuberkulózní krávy dávají více mléka. Jistě by se našli mnozí, kdo by po tomto zjištění oběhli chovy krav s kulturami TBC za účelem zvýšení dojivosti – ostatně Mycobakterium tuberculosis ani Mycobacterium bovis pasteračním přístrojem v mlékárně živí neprojdou, jenže on platí vztah přesně opačný: Kráva, která má větší dojivost, se více vyčerpává a má větší riziko, že onemocní tuberkulózou. Tohle už se čistě matematicky prokázat nedá, na to musíte sáhnout „o vrstvu výš“ a naplánovat epidemiologickou studii – byť s použitím aparátu matematické statistiky.)
Přímo z modulu analysis.exe je možné spustit pro jednotlivé statistické funkce jedno až víceobrazovkový help, obsahující jak informaci „co to vlastně spočítá“, tak i korektní syntaxi jejího volání.
Posledních cca 20 příkazů lze uložit do textového souboru k opakovanému použití, takovýto soubor s příkazy modulu analysis (text s příponou .PGM) lze vytvořit na libovolném textovém editoru a spustit z modulu. Výsledky analýzy lze přesměrovat do textového souboru a později prohlížet ve vhodném textovém editoru.

Epi Info a čeština

Epi Info toleruje použití českých písmen v textu formuláře. Mohou být zapsána i do vyplňovaných formulářů, problém je s existencí několika vzájemně nekompatibilních způsobů kódování znaků s diakritikou v operačním systému DOS. Pokud jsou české znaky použity jako součást názvu znaku, jsou vypuštěny. Veškerá originální dokumentace a help jsou v angličtině.

Státní zdravotní ústav na začátku 90. let vytvořil počeštěný modul epi6.exe a vydal českou verzi manuálu. Z větší části byl počeštěn i help (tj. v některých větvích nebo při návratech se objevil anglický text). Manuál v české verzi se mi tč. nepodařilo najít na Internetu, jako tištěná skripta by mohl být na jednotlivých hygienických stanicích, Státním zdravotním ústavu a na pracovištích 3. lékařské fakulty UK (dříve hygienické), protože tato pracoviště využívala Epi Info nejvíce.

Rychlost

Je nutné se připravit na to, že DOSBox není z nejrychlejších a citelně brzdí i chod dalších programů v operačním systému (zřetelně je vidět např. výrazné zpomalení animací v šetřiči obrazovky). Na stránkách věnovaných hrám pod DOSBoxem se uvádí, že Pentium zpracovává DOSovský program rychlostí porovnatelnou s procesorem Intel 80 286. (Nicméně – EpiInfo chodilo i na PC s procesory řady XT.)

V DOSBoxu při spuštění v základním nastavení nejsou dostupná česká písmena (tj. editor T602 tu bez dalšího konfigurování nepoužijeme), na některých OS jsou napevno v pravé (kalkulačkové) části klávesnice nastaveny šipky a nejde to přepnout klávesou NumLock. Tyto problémy by měly být řešeny vytvořením a editací konfiguračního souboru (dle manuálu, případně dokumentace na stránkách projektu), stejně tak existují způsoby, jak DOSBoxu při užívání konkrétního programu na konkrétním počítači nastavit na maximální možnou rychlost, nicméně do těchto úprav jsem se už nepouštěl.

root_podpora

V současnosti mi postačuje přístup k základním funkcím Epi Info, možnost zpracovávat archivní soubory, případně komunikovat s diplomanty, kteří Epi Info využívají v rámci své práce, aniž bych musel shánět starší počítač s operačním systémem DOS. A mám rovněž vyřešen problém diplomantů, kterým Epi Info na jejich hypermoderním počítači s většinovým operačním systémem nešlo spustit.

Zkrátka – díky náruživým hráčům, kteří se odmítli rozloučit se svými oblíbenými DOSovskými hrami, je možno používat i tento ryze vědecky zaměřený program. Takže: Díky vám, pařani!

Byl pro vás článek přínosný?

Autor článku