Otevřená věda (Open Science) je zastřešující označení pro soubor mnoha různých pojmů a postupů zajišťujících otevřenost vědeckého procesu. Má za cíl učinit vědecké poznání otevřeně dostupné, přístupné a opakovaně použitelné pro každého. Usnadňuje šíření výsledků a znalostí, kumulaci vědeckého poznání a ověřitelnost závěrů. V tomto kontextu hraje MATLAB důležitou roli a níže uvedu několik příkladů, jak lze využít software MATLAB ve světě otevřené vědy.
Otevřená věda klade důraz na transparentnost metod vědeckého výzkumu. MATLAB umožňuje výzkumníkům vytvářet interaktivní dokumenty Live Scripts, které kombinují kód, textové i grafické výstupy, formátovaný text, obrázky a ovládací prvky. Tímto způsobem mohou vědci snadno sdílet své postupy a výsledky s kolegy a veřejností. Live Script lze sdílet přímo i vyexportovat do dokumentu PDF, Word, HTML, LaTeX, Markdown nebo Jupyter Notebook. Publikování Live Scriptu usnadňuje fakt, že vyexportovaný dokument vypadá jako ten, co v MATLABu editujeme.
Jupyter Notebook je populární prostředí pro otevřené vědecké
projekty, které kombinuje formátovaný text a zdrojový kód s výsledky
výpočtů. Zdrojový kód může být psaný v libovolném z řady
podporovaných programovacích jazyků a jeho spuštění zajišťuje
uživatelem zvolený kernel pro daný jazyk. Společnost MathWorks
nedávno vydala oficiální MATLAB kernel pro Jupyter Notebook, díky
kterému lze uvnitř Jupyter Notebooku psát a spouštět kód psaný v jazyce
MATLAB. Výzkumníci tak mohou používat jim známý MATLAB kód ve spojení
s Jupyter Notebooks. Od poslední verze MATLABu, R2023b, umí navíc funkce
export
vygenerovat Jupyter Notebook z existujícího Live Script
dokumentu. MATLAB lze zaintegrovat do víceuživatelského prostředí
JupyterHub, což uživatelům zpřístupní MATLAB Desktop
i MATLAB kernel pro Jupyter Notebook přes webový prohlížeč.
Spolupráce mezi různými vědci si často vyžaduje i spolupráci napříč různými programovacími a výpočetními prostředími. MATLAB dlouhodobě podporuje a neustále vylepšuje obousměrnou integraci s jinými populárními programovacími jazyky a systémy jako jsou C, C++, Python, Java, .NET a COM. MATLAB z nich lze volat a z MATLABu lze volat je. Návody pro oba směry integrace i s příklady jsou podrobně popsány v dokumentaci MATLABu a Humusoft na toto téma nabízí školení. V případě zájmu o školení nás kontaktujte.
Důležitou součástí otevřené vědy je sdílení kódu a softwaru. Výzkumníci mohou sdílet svůj MATLAB kód na platformách jako File Exchange, což umožňuje ostatním vědcům volný přístup k jejich výzkumu. File Exchange obsahuje více než 40 000 open source toolboxů, aplikací a nástrojů vytvořených v MATLABu nebo pro MATLAB. Můžete je přidávat i odebírat přímo z panelu nástrojů prostředí MATLAB přes tlačítko Add-Ons.
Oblíbenou platformou pro sdílení repozitářů vytvořených v libovolném programovacím jazyce je GitHub. Pro zvýšení dosahu Vašeho GitHub repozitáře jej můžete propojit s File Exchange. Uživatel z File Exchange získá přidáním či stažením takto propojeného repozitáře vždy nejaktuálnější verzi repozitáře z GitHubu. K libovolnému repozitáři na GitHubu může navíc kdokoli vygenerovat odkaz, přes který se repozitář otevře v MATLAB Online. Společnost MathWorks službou MATLAB Online, mobilní aplikací MATLAB Mobile a cloudouvým uložištěm MATLAB Drive zpřístupňuje MATLAB přes webový prohlížeč nebo na mobilních telefonech.
Pro otevřenou vědu je důležitý nejen otevřený přístup k samotnému kódu, ale i možnost jej spouštět a reprodukovat autorovy výsledky. Řada odborných časopisů vyžaduje, aby byl kód k dispozici na platformě, která toto umožňuje, například na CodeOcean. MATLAB je dostupný online (MATLAB Online, Simulink Online), na různých cloudech (AWS, Azure), HPC centrech, ale i na tzv. Science Gateways – CodeOcean, NanoHub, NMRbox, iSTEM, EGI a další. To umožňuje vědcům pracovat a spolupracovat na svých projektech z různých míst. Nahráním MATLAB kódu například na CodeOcean zpřístupníte jeho reprodukovatelné spuštění jiným výzkumníkům či recenzentům.
Oblíbeným nástrojem pro snadnou přenositelnost a reprodukovatelnost výsledků je i tzv. kontejnerizace. Pro práci s MATLABem lze využít předsestavené kontejnery či sestavit vlastní kontejner s MATLABem. Potřebujete-li aplikaci vytvořenou v MATLABu sdílet s někým, kdo MATLAB nepoužívá, poslouží Vám MATLAB Compiler. Kromě samostatně spustitelné aplikace či webové aplikace můžete pomocí MATLAB Compileru vygenerovat a sdílet Docker kontejner s aplikací.
Science Gateways i další cloudové služby usnadňují vědecké komunitě přístup k otevřeným datům a výpočetním zdrojům. Díky integraci do těchto služeb lze MATLAB algoritmy spouštět přímo tam, kde jsou data centrálně spravována. Například European Grid Infrastructure (EGI) hostuje MATLAB jako součást svého prostředí JupyterHub. Výzkumnící mohou MATLAB spouštět na výpočetních zdrojích EGI a přímo přistupovat k datům na jejich cloudu bez stahování. MATLAB Online zase běží na AWS serverech a díky tomu v něm lze snadno a rychle přistupovat k AWS open data registry.
Otevřená věda je klíčovým prvkem současného výzkumu a vývoje. Otevřenost vědeckého procesu neznamená, že používané nástroje musí být open-source, ale zdůrazňuje transparentnost, sdílení a spolupráci v rámci vědeckého výzkumu. MATLAB hraje důležitou roli v podpoře otevřené vědy a umožňuje vědcům efektivněji sdílet svůj výzkum a znalosti s globální komunitou. To přispívá k růstu vědeckého poznání a zvyšuje důvěryhodnost vědy a výzkumu. Díky celosvětovému rozšíření licenčních modelů Campus-Wide a Institut-Wide má v současnosti několik milonů vědců, učitelů a studentů (včetně studentů a zaměstnanců dvacítky univerzit z České republiky a Slovenska) neomezený přístup k prakticky všem nadstavbám systému MATLAB a dalším službám. V článku uvedené nástroje mohou posloužit všem vědeckým pracovníkům, aby jejich výzkum vedený s využitím prostředí MATLAB splňoval požadavky Open Science. Další užitečné informace najdete pod následujícími odkazy nebo se můžete obrátit na náš Humusoft tým.
Jan Studnička (HUMUSOFT), 01.11.2023