gabrielmfelix / Restricted-Null-Model

Functions to perform the restricted null model described in Felix et al 2021 (DOI: 10.1111/oik.08462)
0 stars 4 forks source link

Finalização do pacote #2

Open marmello77 opened 4 years ago

marmello77 commented 4 years ago

Seria bem legal incluir mais uma função ou script simples para fechar este pacote. Ou seja, algo que permitisse ao usuário já calcular a significância da métrica de interesse por Monte Carlo, com base nas matrizes randomizadas. Aqui no meu GitHub tem um repo com um código para isso. Você poderia aproveitar e unir os códigos, fazendo um pacote completo. Melhoraria muito a usabilidade deste código.

gabrielmfelix commented 4 years ago

Hun. Boa idéia. Vou fazer isto

marmello77 commented 4 years ago

Ótimo! Qualquer dúvida quanto ao código, me pergunte. Você verá que ele tem duas versões: uma baseada no bipartite e outra mais raiz. Use a raiz, que funciona usando apenas o base. Aproveite também o arquivo de exemplo que eu criei, pois junto com o README ele torna muito mais fácil usar as funções.

pinheirorbp commented 4 years ago

Gente, desculpe não estar ajudando. Essa semana está impossível para mim. Mas assim que eu tiver um tempo. e provavelmente você já terão concluído as principais modificações, eu fico responsável por fazer um checkup completo em tudo. Rodo as funções, testo todos os parâmetros ... e corrijo caso sobre qualquer bug ou incoerência.

marmello77 commented 4 years ago

Combinado, Rafael.

marmello77 commented 4 years ago

Quanto ao código completo, poderíamos incluir também a função de desenho já implementada no bipartite, além do cálculo da modularidade. Ou seja, seriam os seguintes passos para fazer uma análise da topologia composta de uma rede de interesse:

  1. Ordenar e desenhar a matriz para uma análise gráfica inicial;
  2. Calcular a modularidade e estimar a significância dela com base no algoritmo de Becker;
  3. Aproveitar a composição de módulos identificada em (2) e usá-la de (4) em diante;
  4. Calcular o aninhamento dentro e entre os módulos;
  5. Gerar matrizes randomizadas com base no modelo nulo restrito;
  6. Estimar a significância dos aninhamentos por Monte Carlo com base nas matrizes randomizadas.

Todas essas funções já estão prontas em diferentes repos das nossas contas. Falta apenas integrá-las em único script, contendo também um exemplo.

Lembrem-se de que o público-alvo dessa nossa série de artigos são ecólogos, zoólogos, botânicos e biólogos em geral. Ou seja, em sua maioria pessoas que não têm proficiência em programação. Portanto, um código completo com um README didático pode fazer a diferença entre essas análises serem usadas ou ignoradas.

gabrielmfelix commented 4 years ago

Adicionei um Script, CompoundTopologyTest, que tem o passo a passo que você sugeriu Marco. É uma boa idéia mesmo. Vai aumentar o alcance das funções O Bipartite agora tem uma função, module2constraints, que recupera os modulos de um objeto ModuleWeb no formato necessário para calcular o NODFsm e NODFdm e para rodar os modelos nulos. Talvez possamos tirar a função Modules_from_bipartite da pasta. Mas também não faz mal deixar

marmello77 commented 4 years ago

Excelente! Já estou testando e polindo aqui. Devo acabar ainda hoje de manhã, aí mando de volta para cá por pull. Quanto à função module2constraints, eu já a vinha usando no script teste. Aquela outra função personalizada, ModulesFromBipartite, que criamos para os nossos artigos, já havíamos disponibilizado ela no meu GitHub. Vou retirá-la então.

marmello77 commented 4 years ago

Pronto, terminei essa revisão. Vejam no commit as mudanças que fiz. Agora seria legal fazermos mais um check final, antes de liberarmos para o público. Também precisamos criar um DOI para este repo, que servirá como suplemento do artigo do mestrado do Gabriel. Vejam aqui como criar um DOI para um repo de GitHub via Zenodo.

marmello77 commented 4 years ago

Acabo de criar uma versão ainda mais didática do script integrador (CompoundTest) em formato RMarkDown e HTML. Vai facilitar a vida de quem não tem intimidade com R.

gabrielmfelix commented 4 years ago

Oi Marco, ficou ótimo o Script em RMarkDown. Testei aqui e tá tudo funcionando perfeitamente. Vou criar o DOI