FunVIP 0.3.25__tar.gz → 0.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. {funvip-0.3.25 → funvip-0.4.1}/FunVIP.egg-info/PKG-INFO +1 -1
  2. {funvip-0.3.25 → funvip-0.4.1}/FunVIP.egg-info/SOURCES.txt +4 -0
  3. {funvip-0.3.25 → funvip-0.4.1}/PKG-INFO +1 -1
  4. {funvip-0.3.25 → funvip-0.4.1}/README.md +16 -7
  5. funvip-0.4.1/funvip/external/modeltest-ng_Windows/cyggcc_s-seh-1.dll +0 -0
  6. funvip-0.4.1/funvip/external/modeltest-ng_Windows/cygstdc++-6.dll +0 -0
  7. funvip-0.4.1/funvip/external/modeltest-ng_Windows/cygwin1.dll +0 -0
  8. funvip-0.4.1/funvip/external/modeltest-ng_Windows/modeltest-ng.exe +0 -0
  9. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/cluster.py +18 -0
  10. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/ext.py +9 -2
  11. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/modeltest.py +4 -1
  12. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/validate_input.py +24 -7
  13. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/validate_option.py +4 -0
  14. {funvip-0.3.25 → funvip-0.4.1}/pyproject.toml +1 -1
  15. {funvip-0.3.25 → funvip-0.4.1}/FunVIP.egg-info/dependency_links.txt +0 -0
  16. {funvip-0.3.25 → funvip-0.4.1}/FunVIP.egg-info/entry_points.txt +0 -0
  17. {funvip-0.3.25 → funvip-0.4.1}/FunVIP.egg-info/requires.txt +0 -0
  18. {funvip-0.3.25 → funvip-0.4.1}/FunVIP.egg-info/top_level.txt +0 -0
  19. {funvip-0.3.25 → funvip-0.4.1}/LICENSE +0 -0
  20. {funvip-0.3.25 → funvip-0.4.1}/MANIFEST.in +0 -0
  21. {funvip-0.3.25 → funvip-0.4.1}/funvip/FunVIP_GUI.py +0 -0
  22. {funvip-0.3.25 → funvip-0.4.1}/funvip/__init__.py +0 -0
  23. {funvip-0.3.25 → funvip-0.4.1}/funvip/data/Option_manager.xlsx +0 -0
  24. {funvip-0.3.25 → funvip-0.4.1}/funvip/data/__init__.py +0 -0
  25. {funvip-0.3.25 → funvip-0.4.1}/funvip/data/genus_line.txt +0 -0
  26. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/Uninstall-ncbi-blast-2.12.0+.exe +0 -0
  27. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/blastn.exe +0 -0
  28. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/cleanup-blastdb-volumes.py +0 -0
  29. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/get_species_taxids.sh +0 -0
  30. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/legacy_blast.pl +0 -0
  31. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/makeblastdb.exe +0 -0
  32. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/nghttp2.dll +0 -0
  33. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/bin/update_blastdb.pl +0 -0
  34. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/BLAST_Windows/doc/README.txt +0 -0
  35. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/FastTree_Windows/FastTree.exe +0 -0
  36. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Documentation/Gblocks_documentation.html +0 -0
  37. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Gblocks.exe +0 -0
  38. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cox2.pir +0 -0
  39. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cytb.pir +0 -0
  40. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad3.pir +0 -0
  41. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad5.pir +0 -0
  42. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/nad3.pir +0 -0
  43. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/paths +0 -0
  44. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/MAFFT_LICENSE +0 -0
  45. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/MAFFT_Windows.zip +0 -0
  46. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/RAxML_Windows/GPL-3.0.txt +0 -0
  47. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/RAxML_Windows/README +0 -0
  48. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/RAxML_Windows/raxmlHPC-PTHREADS-AVX2.exe +0 -0
  49. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/__init__.py +0 -0
  50. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/bin/iqtree2-click.exe +0 -0
  51. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/bin/iqtree2.exe +0 -0
  52. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/bin/libiomp5md.dll +0 -0
  53. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/example.cf +0 -0
  54. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/example.nex +0 -0
  55. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/example.phy +0 -0
  56. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/iqtree/models.nex +0 -0
  57. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/LICENSE.md +0 -0
  58. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/README.md +0 -0
  59. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/busybox.exe +0 -0
  60. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/cygbz2-1.dll +0 -0
  61. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/cyggcc_s-seh-1.dll +0 -0
  62. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/cyggomp-1.dll +0 -0
  63. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/cygstdc++-6.dll +0 -0
  64. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/cygwin1.dll +0 -0
  65. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/cygz.dll +0 -0
  66. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/bin/mmseqs.exe +0 -0
  67. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/examples/QUERY.fasta +0 -0
  68. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM10.out +0 -0
  69. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM100.out +0 -0
  70. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM110.out +0 -0
  71. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM120.out +0 -0
  72. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM130.out +0 -0
  73. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM140.out +0 -0
  74. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM150.out +0 -0
  75. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM160.out +0 -0
  76. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM170.out +0 -0
  77. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM180.out +0 -0
  78. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM190.out +0 -0
  79. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM20.out +0 -0
  80. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM30.out +0 -0
  81. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM40.out +0 -0
  82. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM50.out +0 -0
  83. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM60.out +0 -0
  84. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM70.out +0 -0
  85. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM80.out +0 -0
  86. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/PAM90.out +0 -0
  87. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/VTML10.out +0 -0
  88. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/VTML120.out +0 -0
  89. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/VTML160.out +0 -0
  90. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/VTML20.out +0 -0
  91. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/VTML40.out +0 -0
  92. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/VTML80.out +0 -0
  93. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum100.out +0 -0
  94. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum30.out +0 -0
  95. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum35.out +0 -0
  96. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum40.out +0 -0
  97. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum45.out +0 -0
  98. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum50.out +0 -0
  99. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum55.out +0 -0
  100. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum60.out +0 -0
  101. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum62.out +0 -0
  102. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum65.out +0 -0
  103. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum70.out +0 -0
  104. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum75.out +0 -0
  105. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum80.out +0 -0
  106. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum85.out +0 -0
  107. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum90.out +0 -0
  108. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/blosum95.out +0 -0
  109. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/matrices/nucleotide.out +0 -0
  110. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/mmseqs.bat +0 -0
  111. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/mmseqs_Windows/util/bash-completion.sh +0 -0
  112. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/AUTHORS +0 -0
  113. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/CHANGELOG +0 -0
  114. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/LICENSE +0 -0
  115. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/README +0 -0
  116. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/bin/libgcc_s_dw2-1.dll +0 -0
  117. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/bin/libstdc++-6.dll +0 -0
  118. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/bin/trimal.exe +0 -0
  119. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/check_codon_alignments.py +0 -0
  120. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/compare_trimmed_msas.sh +0 -0
  121. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/generateRandomAlignmentsUsingAsSeedRealAlignments.py +0 -0
  122. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/generate_trimmed_msas.sh +0 -0
  123. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequence_representative_from_alignment.py +0 -0
  124. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequences_gaps_ratio.py +0 -0
  125. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/remove_shorter_sequences.py +0 -0
  126. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/selective_trimming_for_dNdS_analyses.based_neighbours.py +0 -0
  127. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/scripts/set_manual_boundaries.py +0 -0
  128. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/alignment.cpp +0 -0
  129. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/alignment.h +0 -0
  130. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/alignment.o +0 -0
  131. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.cpp +0 -0
  132. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.o +0 -0
  133. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.cpp +0 -0
  134. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.h +0 -0
  135. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.o +0 -0
  136. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/defines.h +0 -0
  137. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/main.cpp +0 -0
  138. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/makefile +0 -0
  139. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/makefile.MacOS +0 -0
  140. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/readAl.cpp +0 -0
  141. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/readal.exe +0 -0
  142. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.cpp +0 -0
  143. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.o +0 -0
  144. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.cpp +0 -0
  145. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.h +0 -0
  146. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.o +0 -0
  147. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.cpp +0 -0
  148. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.h +0 -0
  149. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.o +0 -0
  150. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statAl.cpp +0 -0
  151. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statal.exe +0 -0
  152. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.cpp +0 -0
  153. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.h +0 -0
  154. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.o +0 -0
  155. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.cpp +0 -0
  156. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.h +0 -0
  157. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.cpp +0 -0
  158. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.h +0 -0
  159. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.o +0 -0
  160. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/utils.cpp +0 -0
  161. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/utils.h +0 -0
  162. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/utils.o +0 -0
  163. {funvip-0.3.25 → funvip-0.4.1}/funvip/external/trimal.v1.4/trimAl/source/values.h +0 -0
  164. {funvip-0.3.25 → funvip-0.4.1}/funvip/main.py +0 -0
  165. {funvip-0.3.25 → funvip-0.4.1}/funvip/preset/.gitignore +0 -0
  166. {funvip-0.3.25 → funvip-0.4.1}/funvip/preset/accurate.yaml +0 -0
  167. {funvip-0.3.25 → funvip-0.4.1}/funvip/preset/fast.yaml +0 -0
  168. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/.gitignore +0 -0
  169. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__init__.py +0 -0
  170. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/CATV_pipe.cpython-310.pyc +0 -0
  171. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/CAT_V.cpython-310.pyc +0 -0
  172. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/CAT_V.cpython-39.pyc +0 -0
  173. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/CAT_V_pipe.cpython-39.pyc +0 -0
  174. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/__init__.cpython-310.pyc +0 -0
  175. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/__init__.cpython-39.pyc +0 -0
  176. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/align.cpython-310.pyc +0 -0
  177. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/cluster.cpython-39.pyc +0 -0
  178. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/dataset.cpython-39.pyc +0 -0
  179. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/ext.cpython-310.pyc +0 -0
  180. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/ext.cpython-39.pyc +0 -0
  181. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/hasher.cpython-39.pyc +0 -0
  182. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/initialize.cpython-39.pyc +0 -0
  183. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/io.cpython-310.pyc +0 -0
  184. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/io.cpython-39.pyc +0 -0
  185. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/logger.cpython-39.pyc +0 -0
  186. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/modeltest.cpython-39.pyc +0 -0
  187. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/multigene.cpython-39.pyc +0 -0
  188. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/ncbi.cpython-39.pyc +0 -0
  189. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/opt_generator.cpython-39.pyc +0 -0
  190. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/reporter.cpython-39.pyc +0 -0
  191. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/search.cpython-39.pyc +0 -0
  192. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/tool.cpython-39.pyc +0 -0
  193. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/validation.cpython-39.pyc +0 -0
  194. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/__pycache__/visualize.cpython-39.pyc +0 -0
  195. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/align.py +0 -0
  196. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/command.py +0 -0
  197. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/concatenate.py +0 -0
  198. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/dataset.py +0 -0
  199. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/hasher.py +0 -0
  200. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/initialize.py +0 -0
  201. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/logger.py +0 -0
  202. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/logics.py +0 -0
  203. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/ncbi.py +0 -0
  204. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/opt_generator.py +0 -0
  205. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/reporter.py +0 -0
  206. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/save.py +0 -0
  207. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/search.py +0 -0
  208. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/templates/template.html +0 -0
  209. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/tool.py +0 -0
  210. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/tree.py +0 -0
  211. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/tree_interpretation.py +0 -0
  212. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/tree_interpretation_pipe.py +0 -0
  213. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/trim.py +0 -0
  214. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/validation.py +0 -0
  215. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/version.py +0 -0
  216. {funvip-0.3.25 → funvip-0.4.1}/funvip/src/visualize.py +0 -0
  217. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/penicillium/DB/DB_Penicillium.xlsx +0 -0
  218. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/penicillium/Options.config +0 -0
  219. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/penicillium/Query/Query.xlsx +0 -0
  220. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/penicillium/preset.yaml +0 -0
  221. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/sanghuangporus/DB/FunVIP_Sanghuangporus_db.xlsx +0 -0
  222. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/sanghuangporus/Query/FunVIP_Sanghuangporus_query.xlsx +0 -0
  223. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/sanghuangporus/preset.yaml +0 -0
  224. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/terrei/DB/FunVIP_Aspergillus_db.xlsx +0 -0
  225. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/terrei/Query/FunVIP_Aspergillus_query.xlsx +0 -0
  226. {funvip-0.3.25 → funvip-0.4.1}/funvip/test_dataset/terrei/preset.yaml +0 -0
  227. {funvip-0.3.25 → funvip-0.4.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: FunVIP
3
- Version: 0.3.25
3
+ Version: 0.4.1
4
4
  Summary: Fungal Validation & Identification Pipeline
5
5
  Author-email: Changwan Seo <wan101010@snu.ac.kr>
6
6
  License: GPL-3.0
@@ -100,6 +100,10 @@ funvip/external/mmseqs_Windows/matrices/blosum90.out
100
100
  funvip/external/mmseqs_Windows/matrices/blosum95.out
101
101
  funvip/external/mmseqs_Windows/matrices/nucleotide.out
102
102
  funvip/external/mmseqs_Windows/util/bash-completion.sh
103
+ funvip/external/modeltest-ng_Windows/cyggcc_s-seh-1.dll
104
+ funvip/external/modeltest-ng_Windows/cygstdc++-6.dll
105
+ funvip/external/modeltest-ng_Windows/cygwin1.dll
106
+ funvip/external/modeltest-ng_Windows/modeltest-ng.exe
103
107
  funvip/external/trimal.v1.4/trimAl/AUTHORS
104
108
  funvip/external/trimal.v1.4/trimAl/CHANGELOG
105
109
  funvip/external/trimal.v1.4/trimAl/LICENSE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: FunVIP
3
- Version: 0.3.25
3
+ Version: 0.4.1
4
4
  Summary: Fungal Validation & Identification Pipeline
5
5
  Author-email: Changwan Seo <wan101010@snu.ac.kr>
6
6
  License: GPL-3.0
@@ -4,26 +4,30 @@
4
4
  #### An automatic tree-based sequence identification and validation pipeline for fungal (or maybe other) species
5
5
 
6
6
  - Automatic tree-based identification
7
- - Works with multigene
8
- - Data validation algorithm implemented
7
+ - Works with multiple genetic marker
8
+ - Database sequence validation algorithm implemented
9
9
 
10
10
  ![figure1 - ver17A](https://github.com/user-attachments/assets/22a50a62-14e8-41a7-87a0-8f5a1f9c3f62)
11
11
 
12
12
  This is Beta release. Bug reports are welcomed
13
13
  <br><br/>
14
14
 
15
+ ### IMPORTANT NOTICE: The python dependency for Linux platform has changed from 3.12 to 3.11 for TCS inclusion. Please remake conda environment for FunVIP 0.3.25 update
16
+
15
17
  ## Tutorial
16
18
  * [Part 1 - Getting started!](https://github.com/Changwanseo/FunVIP/blob/main/tutorial/tutorial.md)
17
19
  * [Part 2 - Preparing database and query](https://github.com/Changwanseo/FunVIP/blob/main/tutorial/tutorial2.md)
18
- * [Advacned tips](https://github.com/Changwanseo/FunVIP/blob/main/tutorial/advanced.md)
20
+ * [Advanced tips](https://github.com/Changwanseo/FunVIP/blob/main/tutorial/advanced.md)
19
21
  <br><br/>
20
22
  ## Documentation
21
23
  * See [Documentation](https://github.com/Changwanseo/FunVIP/blob/main/Documentation.md) for advanced usage !
22
24
  <br><br/>
23
25
  ## Requirements
24
- - Conda environment
26
+ - Conda or Mamba environment
27
+
28
+ \* See [here](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) for how to install conda environment
25
29
 
26
- \* See [https://www.anaconda.com/products/individual](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) for how to install conda environment
30
+ \* Recently, Mamba is a lot faster than conda. See [here](https://github.com/conda-forge/miniforge?tab=readme-ov-file) to how to install mamba environment
27
31
  <br><br/>
28
32
  ## Installation
29
33
  * [Windows](https://github.com/Changwanseo/FunVIP/blob/main/tutorial/installation.md##Windows)
@@ -77,9 +81,14 @@ tabular (```.xlsx```, ```.csv```, ```.parquet```, ```.ftr```) form
77
81
  * ```/Tree/{section}_{gene}.svg``` : Final collapsed tree in svg format. Can be edited in vector graphics programs, or in powerpoint (by ungroup)
78
82
  * ```/Tree/{section}_{gene}_original.svg ``` : Uncollapsed tree for inspection
79
83
 
84
+ * Example output tree of FunVIP
85
+ ![image](https://github.com/user-attachments/assets/7291c990-62d0-4579-8ae7-adc5d39a7fed)
86
+
87
+
88
+
80
89
  ## Scheduling
81
- 1. Beta release part 1 (2023 Feburary ~ As paper published, ver 0.3)
82
- Will be tested by our lab memebers to fix bugs and advance features
90
+ 1. ~~Beta release part 1 (2023 Feburary ~ As paper published, ver 0.3)
91
+ Will be tested by our lab memebers to fix bugs and advance features~~ FunVIP article is currently accepted. Will be published soon.
83
92
  2. Beta release part 2 (As paper published ~ When pipeline gets stabled, ver 0.4)
84
93
  Will be tested by peer taxonomists
85
94
  3. Stable release (ver 1.0)
@@ -516,11 +516,29 @@ def pipe_append_outgroup(V, path, opt):
516
516
 
517
517
  # Add outgroup and ambiguous groups to dataset
518
518
  # Ambiguous groups are strains locating between outgroup and ingroups, so cannot be decided
519
+
520
+ print(f"{group} {gene}")
521
+ print(f"outgroup {len(outgroup)}")
522
+ print(f"ambiguous_group {len(ambiguous_group)}")
523
+ print(f"db: {len(V.dict_dataset[group][gene].list_db_FI)}")
524
+ print(f"query: {len(V.dict_dataset[group][gene].list_qr_FI)}")
525
+
519
526
  if len(outgroup) == 0 and len(ambiguous_group) == 0:
520
527
  logging.warning(
521
528
  f"Removing {group} {gene} from analysis because outgroup cannot be selected"
522
529
  )
523
530
  V.dict_dataset[group].pop(gene, None)
531
+ elif (
532
+ len(outgroup)
533
+ + len(ambiguous_group)
534
+ + len(V.dict_dataset[group][gene].list_db_FI)
535
+ + len(V.dict_dataset[group][gene].list_qr_FI)
536
+ < 4
537
+ ):
538
+ logging.warning(
539
+ f"Removing {group} {gene} from analysis because not enough sequences are provided to infer phylogenetic tree"
540
+ )
541
+ V.dict_dataset[group].pop(gene, None)
524
542
 
525
543
  else:
526
544
  V.dict_dataset[group][gene].list_og_FI = outgroup
@@ -266,10 +266,15 @@ def Trimal(fasta, out, path, algorithm="gt", threshold=0.2):
266
266
 
267
267
 
268
268
  # Modeltest
269
- def Modeltest_ng(fasta, out, models, thread):
269
+ def Modeltest_ng(fasta, out, path, models, thread):
270
+ path_modeltestng = f"{path.sys_path}/external/modeltest-ng_Windows/modeltest-ng.exe"
270
271
  if platform == "win32":
272
+ CMD = f"{path_modeltestng} -i '{fasta}' -o '{out}' -t ml -p {thread} --disable-checkpoint {models}"
273
+ """
271
274
  logging.error("Modeltest-NG is not available in windows. Try IQTREE modeltest")
272
275
  raise Exception
276
+ """
277
+
273
278
  else:
274
279
  CMD = f"modeltest-ng -i '{fasta}' -o '{out}' -t ml -p {thread} --disable-checkpoint {models}"
275
280
 
@@ -367,8 +372,10 @@ def FastTree(fasta, out, hash_dict, path, model=""):
367
372
  if model == "skip":
368
373
  model = ""
369
374
  if platform == "win32":
375
+ """
370
376
  if " " in model:
371
- model = f'"{model}"'
377
+ model = f"{model}"
378
+ """
372
379
  if " " in fasta:
373
380
  fasta = f'"{fasta}"'
374
381
  if " " in path.tmp:
@@ -379,6 +379,7 @@ def modeltest(V, path, opt) -> dict:
379
379
  ext.Modeltest_ng(
380
380
  fasta=f"{path.out_alignment}/{opt.runname}_trimmed_{group}_{gene}.fasta",
381
381
  models=models,
382
+ path=path,
382
383
  out=f"{path.out_modeltest}/{opt.runname}_{group}_{gene}",
383
384
  thread=opt.thread,
384
385
  )
@@ -455,7 +456,9 @@ def modeltest(V, path, opt) -> dict:
455
456
  logging.info(
456
457
  "IQTREE will perform ModelFinder internally in tree construction step, skipping in modeltest step"
457
458
  )
458
- model_dict[group][gene] = "skip"
459
+ for group in group_dict:
460
+ for gene in group_dict[group]:
461
+ model_dict[group][gene] = "skip"
459
462
 
460
463
  else: # including opt.model_method.lower() == "none":
461
464
  for group in group_dict:
@@ -7,6 +7,7 @@ import json
7
7
  import pandas as pd
8
8
  import numpy as np
9
9
  import logging
10
+ import random
10
11
 
11
12
  from copy import deepcopy
12
13
 
@@ -26,6 +27,8 @@ from funvip.src import save
26
27
  from funvip.src.logics import isnewicklegal, isuniquecolumn, isvalidcolor
27
28
  from funvip.src.hasher import decode, newick_legal, hash_funinfo_list
28
29
 
30
+ # funinfo_dict: {"ID" : FI}
31
+
29
32
 
30
33
  ## newick illegal characters
31
34
  # fmt: off
@@ -577,9 +580,13 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
577
580
  f"Running GenMine to download {len(download_set)} sequences from GenBank"
578
581
  )
579
582
 
583
+ # Shuffle accession to download to prevent bans
584
+ download_list = list(download_set)
585
+ random.shuffle(download_list)
586
+
580
587
  # Write GenMine input file
581
588
  with open(f"{path.GenMine}/Accessions.txt", "w") as fg:
582
- for acc in download_set:
589
+ for acc in download_list:
583
590
  fg.write(f"{acc.strip()}\n")
584
591
 
585
592
  # Run GenMine
@@ -733,7 +740,7 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
733
740
  for gene in opt.gene:
734
741
  seq_error = 0
735
742
  if gene in df.columns:
736
- if not (pd.isna(df[gene][n])) or str(df[gene][n]).strip() == "":
743
+ if not (pd.isna(df[gene][n])):
737
744
  # skip blank sequences
738
745
  if df[gene][n].startswith(">"):
739
746
  # remove fasta header
@@ -763,12 +770,22 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
763
770
  f"In table {table}, Sequence {df['id'][n]} {seq_string} detected as nan, removing it"
764
771
  )
765
772
  elif seq_error_cnt == 0:
766
- # remove gaps for preventing BLAST error
767
- errors.append(
768
- newinfo.update_seq(
769
- gene, seq_string.replace("-", "").replace(".", "")
773
+ # Decide rather to update or not here
774
+ if (
775
+ len(
776
+ seq_string.replace("-", "").replace(".", "").strip()
777
+ )
778
+ > 0
779
+ ):
780
+ # remove gaps for preventing BLAST error
781
+ errors.append(
782
+ newinfo.update_seq(
783
+ gene,
784
+ seq_string.replace("-", "")
785
+ .replace(".", "")
786
+ .strip(),
787
+ )
770
788
  )
771
- )
772
789
 
773
790
  # After successfully parsed this table, save it
774
791
  save.save_df(
@@ -859,6 +859,7 @@ class Option:
859
859
  "series",
860
860
  "subsection",
861
861
  "section",
862
+ "subgenus",
862
863
  "genus",
863
864
  "subtribe",
864
865
  "tribe",
@@ -1041,10 +1042,13 @@ class Option:
1041
1042
  self.method.modeltest = modeltest_adjust[self.method.modeltest.lower()]
1042
1043
  if not (self.method.modeltest in modeltest):
1043
1044
  list_error.append(f"modeltest method should be one of {str(modeltest)}")
1045
+
1046
+ """
1044
1047
  if self.method.modeltest == "modeltest-ng" and sys.platform == "win32":
1045
1048
  list_error.append(
1046
1049
  f"Modeltest-ng is currently not available in windows platform. Please select other modeltest methods or use linux platform"
1047
1050
  )
1051
+ """
1048
1052
 
1049
1053
  # tree
1050
1054
  # Check if search method is one of default, fasttree, raxml, iqtree
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "FunVIP"
3
- version = "0.3.25"
3
+ version = "0.4.1"
4
4
  description = "Fungal Validation & Identification Pipeline"
5
5
  authors = [{name = "Changwan Seo", email = "wan101010@snu.ac.kr"}]
6
6
  urls = { "Homepage" = "https://github.com/Changwanseo/FunVIP" }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes