FunVIP 0.5.1__tar.gz → 0.5.3__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.5.1 → funvip-0.5.3}/FunVIP.egg-info/PKG-INFO +3 -2
  2. {funvip-0.5.1 → funvip-0.5.3}/FunVIP.egg-info/requires.txt +2 -1
  3. {funvip-0.5.1 → funvip-0.5.3}/PKG-INFO +3 -2
  4. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/dataset.py +30 -19
  5. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/search.py +1 -0
  6. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/validate_input.py +49 -20
  7. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/visualize.py +7 -1
  8. {funvip-0.5.1 → funvip-0.5.3}/pyproject.toml +3 -2
  9. {funvip-0.5.1 → funvip-0.5.3}/FunVIP.egg-info/SOURCES.txt +0 -0
  10. {funvip-0.5.1 → funvip-0.5.3}/FunVIP.egg-info/dependency_links.txt +0 -0
  11. {funvip-0.5.1 → funvip-0.5.3}/FunVIP.egg-info/entry_points.txt +0 -0
  12. {funvip-0.5.1 → funvip-0.5.3}/FunVIP.egg-info/top_level.txt +0 -0
  13. {funvip-0.5.1 → funvip-0.5.3}/LICENSE +0 -0
  14. {funvip-0.5.1 → funvip-0.5.3}/MANIFEST.in +0 -0
  15. {funvip-0.5.1 → funvip-0.5.3}/README.md +0 -0
  16. {funvip-0.5.1 → funvip-0.5.3}/funvip/FunVIP_GUI.py +0 -0
  17. {funvip-0.5.1 → funvip-0.5.3}/funvip/__init__.py +0 -0
  18. {funvip-0.5.1 → funvip-0.5.3}/funvip/data/Option_manager.xlsx +0 -0
  19. {funvip-0.5.1 → funvip-0.5.3}/funvip/data/__init__.py +0 -0
  20. {funvip-0.5.1 → funvip-0.5.3}/funvip/data/genus_line.txt +0 -0
  21. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/Uninstall-ncbi-blast-2.12.0+.exe +0 -0
  22. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/blastn.exe +0 -0
  23. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/cleanup-blastdb-volumes.py +0 -0
  24. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/get_species_taxids.sh +0 -0
  25. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/legacy_blast.pl +0 -0
  26. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/makeblastdb.exe +0 -0
  27. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/nghttp2.dll +0 -0
  28. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/bin/update_blastdb.pl +0 -0
  29. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/BLAST_Windows/doc/README.txt +0 -0
  30. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/FastTree_Windows/FastTree.exe +0 -0
  31. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Documentation/Gblocks_documentation.html +0 -0
  32. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Gblocks.exe +0 -0
  33. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cox2.pir +0 -0
  34. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cytb.pir +0 -0
  35. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad3.pir +0 -0
  36. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad5.pir +0 -0
  37. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/nad3.pir +0 -0
  38. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/paths +0 -0
  39. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/MAFFT_LICENSE +0 -0
  40. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/MAFFT_Windows.zip +0 -0
  41. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/RAxML_Windows/GPL-3.0.txt +0 -0
  42. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/RAxML_Windows/README +0 -0
  43. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/RAxML_Windows/raxmlHPC-PTHREADS-AVX2.exe +0 -0
  44. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/__init__.py +0 -0
  45. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/bin/iqtree2-click.exe +0 -0
  46. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/bin/iqtree2.exe +0 -0
  47. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/bin/libiomp5md.dll +0 -0
  48. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/example.cf +0 -0
  49. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/example.nex +0 -0
  50. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/example.phy +0 -0
  51. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/iqtree/models.nex +0 -0
  52. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/LICENSE.md +0 -0
  53. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/README.md +0 -0
  54. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/busybox.exe +0 -0
  55. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/cygbz2-1.dll +0 -0
  56. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/cyggcc_s-seh-1.dll +0 -0
  57. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/cyggomp-1.dll +0 -0
  58. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/cygstdc++-6.dll +0 -0
  59. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/cygwin1.dll +0 -0
  60. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/cygz.dll +0 -0
  61. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/bin/mmseqs.exe +0 -0
  62. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/examples/QUERY.fasta +0 -0
  63. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM10.out +0 -0
  64. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM100.out +0 -0
  65. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM110.out +0 -0
  66. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM120.out +0 -0
  67. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM130.out +0 -0
  68. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM140.out +0 -0
  69. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM150.out +0 -0
  70. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM160.out +0 -0
  71. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM170.out +0 -0
  72. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM180.out +0 -0
  73. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM190.out +0 -0
  74. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM20.out +0 -0
  75. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM30.out +0 -0
  76. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM40.out +0 -0
  77. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM50.out +0 -0
  78. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM60.out +0 -0
  79. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM70.out +0 -0
  80. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM80.out +0 -0
  81. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/PAM90.out +0 -0
  82. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/VTML10.out +0 -0
  83. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/VTML120.out +0 -0
  84. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/VTML160.out +0 -0
  85. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/VTML20.out +0 -0
  86. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/VTML40.out +0 -0
  87. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/VTML80.out +0 -0
  88. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum100.out +0 -0
  89. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum30.out +0 -0
  90. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum35.out +0 -0
  91. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum40.out +0 -0
  92. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum45.out +0 -0
  93. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum50.out +0 -0
  94. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum55.out +0 -0
  95. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum60.out +0 -0
  96. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum62.out +0 -0
  97. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum65.out +0 -0
  98. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum70.out +0 -0
  99. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum75.out +0 -0
  100. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum80.out +0 -0
  101. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum85.out +0 -0
  102. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum90.out +0 -0
  103. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/blosum95.out +0 -0
  104. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/matrices/nucleotide.out +0 -0
  105. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/mmseqs.bat +0 -0
  106. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/mmseqs_Windows/util/bash-completion.sh +0 -0
  107. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/modeltest-ng_Windows/cyggcc_s-seh-1.dll +0 -0
  108. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/modeltest-ng_Windows/cygstdc++-6.dll +0 -0
  109. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/modeltest-ng_Windows/cygwin1.dll +0 -0
  110. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/modeltest-ng_Windows/modeltest-ng.exe +0 -0
  111. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/AUTHORS +0 -0
  112. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/CHANGELOG +0 -0
  113. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/LICENSE +0 -0
  114. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/README +0 -0
  115. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/bin/libgcc_s_dw2-1.dll +0 -0
  116. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/bin/libstdc++-6.dll +0 -0
  117. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/bin/trimal.exe +0 -0
  118. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/check_codon_alignments.py +0 -0
  119. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/compare_trimmed_msas.sh +0 -0
  120. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/generateRandomAlignmentsUsingAsSeedRealAlignments.py +0 -0
  121. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/generate_trimmed_msas.sh +0 -0
  122. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequence_representative_from_alignment.py +0 -0
  123. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequences_gaps_ratio.py +0 -0
  124. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/remove_shorter_sequences.py +0 -0
  125. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/selective_trimming_for_dNdS_analyses.based_neighbours.py +0 -0
  126. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/scripts/set_manual_boundaries.py +0 -0
  127. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/alignment.cpp +0 -0
  128. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/alignment.h +0 -0
  129. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/alignment.o +0 -0
  130. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.cpp +0 -0
  131. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.o +0 -0
  132. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.cpp +0 -0
  133. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.h +0 -0
  134. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.o +0 -0
  135. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/defines.h +0 -0
  136. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/main.cpp +0 -0
  137. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/makefile +0 -0
  138. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/makefile.MacOS +0 -0
  139. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/readAl.cpp +0 -0
  140. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/readal.exe +0 -0
  141. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.cpp +0 -0
  142. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.o +0 -0
  143. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.cpp +0 -0
  144. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.h +0 -0
  145. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.o +0 -0
  146. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.cpp +0 -0
  147. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.h +0 -0
  148. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.o +0 -0
  149. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statAl.cpp +0 -0
  150. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statal.exe +0 -0
  151. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.cpp +0 -0
  152. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.h +0 -0
  153. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.o +0 -0
  154. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.cpp +0 -0
  155. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.h +0 -0
  156. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.cpp +0 -0
  157. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.h +0 -0
  158. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.o +0 -0
  159. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/utils.cpp +0 -0
  160. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/utils.h +0 -0
  161. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/utils.o +0 -0
  162. {funvip-0.5.1 → funvip-0.5.3}/funvip/external/trimal.v1.4/trimAl/source/values.h +0 -0
  163. {funvip-0.5.1 → funvip-0.5.3}/funvip/main.py +0 -0
  164. {funvip-0.5.1 → funvip-0.5.3}/funvip/preset/.gitignore +0 -0
  165. {funvip-0.5.1 → funvip-0.5.3}/funvip/preset/accurate.yaml +0 -0
  166. {funvip-0.5.1 → funvip-0.5.3}/funvip/preset/fast.yaml +0 -0
  167. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/.gitignore +0 -0
  168. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__init__.py +0 -0
  169. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/CATV_pipe.cpython-310.pyc +0 -0
  170. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/CAT_V.cpython-310.pyc +0 -0
  171. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/CAT_V.cpython-39.pyc +0 -0
  172. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/CAT_V_pipe.cpython-39.pyc +0 -0
  173. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/__init__.cpython-310.pyc +0 -0
  174. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/__init__.cpython-39.pyc +0 -0
  175. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/align.cpython-310.pyc +0 -0
  176. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/cluster.cpython-39.pyc +0 -0
  177. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/dataset.cpython-39.pyc +0 -0
  178. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/ext.cpython-310.pyc +0 -0
  179. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/ext.cpython-39.pyc +0 -0
  180. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/hasher.cpython-39.pyc +0 -0
  181. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/initialize.cpython-39.pyc +0 -0
  182. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/io.cpython-310.pyc +0 -0
  183. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/io.cpython-39.pyc +0 -0
  184. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/logger.cpython-39.pyc +0 -0
  185. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/modeltest.cpython-39.pyc +0 -0
  186. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/multigene.cpython-39.pyc +0 -0
  187. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/ncbi.cpython-39.pyc +0 -0
  188. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/opt_generator.cpython-39.pyc +0 -0
  189. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/reporter.cpython-39.pyc +0 -0
  190. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/search.cpython-39.pyc +0 -0
  191. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/tool.cpython-39.pyc +0 -0
  192. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/validation.cpython-39.pyc +0 -0
  193. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/__pycache__/visualize.cpython-39.pyc +0 -0
  194. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/align.py +0 -0
  195. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/cluster.py +0 -0
  196. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/command.py +0 -0
  197. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/concatenate.py +0 -0
  198. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/ext.py +0 -0
  199. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/hasher.py +0 -0
  200. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/initialize.py +0 -0
  201. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/logger.py +0 -0
  202. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/logics.py +0 -0
  203. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/modeltest.py +0 -0
  204. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/ncbi.py +0 -0
  205. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/opt_generator.py +0 -0
  206. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/reporter.py +0 -0
  207. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/save.py +0 -0
  208. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/templates/template.html +0 -0
  209. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/tool.py +0 -0
  210. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/tree.py +0 -0
  211. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/tree_interpretation.py +0 -0
  212. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/tree_interpretation_pipe.py +0 -0
  213. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/trim.py +0 -0
  214. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/validate_option.py +0 -0
  215. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/validation.py +0 -0
  216. {funvip-0.5.1 → funvip-0.5.3}/funvip/src/version.py +0 -0
  217. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/penicillium/DB/DB_Penicillium.xlsx +0 -0
  218. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/penicillium/Options.config +0 -0
  219. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/penicillium/Query/Query.xlsx +0 -0
  220. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/penicillium/preset.yaml +0 -0
  221. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/sanghuangporus/DB/FunVIP_Sanghuangporus_db.xlsx +0 -0
  222. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/sanghuangporus/Query/FunVIP_Sanghuangporus_query.xlsx +0 -0
  223. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/sanghuangporus/preset.yaml +0 -0
  224. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/terrei/DB/FunVIP_Aspergillus_db.xlsx +0 -0
  225. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/terrei/Query/FunVIP_Aspergillus_query.xlsx +0 -0
  226. {funvip-0.5.1 → funvip-0.5.3}/funvip/test_dataset/terrei/preset.yaml +0 -0
  227. {funvip-0.5.1 → funvip-0.5.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FunVIP
3
- Version: 0.5.1
3
+ Version: 0.5.3
4
4
  Summary: Fungal Validation & Identification Pipeline
5
5
  Author-email: Changwan Seo <wan101010@snu.ac.kr>
6
6
  License: GPL-3.0
@@ -11,8 +11,9 @@ License-File: LICENSE
11
11
  Requires-Dist: biopython==1.84
12
12
  Requires-Dist: ete3==3.1.3
13
13
  Requires-Dist: Cython
14
+ Requires-Dist: contourpy<1.3
14
15
  Requires-Dist: dendropy
15
- Requires-Dist: GenMine<1.4.0,>=1.3.0
16
+ Requires-Dist: GenMine<1.5.0,>=1.3.0
16
17
  Requires-Dist: lxml
17
18
  Requires-Dist: matplotlib
18
19
  Requires-Dist: numpy<2.0.0
@@ -1,8 +1,9 @@
1
1
  biopython==1.84
2
2
  ete3==3.1.3
3
3
  Cython
4
+ contourpy<1.3
4
5
  dendropy
5
- GenMine<1.4.0,>=1.3.0
6
+ GenMine<1.5.0,>=1.3.0
6
7
  lxml
7
8
  matplotlib
8
9
  numpy<2.0.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FunVIP
3
- Version: 0.5.1
3
+ Version: 0.5.3
4
4
  Summary: Fungal Validation & Identification Pipeline
5
5
  Author-email: Changwan Seo <wan101010@snu.ac.kr>
6
6
  License: GPL-3.0
@@ -11,8 +11,9 @@ License-File: LICENSE
11
11
  Requires-Dist: biopython==1.84
12
12
  Requires-Dist: ete3==3.1.3
13
13
  Requires-Dist: Cython
14
+ Requires-Dist: contourpy<1.3
14
15
  Requires-Dist: dendropy
15
- Requires-Dist: GenMine<1.4.0,>=1.3.0
16
+ Requires-Dist: GenMine<1.5.0,>=1.3.0
16
17
  Requires-Dist: lxml
17
18
  Requires-Dist: matplotlib
18
19
  Requires-Dist: numpy<2.0.0
@@ -554,30 +554,41 @@ class FunVIP_var:
554
554
  critical_flag = 1
555
555
 
556
556
  # Report one non_overlapping pair
557
+ # generate list of sequence pair for easy break
558
+ list_candidates = []
557
559
  for i in range(len(seq_list) - 1):
558
- seq1 = seq_list[i]
559
- seq1_hash = seq1.id
560
- seq1_str = str(seq.seq)
561
-
562
560
  for j in range(i + 1, len(seq_list)):
563
- seq2 = seq_list[j]
564
- seq2_hash = seq2.id
565
- seq2_str = str(seq.seq)
561
+ list_candidates.append((i, j))
566
562
 
567
- has_overlap = False
563
+ for seq_pair in list_candidates:
564
+ has_overlap = False
568
565
 
569
- for k in range(len(seq1_str)):
570
- if seq1_str[k] != "-" and seq2_str[k] != "-":
571
- has_overlap = True
572
- break
566
+ i = seq_pair[0]
567
+ j = seq_pair[1]
573
568
 
574
- seq1_id = self.dict_hash_FI[seq1_hash]
575
- seq2_id = self.dict_hash_FI[seq2_hash]
576
-
577
- logging.critical(
578
- f"At least one pair of sequence does not overlap, such as {seq1_id} and {seq2_id}"
579
- )
580
- critical_flag = 1
569
+ seq1 = seq_list[i]
570
+ seq1_hash = seq1.id
571
+ seq1_str = str(seq1.seq)
572
+
573
+ seq2 = seq_list[j]
574
+ seq2_hash = seq2.id
575
+ seq2_str = str(seq2.seq)
576
+
577
+ for k in range(len(seq1_str)):
578
+ if seq1_str[k] != "-" and seq2_str[k] != "-":
579
+ has_overlap = True
580
+ break
581
+
582
+ # If no overlap, report
583
+ if has_overlap is False:
584
+ seq1_id = self.dict_hash_FI[seq1_hash]
585
+ seq2_id = self.dict_hash_FI[seq2_hash]
586
+
587
+ logging.critical(
588
+ f"At least one pair of sequence does not overlap, such as {seq1_id} and {seq2_id}"
589
+ )
590
+ critical_flag = 1
591
+ break
581
592
 
582
593
  fail_list.append((group, gene))
583
594
  # for tree, use hash dict with genus and species information
@@ -237,6 +237,7 @@ def search(query_fasta, db_fasta, path, opt) -> pd.DataFrame():
237
237
  f"{path.tmp}/{opt.runname}.m8",
238
238
  sep="\t",
239
239
  header=None,
240
+ quoting=1,
240
241
  names=[
241
242
  "qseqid",
242
243
  "sseqid",
@@ -111,8 +111,13 @@ class Funinfo:
111
111
 
112
112
  # Genus with space causes error while mafft
113
113
  # Genus with slash causes error while tree construction
114
- genus = genus.strip().replace(" ", "_").replace("/", "_")
115
- genus = manage_unicode(genus, column="Genus")
114
+ # 0.5.3 update : manage_unicode should run first to manage terminal spaces
115
+ genus = (
116
+ manage_unicode(genus, column="Genus")
117
+ .strip()
118
+ .replace(" ", "_")
119
+ .replace("/", "_")
120
+ )
116
121
 
117
122
  # Check ambiguity
118
123
  if self.genus != "" and self.genus != genus:
@@ -137,8 +142,8 @@ class Funinfo:
137
142
  # Genus with slash causes error while tree construction
138
143
 
139
144
  # species = species.strip().replace(" ", "_").replace("/", "_")
140
- species = species.strip().replace("/", "_")
141
- species = manage_unicode(species, column="Species")
145
+ # 0.5.3 update : manage_unicode should run first to manage terminal spaces
146
+ species = manage_unicode(species, column="Species").strip().replace("/", "_")
142
147
 
143
148
  # Check ambiguity
144
149
  if self.ori_species != "" and self.ori_species != species:
@@ -160,8 +165,8 @@ class Funinfo:
160
165
  group = ""
161
166
 
162
167
  # Group with space causes error while mafft
163
- group = group.strip().replace(" ", "_")
164
- group = manage_unicode(group, column="Group")
168
+ # 0.5.3 update : manage_unicode should run first to manage terminal spaces
169
+ group = manage_unicode(group, column="Group").strip().replace(" ", "_")
165
170
 
166
171
  # Check ambiguity
167
172
  if self.group != "" and self.group != group:
@@ -456,15 +461,35 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
456
461
  if table.endswith(extension):
457
462
  try:
458
463
  if dict_extension[extension] == "csv":
459
- df = pd.read_csv(
460
- table, sep=",", encoding="UTF-8", keep_default_na=False
461
- )
462
- flag_read_table = 1
464
+ encodings = ["UTF-8", "latin-1", "cp1252"]
465
+ for enc in encodings:
466
+ try:
467
+ df = pd.read_csv(
468
+ table,
469
+ sep=",",
470
+ encoding=enc,
471
+ keep_default_na=False,
472
+ quoting=1,
473
+ )
474
+ flag_read_table = 1
475
+ break
476
+ except UnicodeDecodeError:
477
+ continue
463
478
  elif dict_extension[extension] == "tsv":
464
- df = pd.read_csv(
465
- table, sep="\t", encoding="UTF-8", keep_default_na=False
466
- )
467
- flag_read_table = 1
479
+ encodings = ["UTF-8", "latin-1", "cp1252"]
480
+ for enc in encodings:
481
+ try:
482
+ df = pd.read_csv(
483
+ table,
484
+ sep="\t",
485
+ encoding=enc,
486
+ keep_default_na=False,
487
+ quoting=1,
488
+ )
489
+ flag_read_table = 1
490
+ break
491
+ except UnicodeDecodeError:
492
+ continue
468
493
  elif dict_extension[extension] == "excel":
469
494
  df = pd.read_excel(table)
470
495
  flag_read_table = 1
@@ -544,7 +569,9 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
544
569
  )
545
570
 
546
571
  # Sequence column operations, download sequences with GenMine
547
- if 1: # If download on/off option added, change this part
572
+ if (
573
+ 1
574
+ ): # If download on/off option added, change this part: for future server side implementation
548
575
  download_dict = {} # for downloaded sequences
549
576
  download_set = set()
550
577
  # 1 letter + 5 digit regex should be last, because they overlap with 2 letter + 6 digit ids / shotgun
@@ -587,7 +614,7 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
587
614
  # Write GenMine input file
588
615
  with open(f"{path.GenMine}/Accessions.txt", "w") as fg:
589
616
  for acc in download_list:
590
- fg.write(f"{acc.strip()}\n")
617
+ fg.write(f"{manage_unicode(acc).strip()}\n")
591
618
 
592
619
  # Run GenMine
593
620
  accession_path = f"{path.GenMine}/Accessions.txt"
@@ -741,12 +768,14 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
741
768
  seq_error = 0
742
769
  if gene in df.columns:
743
770
  if not (pd.isna(df[gene][n])):
771
+ # To prevent somewhat unicode error
772
+ seq_to_operate = manage_unicode(df[gene][n]).strip()
744
773
  # skip blank sequences
745
- if df[gene][n].startswith(">"):
774
+ if seq_to_operate.startswith(">"):
746
775
  # remove fasta header
747
- seq_string = "".join(df[gene][n].split("\n")[1:])
776
+ seq_string = "".join(seq_to_operate.split("\n")[1:])
748
777
  else:
749
- seq_string = df[gene][n]
778
+ seq_string = seq_to_operate
750
779
 
751
780
  # adjust seq_string
752
781
  seq_string = seq_string.replace("\n", "").replace(" ", "")
@@ -755,7 +784,7 @@ def input_table(funinfo_dict, path, opt, table_list, datatype):
755
784
  seq_error_cnt = 0
756
785
  seq_error_list = []
757
786
 
758
- seq_string = manage_unicode(seq_string)
787
+ # seq_string = manage_unicode(seq_string)
759
788
  for x in seq_string: # x is every character of sequence
760
789
  if not x.lower() in "acgtryswkmbdhvn-.":
761
790
  seq_error_cnt += 1
@@ -104,7 +104,13 @@ def visualize(
104
104
 
105
105
  ## Read result
106
106
  if FunVIP_result.endswith(".csv"):
107
- df = pd.read_csv(FunVIP_result)
107
+ encodings = ["UTF-8", "latin-1", "cp1252"]
108
+ for enc in encodings:
109
+ try:
110
+ df = pd.read_csv(FunVIP_result, encoding=enc, quoting=1)
111
+ break
112
+ except UnicodeDecodeError:
113
+ continue
108
114
  elif FunVIP_result.endswith(".xlsx"):
109
115
  df = pd.read_excel(FunVIP_result)
110
116
  else:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "FunVIP"
3
- version = "0.5.1"
3
+ version = "0.5.3"
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" }
@@ -10,8 +10,9 @@ dependencies = [
10
10
  "biopython==1.84",
11
11
  "ete3==3.1.3",
12
12
  "Cython",
13
+ "contourpy<1.3",
13
14
  "dendropy",
14
- "GenMine>=1.3.0, <1.4.0",
15
+ "GenMine>=1.3.0, <1.5.0",
15
16
  "lxml",
16
17
  "matplotlib",
17
18
  "numpy<2.0.0",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes