Výpočetní metody v bioinformatice a systémové biologii

Týden 8 - Integrace dat prostřednictvím biologických sítí

1) Integrace dat a jejich anotací v kontextu sítí


Proveďte v genové ontologii enchrichment analýzu pro genovou sadu "IFNA1 IFNB1 NFKB1" (v kategorii GO_biological_process).

Typy sítí, integrace informace na úrovni různých typů hran mezi uzly.

Prohledejte na NDEx sítě odpovídající genové sadě "IFNA1 IFNB1 NFKB1".

Do Cytoscape přidejte plugin (app) BINGO. 

Nastudujte možnosti pluginu BINGO dle tutoriálu. Tutoriál je vyvinut pro starší verzi Cytoscape, proto je třeba z něj vzít základní postup a ten potom použít s novou verzí, kde jsou některé funkce zjednodušeny nebo lehce pozměněny (nejedná se o drastické změny, touto investigací navíc získáte hlubší znalost filosofie Cytoscapu).

Načtěte v Cytoscape pomocí NDEx vyhledávače síť "SARS-COV CYTOKINE STORM". Prozkoumejte data v uzlech a hranách.

Pomocí pluginu BINGO proveďte enrichment analýzu genového setu  "IFNA1 IFNB1 NFKB1" vzhledem ke kompletní anotaci sítě. 


Příklad .cys souboru s výsledky analýzy:


2) Mapování názvů biologických entit pomocí knihovny Biopython

  • Použijte knihovnu Biopython pro nalezení co nejvíce možných označení (aliasů, synonym apod.) genů IFNA1, IFNB1, NFKB1.
    • Poznámka k možnému postupu - může se hodit například Entrez API knihovny Biopython k rozhraní Entrez institutu NCBI/NIH, pomocí nějž se dá vytáhnout řada informací z genové databáze NCBI (mezi jinými např. různá doporučená či alternativní pojmenování jednotlivých genů). Manuálně by mělo být nutné de facto pouze zjistit identifikátory příslušných genů v dané databázi, aby ji bylo možné správně dotazovat.
  • Použijte knihovnu Biopython pro nalezení co nejvíce možných označení (aliasů, synonym apod.) proteinových produktů genů IFNA1, IFNB1, NFKB1.
    • Poznámka k možnému postupu - může se hodit například SeqIO API knihovny Biopython, pomocí nějž se dá vytáhnout řada informací z proteinové databáze UniProt přímým dotazováním a rozparsováním URL XML záznamů o příslušných proteinech. Z výsledku pak lze vytahat řadu informací o daných proteinech (mezi jinými např. jejich různá doporučená či alternativní pojmenování).  Manuálně by mělo být nutné de facto pouze zjistit UniProt accession IDs příslušných proteinů, aby bylo možné správně zkonstruovat dotazovaná URL.
  • Zamyslete se nad následujícím:
    • Do jaké míry se různá pojmenování pro geny a jejich produkty liši a/nebo překrývají?
    • Myslíte si, že to je problém, ať už obecně, nebo v případě těchto tří konkrétních genů?
    • Dal by se celý proces mapování genů na jejich proteinové produkty a příslušná doporučená a alternativní pojmenování automatizovat ještě o něco lépe? Jak byste na to případně zkoušeli jít?

Příklad .ipynb notebooku s implementací mapování:


3) Zadání projektu - automatická anotace textů termíny z biologických sítí a databází pomocí knihoven Biopython a ScispaCy (celkem max. 15 bodů)

  • Založte si Python notebook (např. v platformě Jupyter Lab nebo Notebook, případně Google Colab), v němž vypracujete celý projekt k odevzdání (ve formě funkčního kódu s výstupy a stručných, ale výstižných textových komentářů ke každému níže zmíněnému kroku).
  • Použijte Entrez API knihovny Biopython k vyhledávání v databázi PubMed a získání titulů a abstraktů článků, které se zabývají souvislostí kteréhokoli z genů IFNA1, IFNB1 nebo NFKB1 (či jejich proteinových produktů) s nemocí Covid19. Výsledky tohoto vyhledávání budou váš textový korpus. [max. 5 bodů]
  • Pokuste se vyextrahovat z tohoto korpusu jména genů a proteinů pomocí nějakého předtrénovaného modelu pro úkol "biomedical named entity recognition", které jsou k dispozici v knihovně [max. 5 bodů]
  • Pokuste se vylepšit pokrytí tohoto modelu (je-li to nutné) alespoň pro entity odpovídající genům IFNA1, IFNB1 a NFKB1 pomocí seznamů aliasů vytvořených v rámci úkolu 2) výše. [max. 3 body]
  • Přímo v notebooku v textové buňce stručně analyzujte vaše výsledky a shrňte hlavní "lessons learned" (co fungovalo dobře, co hůře, co jste si z toho odnesli). [max. 2 body]
  • Vytvořený Python notebook uložte spolu se všemi výstupy vašich kódových buněk a odevzdejte do 22.05. 2022 (včetně) do odevzdávárny PROJEKT-ANOTACE-TEXTU.