Desenvolvimento de pacote integrado a IDEs para dispor grafos usando simulações de força
rede; grafo; r; rstudio; jupyter; ide; pacote; ferramenta
A visualização de redes é uma etapa crítica para a comunicação eficaz em várias áreas do conhecimento, especialmente nas ciências da vida. Atualmente, uma lacuna separa a manipulação da visualização de redes em ambientes de programação. Usuários constantemente enfrentam a inconveniência de exportar dados de rede para serem manipulados em softwares externos, como Cytoscape e Gephi. Propomos o easylayout, um pacote que une suavemente a manipulação e a visualização ao tirar proveito de ferramentas de programação letrada existentes (por exemplo, RStudio para RMarkdown, Jupyter Notebooks). O pacote easylayout recebe um objeto igraph e o serializa para dentro de uma aplicação web integrada com a interface do RStudio por meio de um servidor Shiny. Esta aplicação web oferece um ambiente para dispor a rede simulando forças de atração e repulsão. Um modo de edição permite que os usuários movam e rotacionem vértices. O desenvolvimento do pacote visa desempenho computacional, de modo que dispositivos de baixo custo sejam capazes de trabalhar com redes de milhares de vértices e dezenas de milhares de arestas. Uma maneira de atingir esse objetivo é curando algoritmos de disposição de grafos de alto desempenho, como VivaGraphJS (github.com/anvaka/VivaGraphJS) e Cosmos (github.com/cosmograph-org/cosmos). Uma vez ajustado, o layout é enviado de volta ao ambiente de programação, podendo ser visualizado com bibliotecas populares como ggplot2 e matplotlib. Embora a implementação atual do easylayout foque em refinar a experiência no ecossistema R/RStudio, o uso de tecnologias web torna-o facilmente portável para ambientes similares, como Jupyter Notebooks e VSCode. Esperamos que esta ferramenta não apenas reduza significativamente o tempo gasto organizando redes, mas também permita aos pesquisadores gerar figuras melhores.