FunVIP 0.3.24.3__tar.gz → 0.3.24.5__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 (223) hide show
  1. {funvip-0.3.24.3 → funvip-0.3.24.5}/FunVIP.egg-info/PKG-INFO +1 -1
  2. {funvip-0.3.24.3 → funvip-0.3.24.5}/PKG-INFO +1 -1
  3. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/cluster.py +5 -4
  4. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/concatenate.py +30 -69
  5. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/search.py +2 -2
  6. {funvip-0.3.24.3 → funvip-0.3.24.5}/pyproject.toml +1 -1
  7. {funvip-0.3.24.3 → funvip-0.3.24.5}/FunVIP.egg-info/SOURCES.txt +0 -0
  8. {funvip-0.3.24.3 → funvip-0.3.24.5}/FunVIP.egg-info/dependency_links.txt +0 -0
  9. {funvip-0.3.24.3 → funvip-0.3.24.5}/FunVIP.egg-info/entry_points.txt +0 -0
  10. {funvip-0.3.24.3 → funvip-0.3.24.5}/FunVIP.egg-info/requires.txt +0 -0
  11. {funvip-0.3.24.3 → funvip-0.3.24.5}/FunVIP.egg-info/top_level.txt +0 -0
  12. {funvip-0.3.24.3 → funvip-0.3.24.5}/LICENSE +0 -0
  13. {funvip-0.3.24.3 → funvip-0.3.24.5}/MANIFEST.in +0 -0
  14. {funvip-0.3.24.3 → funvip-0.3.24.5}/README.md +0 -0
  15. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/FunVIP_GUI.py +0 -0
  16. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/__init__.py +0 -0
  17. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/data/Option_manager.xlsx +0 -0
  18. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/data/__init__.py +0 -0
  19. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/data/genus_line.txt +0 -0
  20. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/Uninstall-ncbi-blast-2.12.0+.exe +0 -0
  21. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/blastn.exe +0 -0
  22. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/cleanup-blastdb-volumes.py +0 -0
  23. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/get_species_taxids.sh +0 -0
  24. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/legacy_blast.pl +0 -0
  25. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/makeblastdb.exe +0 -0
  26. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/nghttp2.dll +0 -0
  27. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/bin/update_blastdb.pl +0 -0
  28. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/BLAST_Windows/doc/README.txt +0 -0
  29. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/FastTree_Windows/FastTree.exe +0 -0
  30. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Documentation/Gblocks_documentation.html +0 -0
  31. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Gblocks.exe +0 -0
  32. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cox2.pir +0 -0
  33. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cytb.pir +0 -0
  34. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad3.pir +0 -0
  35. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad5.pir +0 -0
  36. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/nad3.pir +0 -0
  37. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/paths +0 -0
  38. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/MAFFT_LICENSE +0 -0
  39. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/MAFFT_Windows.zip +0 -0
  40. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/RAxML_Windows/GPL-3.0.txt +0 -0
  41. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/RAxML_Windows/README +0 -0
  42. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/RAxML_Windows/raxmlHPC-PTHREADS-AVX2.exe +0 -0
  43. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/__init__.py +0 -0
  44. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/bin/iqtree2-click.exe +0 -0
  45. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/bin/iqtree2.exe +0 -0
  46. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/bin/libiomp5md.dll +0 -0
  47. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/example.cf +0 -0
  48. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/example.nex +0 -0
  49. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/example.phy +0 -0
  50. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/iqtree/models.nex +0 -0
  51. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/LICENSE.md +0 -0
  52. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/README.md +0 -0
  53. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/busybox.exe +0 -0
  54. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/cygbz2-1.dll +0 -0
  55. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/cyggcc_s-seh-1.dll +0 -0
  56. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/cyggomp-1.dll +0 -0
  57. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/cygstdc++-6.dll +0 -0
  58. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/cygwin1.dll +0 -0
  59. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/cygz.dll +0 -0
  60. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/bin/mmseqs.exe +0 -0
  61. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/examples/QUERY.fasta +0 -0
  62. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM10.out +0 -0
  63. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM100.out +0 -0
  64. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM110.out +0 -0
  65. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM120.out +0 -0
  66. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM130.out +0 -0
  67. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM140.out +0 -0
  68. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM150.out +0 -0
  69. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM160.out +0 -0
  70. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM170.out +0 -0
  71. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM180.out +0 -0
  72. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM190.out +0 -0
  73. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM20.out +0 -0
  74. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM30.out +0 -0
  75. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM40.out +0 -0
  76. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM50.out +0 -0
  77. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM60.out +0 -0
  78. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM70.out +0 -0
  79. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM80.out +0 -0
  80. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/PAM90.out +0 -0
  81. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/VTML10.out +0 -0
  82. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/VTML120.out +0 -0
  83. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/VTML160.out +0 -0
  84. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/VTML20.out +0 -0
  85. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/VTML40.out +0 -0
  86. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/VTML80.out +0 -0
  87. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum100.out +0 -0
  88. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum30.out +0 -0
  89. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum35.out +0 -0
  90. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum40.out +0 -0
  91. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum45.out +0 -0
  92. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum50.out +0 -0
  93. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum55.out +0 -0
  94. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum60.out +0 -0
  95. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum62.out +0 -0
  96. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum65.out +0 -0
  97. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum70.out +0 -0
  98. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum75.out +0 -0
  99. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum80.out +0 -0
  100. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum85.out +0 -0
  101. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum90.out +0 -0
  102. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/blosum95.out +0 -0
  103. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/matrices/nucleotide.out +0 -0
  104. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/mmseqs.bat +0 -0
  105. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/mmseqs_Windows/util/bash-completion.sh +0 -0
  106. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/AUTHORS +0 -0
  107. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/CHANGELOG +0 -0
  108. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/LICENSE +0 -0
  109. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/README +0 -0
  110. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/bin/libgcc_s_dw2-1.dll +0 -0
  111. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/bin/libstdc++-6.dll +0 -0
  112. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/bin/trimal.exe +0 -0
  113. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/check_codon_alignments.py +0 -0
  114. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/compare_trimmed_msas.sh +0 -0
  115. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/generateRandomAlignmentsUsingAsSeedRealAlignments.py +0 -0
  116. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/generate_trimmed_msas.sh +0 -0
  117. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequence_representative_from_alignment.py +0 -0
  118. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequences_gaps_ratio.py +0 -0
  119. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/remove_shorter_sequences.py +0 -0
  120. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/selective_trimming_for_dNdS_analyses.based_neighbours.py +0 -0
  121. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/scripts/set_manual_boundaries.py +0 -0
  122. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/alignment.cpp +0 -0
  123. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/alignment.h +0 -0
  124. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/alignment.o +0 -0
  125. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.cpp +0 -0
  126. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.o +0 -0
  127. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.cpp +0 -0
  128. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.h +0 -0
  129. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.o +0 -0
  130. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/defines.h +0 -0
  131. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/main.cpp +0 -0
  132. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/makefile +0 -0
  133. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/makefile.MacOS +0 -0
  134. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/readAl.cpp +0 -0
  135. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/readal.exe +0 -0
  136. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.cpp +0 -0
  137. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.o +0 -0
  138. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.cpp +0 -0
  139. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.h +0 -0
  140. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.o +0 -0
  141. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.cpp +0 -0
  142. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.h +0 -0
  143. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.o +0 -0
  144. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statAl.cpp +0 -0
  145. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statal.exe +0 -0
  146. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.cpp +0 -0
  147. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.h +0 -0
  148. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.o +0 -0
  149. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.cpp +0 -0
  150. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.h +0 -0
  151. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.cpp +0 -0
  152. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.h +0 -0
  153. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.o +0 -0
  154. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/utils.cpp +0 -0
  155. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/utils.h +0 -0
  156. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/utils.o +0 -0
  157. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/external/trimal.v1.4/trimAl/source/values.h +0 -0
  158. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/main.py +0 -0
  159. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/preset/.gitignore +0 -0
  160. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/preset/accurate.yaml +0 -0
  161. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/preset/fast.yaml +0 -0
  162. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/.gitignore +0 -0
  163. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__init__.py +0 -0
  164. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/CATV_pipe.cpython-310.pyc +0 -0
  165. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/CAT_V.cpython-310.pyc +0 -0
  166. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/CAT_V.cpython-39.pyc +0 -0
  167. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/CAT_V_pipe.cpython-39.pyc +0 -0
  168. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/__init__.cpython-310.pyc +0 -0
  169. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/__init__.cpython-39.pyc +0 -0
  170. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/align.cpython-310.pyc +0 -0
  171. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/cluster.cpython-39.pyc +0 -0
  172. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/dataset.cpython-39.pyc +0 -0
  173. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/ext.cpython-310.pyc +0 -0
  174. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/ext.cpython-39.pyc +0 -0
  175. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/hasher.cpython-39.pyc +0 -0
  176. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/initialize.cpython-39.pyc +0 -0
  177. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/io.cpython-310.pyc +0 -0
  178. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/io.cpython-39.pyc +0 -0
  179. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/logger.cpython-39.pyc +0 -0
  180. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/modeltest.cpython-39.pyc +0 -0
  181. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/multigene.cpython-39.pyc +0 -0
  182. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/ncbi.cpython-39.pyc +0 -0
  183. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/opt_generator.cpython-39.pyc +0 -0
  184. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/reporter.cpython-39.pyc +0 -0
  185. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/search.cpython-39.pyc +0 -0
  186. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/tool.cpython-39.pyc +0 -0
  187. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/validation.cpython-39.pyc +0 -0
  188. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/__pycache__/visualize.cpython-39.pyc +0 -0
  189. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/align.py +0 -0
  190. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/command.py +0 -0
  191. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/dataset.py +0 -0
  192. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/ext.py +0 -0
  193. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/hasher.py +0 -0
  194. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/initialize.py +0 -0
  195. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/logger.py +0 -0
  196. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/logics.py +0 -0
  197. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/modeltest.py +0 -0
  198. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/ncbi.py +0 -0
  199. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/opt_generator.py +0 -0
  200. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/reporter.py +0 -0
  201. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/save.py +0 -0
  202. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/templates/template.html +0 -0
  203. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/tool.py +0 -0
  204. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/tree.py +0 -0
  205. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/tree_interpretation.py +0 -0
  206. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/tree_interpretation_pipe.py +0 -0
  207. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/trim.py +0 -0
  208. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/validate_input.py +0 -0
  209. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/validate_option.py +0 -0
  210. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/validation.py +0 -0
  211. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/version.py +0 -0
  212. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/src/visualize.py +0 -0
  213. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/penicillium/DB/DB_Penicillium.xlsx +0 -0
  214. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/penicillium/Options.config +0 -0
  215. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/penicillium/Query/Query.xlsx +0 -0
  216. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/penicillium/preset.yaml +0 -0
  217. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/sanghuangporus/DB/FunVIP_Sanghuangporus_db.xlsx +0 -0
  218. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/sanghuangporus/Query/FunVIP_Sanghuangporus_query.xlsx +0 -0
  219. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/sanghuangporus/preset.yaml +0 -0
  220. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/terrei/DB/FunVIP_Aspergillus_db.xlsx +0 -0
  221. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/terrei/Query/FunVIP_Aspergillus_query.xlsx +0 -0
  222. {funvip-0.3.24.3 → funvip-0.3.24.5}/funvip/test_dataset/terrei/preset.yaml +0 -0
  223. {funvip-0.3.24.3 → funvip-0.3.24.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: FunVIP
3
- Version: 0.3.24.3
3
+ Version: 0.3.24.5
4
4
  Summary: Fungal Validation & Identification Pipeline
5
5
  Author-email: Changwan Seo <wan101010@snu.ac.kr>
6
6
  License: GPL-3.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: FunVIP
3
- Version: 0.3.24.3
3
+ Version: 0.3.24.5
4
4
  Summary: Fungal Validation & Identification Pipeline
5
5
  Author-email: Changwan Seo <wan101010@snu.ac.kr>
6
6
  License: GPL-3.0
@@ -155,11 +155,12 @@ def cluster(FI, V_list_group, V_cSR, path, opt):
155
155
  )
156
156
  elif group_count >= 2:
157
157
  logging.warning(
158
- f"Query seq in {FI.id} has multiple matches to groups: {list(unique_groups)}"
158
+ f"Query seq in {FI.id} has multiple matches to groups within {opt.cluster.cutoff} cutoff: {list(unique_groups)}"
159
159
  )
160
- FI.adjusted_group = next(
161
- iter(unique_groups)
162
- ) # Pick one (deterministic for testing)
160
+
161
+ # Among the multiple matches, get the best group
162
+ FI.adjusted_group = cutoff_df["subject_group"].iloc[0]
163
+
163
164
  else:
164
165
  logging.error("DEVELOPMENTAL ERROR IN GROUP ASSIGN")
165
166
  raise Exception
@@ -10,6 +10,7 @@ from funvip.src import search, hasher
10
10
  from scipy.optimize import minimize
11
11
  import numpy as np
12
12
  import shutil
13
+ from time import time
13
14
 
14
15
 
15
16
  # Combine trimmed alignment of each gene to make concatenated matrix, and generate partition file
@@ -137,6 +138,8 @@ def combine_alignment(V, opt, path):
137
138
  def concatenate_df(V, path, opt):
138
139
  logging.info("Concatenating search results")
139
140
 
141
+ time_start = time()
142
+
140
143
  gene_list = []
141
144
  df_list = []
142
145
  for gene in V.dict_gene_SR.keys():
@@ -145,28 +148,6 @@ def concatenate_df(V, path, opt):
145
148
  gene_list.append(gene)
146
149
 
147
150
  df = deepcopy(V.dict_gene_SR[gene].set_index(["qseqid", "sseqid"]))
148
-
149
- """
150
- df = deepcopy(
151
- V.dict_gene_SR[gene]
152
- .set_index(["qseqid", "sseqid"])
153
- .drop(
154
- columns=[
155
- "pident",
156
- "length",
157
- "mismatch",
158
- "gaps",
159
- "qstart",
160
- "qend",
161
- "sstart",
162
- "send",
163
- "evalue",
164
- "bitscore",
165
- "subject_group",
166
- ]
167
- )
168
- )
169
- """
170
151
  df_list.append(df)
171
152
 
172
153
  if len(df_list) <= 0:
@@ -209,26 +190,22 @@ def concatenate_df(V, path, opt):
209
190
  )
210
191
 
211
192
  # Column name managing on subject_group
212
- def same_merge(x, list_col):
213
- values = x[list_col].dropna()
214
- if values.empty:
215
- raise Exception
216
- return values.iloc[0]
217
193
 
218
- df_multigene_regression_ori[
219
- "subject_group"
220
- ] = df_multigene_regression_ori.apply(
221
- lambda x: same_merge(x, [f"{gene}_subject_group" for gene in gene_list]),
222
- axis=1,
194
+ subject_group_cols = [f"{gene}_subject_group" for gene in gene_list]
195
+ df_multigene_regression_ori["subject_group"] = (
196
+ df_multigene_regression_ori[subject_group_cols].bfill(axis=1).iloc[:, 0]
223
197
  )
224
198
 
225
199
  # For regression, leave anchor points with all genes existing
226
200
  df_multigene_regression = df_multigene_regression_ori
227
201
 
228
- for gene in gene_list:
229
- df_multigene_regression = df_multigene_regression[
230
- df_multigene_regression[f"{gene}_bitscore"].notna()
231
- ]
202
+ mask = (
203
+ df_multigene_regression_ori[[f"{gene}_bitscore" for gene in gene_list]]
204
+ .notna()
205
+ .all(axis=1)
206
+ )
207
+
208
+ df_multigene_regression = df_multigene_regression_ori[mask]
232
209
 
233
210
  # Perform regression
234
211
  # Get regression line
@@ -248,23 +225,18 @@ def concatenate_df(V, path, opt):
248
225
  D = (P - (P.dot.u) * u).length
249
226
  """
250
227
  # line origin other than (0,0,0,..)
228
+ # do not use line -= l0 because casting rule error might happen
251
229
  if l0 is not None:
252
230
  line = line - l0
253
231
  # points origin other than (0,0,0,..)
232
+ # do not use pts -= l0 because casting rule error might happen
254
233
  if p0 is not None:
255
234
  pts = pts - p0
256
235
 
257
- # dot product
258
- dp = np.dot(pts, line)
259
- # dot product value divided by normalized vector of line
260
- # np.linalg.norm(line) : size of the line vector
261
- # pp should be orthographic projected length of the dot
262
- pp = dp / np.linalg.norm(line)
263
- # norm value of point
264
- # length from p0 to point
265
- pn = np.linalg.norm(pts, axis=1)
266
-
267
- return np.sqrt(np.clip(pn**2 - pp**2, a_min=1e-10, a_max=None))
236
+ norm_line = np.linalg.norm(line)
237
+ projected_lengths = np.dot(pts, line) / norm_line
238
+ distances = np.linalg.norm(pts, axis=1) ** 2 - projected_lengths**2
239
+ return np.sqrt(np.maximum(distances, 1e-10))
268
240
 
269
241
  # Optimization function
270
242
  def optimize_regression_line(points):
@@ -295,28 +267,16 @@ def concatenate_df(V, path, opt):
295
267
  K_optimized,
296
268
  )
297
269
 
298
- # Reset df before filling it
299
- def calculate_prediction(row, gene_list, coeff, grad):
300
- # Calculate linear_constant of the strain
301
- linear_constant = []
270
+ def vectorized_prediction(df, gene_list, coeff, grad):
302
271
  for k, gene in enumerate(gene_list):
303
- if not np.isnan(row[f"{gene}_bitscore"]):
304
- # (coeff - value) / gradient = linear constant
305
- linear_constant.append(
306
- (coeff[k] - row[f"{gene}_bitscore"]) / grad[k]
307
- )
272
+ linear_constant = (coeff[k] - df[f"{gene}_bitscore"]) / grad[k]
273
+ mean_linear_constant = linear_constant.mean()
308
274
 
309
- # Predict unknown BLAST value
310
- for k, gene in enumerate(gene_list):
311
- if np.isnan(row[f"{gene}_bitscore"]):
312
- # prediction value = coeff - linear constant * gradient
313
- prediction = coeff[k] - np.mean(linear_constant) * grad[k]
314
- row[f"{gene}_bitscore"] = prediction
315
- return row
316
-
317
- def apply_prediction(row, gene_list, coeff, grad):
318
- row = calculate_prediction(row, gene_list, coeff, grad)
319
- return row
275
+ # Fill missing bitscores
276
+ df[f"{gene}_bitscore"].fillna(
277
+ coeff[k] - mean_linear_constant * grad[k], inplace=True
278
+ )
279
+ return df
320
280
 
321
281
  # Change to numpy for faster cazlculation
322
282
  np_bitscore = df_multigene_regression[
@@ -341,8 +301,9 @@ def concatenate_df(V, path, opt):
341
301
  # fill empty blast results for each gene with regression
342
302
  # This might be accelerated by using "apply", but coded manually initially because of logical complexity
343
303
  df_multigene_regression = df_multigene_regression_ori.copy()
344
- df_multigene_regression = df_multigene_regression.apply(
345
- apply_prediction, args=(gene_list, coeff, grad), axis=1
304
+
305
+ df_multigene_regression = vectorized_prediction(
306
+ df_multigene_regression, gene_list, coeff, grad
346
307
  )
347
308
 
348
309
  # Also update each gene bitscore matrix
@@ -359,8 +359,8 @@ def search_df(V, path, opt):
359
359
  )
360
360
 
361
361
  # Cutoff by outgroupcutoff
362
- print(vars(opt))
363
- print(opt.cluster.outgroupoffset)
362
+ # print(vars(opt))
363
+ # print(opt.cluster.outgroupoffset)
364
364
  df_search = df_search[
365
365
  df_search["bitscore"] > opt.cluster.outgroupoffset
366
366
  ]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "FunVIP"
3
- version = "0.3.24.3"
3
+ version = "0.3.24.5"
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