February 23rd, 2019
Prezentujemy protokół i związany z nim kod programistyczny, a także próbki metadanych, aby wspierać opartą na chmurze automatyczną identyfikację skojarzenia fraz i kategorii reprezentujących unikalne koncepcje w wybranej przez użytkownika dziedzinie wiedzy w literaturze biomedycznej. Powiązanie frazy-kategorii określone ilościowo przez ten protokół może ułatwić dogłębną analizę w wybranej dziedzinie wiedzy.
Nasz protokół zapewnia krok po kroku miarę budowania opartej na chmurze platformy wyszukiwania fraz dla zdefiniowanego przez użytkownika powiązania kategorii podmiotów, w celu oceny związku białek, genomów lub substancji chemicznych z określonymi chorobami. Głównymi zaletami tej techniki są jej zwiększona wydajność w porównaniu z ręczną oceną powiązań kategorii jednostek, zwiększona dostępność i wykorzystanie narzędzi do eksploracji fraz w szeroko rozpowszechnionych zastosowaniach badań biomedycznych. Użytkownicy mogą wybierać podmioty i kategorie zainteresowań w publikacjach biomedycznych lub w dokumentach tekstowych powiązanych z określonymi słowami kluczowymi.
Nowi użytkownicy mogą postępować zgodnie z naszym protokołem i odniesieniami podanymi w manuskrypcie, a także zgłaszać problemy techniczne w naszym repozytorium GitHub. Wizualna demonstracja tej kwestii zwiększa przejrzystość sposobu wykonywania protokołu i zachęca do wdrażania nowatorskich narzędzi do eksploracji tekstu. Aby utworzyć sześcian tekstowy, najpierw pobierz najnowsze dostępne nagłówki tematów medycznych lub drzewo siatki.
Kod drzewa siatki 2018 jest MESHTree2018. bin i należy go wprowadzić do katalogu wejściowego. Zdefiniuj interesujące kategorie przy użyciu jednego lub kilku deskryptorów siatki i zbierz identyfikatory siatki dla kategorii.
Zapisz nazwy kategorii w pliku textcube_config. json w katalogu config i dodaj zebrane kategorie identyfikatorów siatki w wierszu oddzielonym spacją. Zapisz plik kategorii jako kategorie.
txt w katalogu wejściowym. Ten algorytm automatycznie wybiera wszystkie deskryptory siatki potomnej. Upewnij się, że mesh2pmid.
Kod JSON znajduje się w katalogu danych. Jeśli drzewo siatki zostało zaktualizowane o inną nazwę w katalogu wejściowym, upewnij się, że jest ona prawidłowo reprezentowana w ścieżce danych wejściowych w run_textcube. py pliku.
Aby utworzyć strukturę dokumentu o nazwie text-cube, wprowadź python run_textcube. py w terminalu, aby utworzyć kolekcję dokumentów dla każdej kategorii. Pojedynczy dokument może należeć do wielu kategorii.
Po zakończeniu kroku tworzenia modułu tekstowego upewnij się, że komórka tabeli PMID jest zapisana w katalogu danych jako textcube_cell2pmid.json. Identyfikator PMID do tabeli mapowania komórek jest zapisywany w katalogu danych jako textcube_pmid2cell.json. Zbiór wszystkich warunków siatki podrzędnej dla komórki jest zapisywany w katalogu danych jako meshterms_per_cat.json.
Statystyki danych modułu tekstowego są zapisywane w katalogu danych jako textcube_stat.txt. Następnie przejdź do katalogu dziennika, aby odczytać komunikaty dziennika w textcube_log. txt, na wypadek, gdyby ten proces się nie powiódł.
Jeśli proces zakończy się pomyślnie, komunikaty debugowania dotyczące tworzenia kostki tekstowej zostaną wydrukowane w pliku dziennika. Dla liczby jednostek utwórz jednostki zdefiniowane przez użytkownika, umieszczając jedną jednostkę i jej skróty w jednym wierszu, oddzielone symbolem linii pionowej. Zapisz plik encji jako jednostki.
txt w katalogu wejściowym i upewnij się, że serwer Elasticsearch jest uruchomiony. Jeśli na serwerze Elasticsearch znajduje się indeksowana baza danych o nazwie PubMed, potwierdź obecność textcube_pmid2cell. json w katalogu danych i wprowadź run_entitycount python.
py w terminalu, aby wykonać operację zliczania jednostek. Po zliczeniu wszystkich dokumentów z bazy danych indeksu i liczby jednostek w każdym dokumencie oraz zebraniu identyfikatorów PMID, w których znaleziono jednostki, zapisz końcowe wyniki jako liczbę jednostek. txt i entityfound_pmid2cell.
json w katalogu danych. Następnie otwórz katalog dziennika, aby odczytać komunikaty dziennika w entitycount_log. txt, na wypadek, gdyby ten proces się nie powiódł.
Jeśli proces zostanie zakończony pomyślnie, komunikaty debugowania liczby jednostek zostaną wydrukowane w pliku dziennika. Upewnij się, że wszystkie dane wejściowe znajdują się w katalogu danych. Są to dane wejściowe dla aktualizacji metadanych.
Aby przygotować kolekcję metadanych, wprowadź python run_metadata_update. py w terminalu, aby zaktualizować metadane. Po zakończeniu aktualizacji metadanych upewnij się, że metadata_pmid2pcount.
Pliki JSON i metadata_cell2pmid. json są zapisywane w katalogu danych. Przejdź do katalogu dziennika, aby odczytać komunikaty dziennika w metadata_update_log.
txt, na wypadek, gdyby ten proces się nie powiedzie. Jeśli proces zostanie zakończony pomyślnie, komunikaty debugowania aktualizacji metadanych zostaną wydrukowane w pliku dziennika. Aby uzyskać kontekstowe semantyczne obliczanie wyniku analitycznego przetwarzania online, potwierdź obecność metadata_pmid2pcount.
json i metadata_cell2pmid. json w katalogu danych. Są to dane wejściowe do obliczenia wyniku.
Wprowadź run_caseolap_score. py pythona w terminalu, aby wykonać kontekstowe semantyczne obliczanie wyniku analitycznego przetwarzania online jednostek na podstawie kategorii zdefiniowanych przez użytkownika. Wynik jest wypadkową uczciwości, popularności i odrębności.
Po zakończeniu obliczania wyniku upewnij się, że wyniki zostały zapisane w katalogu wyników. Następnie uzyskaj dostęp do katalogu dziennika, aby odczytać komunikaty dziennika w caseolab_score_log. txt, na wypadek, gdyby ten proces się nie powiedzie.
Jeśli proces zakończy się pomyślnie, komunikaty debugowania dotyczące obliczania wyniku caseolab zostaną wydrukowane w pliku dziennika. Korzystając z uzyskanych metadanych i statystyk z czterech podkategorii grup wiekowych niemowląt, dzieci, młodzieży i dorosłych, można wyświetlić porównanie liczby dokumentów między komórkami sześcianu tekstowego. W tym przypadku podkategoria dla dorosłych zawiera największą liczbę we wszystkich komórkach, przy czym podkategorie dla dorosłych i nastolatków mają największą liczbę udostępnionych dokumentów i zawierają jednostkę będącą przedmiotem zainteresowania dla tej reprezentatywnej analizy.
Ocena asocjacji grupy wiekowej białek jako kontekstowy semantyczny wynik analitycznego przetwarzania online, udało się określić 10 najważniejszych białek związanych z podkategoriami niemowląt, dzieci, młodzieży i dorosłych. W tym miejscu przedstawiono uzyskane metadane i statystyki dla podkategorii chorób żywieniowych i metabolicznych. Podkategoria choroby metaboliczne zawiera prawie trzy razy więcej dokumentów niż podkategoria zaburzeń odżywiania.
Podkategorie chorób metabolicznych i zaburzeń odżywiania mają 7 101 wspólnych dokumentów. Warto zauważyć, że dokumenty te zawierały podmiot będący przedmiotem zainteresowania dla reprezentatywnego badania. Ponad połowa wszystkich białek jest wspólna dla podkategorii, przy czym prawie połowa wszystkich powiązanych białek w podkategorii chorób metabolicznych jest unikalna dla tej podkategorii, a podkategoria zaburzeń odżywiania wykazuje tylko kilka unikalnych białek.
Niezależne i odrębne kategorie oraz zbiór wszystkich synonimów i skrótów jednostki zapewnią najlepsze wyniki. Ponieważ powiązanie kategorii encji jest prezentowane jako wartość liczbowa, otwiera to drzwi do implementacji brakujących technik uczenia się, takich jak grupowanie i analiza głównych komponentów. Technika ta ułatwia odkrycie ukrytych lub wcześniej niezidentyfikowanych powiązań w obrębie tych powiązań, torując drogę do głębszego zrozumienia procesów biologicznych.
Ten artykuł przedstawia protokół budowy platformy do wydobywania fraz opartej na chmurze, która ułatwia skojarzenie jednostek biomedycznych z określonymi chorobami. Podejście to zwiększa efektywność i dostępność w badaniach biomedycznych.