FunVIP 0.3.24.2__tar.gz → 0.3.24.4__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.
- {funvip-0.3.24.2 → funvip-0.3.24.4}/FunVIP.egg-info/PKG-INFO +1 -1
- {funvip-0.3.24.2 → funvip-0.3.24.4}/PKG-INFO +1 -1
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/cluster.py +5 -4
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/concatenate.py +76 -3
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/hasher.py +11 -4
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/tool.py +10 -1
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/tree_interpretation.py +266 -109
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/tree_interpretation_pipe.py +135 -78
- {funvip-0.3.24.2 → funvip-0.3.24.4}/pyproject.toml +1 -1
- {funvip-0.3.24.2 → funvip-0.3.24.4}/FunVIP.egg-info/SOURCES.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/FunVIP.egg-info/dependency_links.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/FunVIP.egg-info/entry_points.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/FunVIP.egg-info/requires.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/FunVIP.egg-info/top_level.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/LICENSE +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/MANIFEST.in +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/README.md +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/FunVIP_GUI.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/__init__.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/data/Option_manager.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/data/__init__.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/data/genus_line.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/Uninstall-ncbi-blast-2.12.0+.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/blastn.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/cleanup-blastdb-volumes.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/get_species_taxids.sh +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/legacy_blast.pl +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/makeblastdb.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/nghttp2.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/bin/update_blastdb.pl +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/BLAST_Windows/doc/README.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/FastTree_Windows/FastTree.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Documentation/Gblocks_documentation.html +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/Gblocks.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cox2.pir +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/cytb.pir +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad3.pir +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/more_alignments/nad5.pir +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/nad3.pir +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/Gblocks_Windows_0.91b/Gblocks_0.91b/paths +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/MAFFT_LICENSE +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/MAFFT_Windows.zip +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/RAxML_Windows/GPL-3.0.txt +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/RAxML_Windows/README +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/RAxML_Windows/raxmlHPC-PTHREADS-AVX2.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/__init__.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/bin/iqtree2-click.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/bin/iqtree2.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/bin/libiomp5md.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/example.cf +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/example.nex +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/example.phy +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/iqtree/models.nex +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/LICENSE.md +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/README.md +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/busybox.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/cygbz2-1.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/cyggcc_s-seh-1.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/cyggomp-1.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/cygstdc++-6.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/cygwin1.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/cygz.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/bin/mmseqs.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/examples/QUERY.fasta +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM10.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM100.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM110.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM120.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM130.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM140.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM150.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM160.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM170.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM180.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM190.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM20.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM30.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM40.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM50.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM60.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM70.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM80.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/PAM90.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/VTML10.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/VTML120.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/VTML160.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/VTML20.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/VTML40.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/VTML80.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum100.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum30.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum35.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum40.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum45.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum50.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum55.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum60.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum62.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum65.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum70.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum75.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum80.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum85.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum90.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/blosum95.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/matrices/nucleotide.out +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/mmseqs.bat +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/mmseqs_Windows/util/bash-completion.sh +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/AUTHORS +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/CHANGELOG +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/LICENSE +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/README +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/bin/libgcc_s_dw2-1.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/bin/libstdc++-6.dll +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/bin/trimal.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/check_codon_alignments.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/compare_trimmed_msas.sh +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/generateRandomAlignmentsUsingAsSeedRealAlignments.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/generate_trimmed_msas.sh +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequence_representative_from_alignment.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/get_sequences_gaps_ratio.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/remove_shorter_sequences.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/selective_trimming_for_dNdS_analyses.based_neighbours.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/scripts/set_manual_boundaries.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/alignment.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/alignment.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/alignment.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/autAlignment.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/compareFiles.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/defines.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/main.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/makefile +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/makefile.MacOS +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/readAl.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/readal.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/rwAlignment.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/sequencesMatrix.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/similarityMatrix.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statAl.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statal.exe +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsConservation.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsFiles.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/statisticsGaps.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/utils.cpp +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/utils.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/utils.o +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/external/trimal.v1.4/trimAl/source/values.h +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/main.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/preset/.gitignore +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/preset/accurate.yaml +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/preset/fast.yaml +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/.gitignore +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__init__.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/CATV_pipe.cpython-310.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/CAT_V.cpython-310.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/CAT_V.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/CAT_V_pipe.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/__init__.cpython-310.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/__init__.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/align.cpython-310.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/cluster.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/dataset.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/ext.cpython-310.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/ext.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/hasher.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/initialize.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/io.cpython-310.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/io.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/logger.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/modeltest.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/multigene.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/ncbi.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/opt_generator.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/reporter.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/search.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/tool.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/validation.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/__pycache__/visualize.cpython-39.pyc +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/align.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/command.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/dataset.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/ext.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/initialize.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/logger.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/logics.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/modeltest.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/ncbi.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/opt_generator.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/reporter.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/save.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/search.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/templates/template.html +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/tree.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/trim.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/validate_input.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/validate_option.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/validation.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/version.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/src/visualize.py +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/penicillium/DB/DB_Penicillium.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/penicillium/Options.config +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/penicillium/Query/Query.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/penicillium/preset.yaml +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/sanghuangporus/DB/FunVIP_Sanghuangporus_db.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/sanghuangporus/Query/FunVIP_Sanghuangporus_query.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/sanghuangporus/preset.yaml +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/terrei/DB/FunVIP_Aspergillus_db.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/terrei/Query/FunVIP_Aspergillus_query.xlsx +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/funvip/test_dataset/terrei/preset.yaml +0 -0
- {funvip-0.3.24.2 → funvip-0.3.24.4}/setup.cfg +0 -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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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():
|
|
@@ -169,6 +172,9 @@ def concatenate_df(V, path, opt):
|
|
|
169
172
|
"""
|
|
170
173
|
df_list.append(df)
|
|
171
174
|
|
|
175
|
+
print("line 175")
|
|
176
|
+
print(time_start - time())
|
|
177
|
+
|
|
172
178
|
if len(df_list) <= 0:
|
|
173
179
|
logging.warning(f"Stop concatenating because same or less than 0 gene exists")
|
|
174
180
|
return V
|
|
@@ -208,6 +214,10 @@ def concatenate_df(V, path, opt):
|
|
|
208
214
|
inplace=True,
|
|
209
215
|
)
|
|
210
216
|
|
|
217
|
+
print("line 217")
|
|
218
|
+
print(time_start - time())
|
|
219
|
+
|
|
220
|
+
"""
|
|
211
221
|
# Column name managing on subject_group
|
|
212
222
|
def same_merge(x, list_col):
|
|
213
223
|
values = x[list_col].dropna()
|
|
@@ -221,14 +231,32 @@ def concatenate_df(V, path, opt):
|
|
|
221
231
|
lambda x: same_merge(x, [f"{gene}_subject_group" for gene in gene_list]),
|
|
222
232
|
axis=1,
|
|
223
233
|
)
|
|
234
|
+
"""
|
|
235
|
+
subject_group_cols = [f"{gene}_subject_group" for gene in gene_list]
|
|
236
|
+
df_multigene_regression_ori["subject_group"] = (
|
|
237
|
+
df_multigene_regression_ori[subject_group_cols].bfill(axis=1).iloc[:, 0]
|
|
238
|
+
)
|
|
224
239
|
|
|
225
240
|
# For regression, leave anchor points with all genes existing
|
|
226
241
|
df_multigene_regression = df_multigene_regression_ori
|
|
227
242
|
|
|
243
|
+
"""
|
|
228
244
|
for gene in gene_list:
|
|
229
245
|
df_multigene_regression = df_multigene_regression[
|
|
230
246
|
df_multigene_regression[f"{gene}_bitscore"].notna()
|
|
231
247
|
]
|
|
248
|
+
"""
|
|
249
|
+
|
|
250
|
+
mask = (
|
|
251
|
+
df_multigene_regression_ori[[f"{gene}_bitscore" for gene in gene_list]]
|
|
252
|
+
.notna()
|
|
253
|
+
.all(axis=1)
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
df_multigene_regression = df_multigene_regression_ori[mask]
|
|
257
|
+
|
|
258
|
+
print("line 243")
|
|
259
|
+
print(time_start - time())
|
|
232
260
|
|
|
233
261
|
# Perform regression
|
|
234
262
|
# Get regression line
|
|
@@ -249,11 +277,12 @@ def concatenate_df(V, path, opt):
|
|
|
249
277
|
"""
|
|
250
278
|
# line origin other than (0,0,0,..)
|
|
251
279
|
if l0 is not None:
|
|
252
|
-
line
|
|
280
|
+
line -= l0
|
|
253
281
|
# points origin other than (0,0,0,..)
|
|
254
282
|
if p0 is not None:
|
|
255
|
-
pts
|
|
283
|
+
pts -= p0
|
|
256
284
|
|
|
285
|
+
"""
|
|
257
286
|
# dot product
|
|
258
287
|
dp = np.dot(pts, line)
|
|
259
288
|
# dot product value divided by normalized vector of line
|
|
@@ -263,8 +292,13 @@ def concatenate_df(V, path, opt):
|
|
|
263
292
|
# norm value of point
|
|
264
293
|
# length from p0 to point
|
|
265
294
|
pn = np.linalg.norm(pts, axis=1)
|
|
266
|
-
|
|
267
295
|
return np.sqrt(np.clip(pn**2 - pp**2, a_min=1e-10, a_max=None))
|
|
296
|
+
"""
|
|
297
|
+
|
|
298
|
+
norm_line = np.linalg.norm(line)
|
|
299
|
+
projected_lengths = np.dot(pts, line) / norm_line
|
|
300
|
+
distances = np.linalg.norm(pts, axis=1) ** 2 - projected_lengths**2
|
|
301
|
+
return np.sqrt(np.maximum(distances, 1e-10))
|
|
268
302
|
|
|
269
303
|
# Optimization function
|
|
270
304
|
def optimize_regression_line(points):
|
|
@@ -296,6 +330,7 @@ def concatenate_df(V, path, opt):
|
|
|
296
330
|
)
|
|
297
331
|
|
|
298
332
|
# Reset df before filling it
|
|
333
|
+
"""
|
|
299
334
|
def calculate_prediction(row, gene_list, coeff, grad):
|
|
300
335
|
# Calculate linear_constant of the strain
|
|
301
336
|
linear_constant = []
|
|
@@ -314,18 +349,40 @@ def concatenate_df(V, path, opt):
|
|
|
314
349
|
row[f"{gene}_bitscore"] = prediction
|
|
315
350
|
return row
|
|
316
351
|
|
|
352
|
+
|
|
317
353
|
def apply_prediction(row, gene_list, coeff, grad):
|
|
318
354
|
row = calculate_prediction(row, gene_list, coeff, grad)
|
|
319
355
|
return row
|
|
356
|
+
"""
|
|
357
|
+
|
|
358
|
+
def vectorized_prediction(df, gene_list, coeff, grad):
|
|
359
|
+
for k, gene in enumerate(gene_list):
|
|
360
|
+
linear_constant = (coeff[k] - df[f"{gene}_bitscore"]) / grad[k]
|
|
361
|
+
mean_linear_constant = linear_constant.mean()
|
|
362
|
+
|
|
363
|
+
# Fill missing bitscores
|
|
364
|
+
df[f"{gene}_bitscore"].fillna(
|
|
365
|
+
coeff[k] - mean_linear_constant * grad[k], inplace=True
|
|
366
|
+
)
|
|
367
|
+
return df
|
|
368
|
+
|
|
369
|
+
print("line 344")
|
|
370
|
+
print(time_start - time())
|
|
320
371
|
|
|
321
372
|
# Change to numpy for faster cazlculation
|
|
322
373
|
np_bitscore = df_multigene_regression[
|
|
323
374
|
[f"{gene}_bitscore" for gene in gene_list]
|
|
324
375
|
].to_numpy()
|
|
325
376
|
|
|
377
|
+
print("line 353")
|
|
378
|
+
print(time_start - time())
|
|
379
|
+
|
|
326
380
|
# get coefficient and gradient with regression
|
|
327
381
|
coeff, grad = optimize_regression_line(np_bitscore)
|
|
328
382
|
|
|
383
|
+
print("optimize regression line")
|
|
384
|
+
print(time_start - time())
|
|
385
|
+
|
|
329
386
|
# Inform users about linear regression result
|
|
330
387
|
# (C0 - X0) / K0 = (C1 -X1) / X1 = (C2 - X2) / X2 = K
|
|
331
388
|
trend_line_string = ""
|
|
@@ -341,9 +398,19 @@ def concatenate_df(V, path, opt):
|
|
|
341
398
|
# fill empty blast results for each gene with regression
|
|
342
399
|
# This might be accelerated by using "apply", but coded manually initially because of logical complexity
|
|
343
400
|
df_multigene_regression = df_multigene_regression_ori.copy()
|
|
401
|
+
|
|
402
|
+
df_multigene_regression = vectorized_prediction(
|
|
403
|
+
df_multigene_regression, gene_list, coeff, grad
|
|
404
|
+
)
|
|
405
|
+
|
|
406
|
+
print("vectorized regression line")
|
|
407
|
+
print(time_start - time())
|
|
408
|
+
|
|
409
|
+
"""
|
|
344
410
|
df_multigene_regression = df_multigene_regression.apply(
|
|
345
411
|
apply_prediction, args=(gene_list, coeff, grad), axis=1
|
|
346
412
|
)
|
|
413
|
+
"""
|
|
347
414
|
|
|
348
415
|
# Also update each gene bitscore matrix
|
|
349
416
|
# This part is needed, for multigene analysis, for example ITS, CaM and RPB2
|
|
@@ -356,6 +423,9 @@ def concatenate_df(V, path, opt):
|
|
|
356
423
|
].mean(axis=1)
|
|
357
424
|
V.cSR = df_multigene_regression.reset_index()
|
|
358
425
|
|
|
426
|
+
print("mean and reset index line")
|
|
427
|
+
print(time_start - time())
|
|
428
|
+
|
|
359
429
|
# Save it
|
|
360
430
|
# decode df is not working well here
|
|
361
431
|
if opt.nosearchresult is False:
|
|
@@ -365,4 +435,7 @@ def concatenate_df(V, path, opt):
|
|
|
365
435
|
fmt=opt.tableformat,
|
|
366
436
|
)
|
|
367
437
|
|
|
438
|
+
print("save table")
|
|
439
|
+
print(time_start - time())
|
|
440
|
+
|
|
368
441
|
return V
|
|
@@ -3,6 +3,7 @@ import re
|
|
|
3
3
|
from Bio import SeqIO
|
|
4
4
|
import copy
|
|
5
5
|
import pandas as pd
|
|
6
|
+
import sys
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
# Remove all newick illegal strings
|
|
@@ -119,11 +120,17 @@ def hasher(funinfo_list: list, path, option, outgroup: bool = False):
|
|
|
119
120
|
return group_result
|
|
120
121
|
|
|
121
122
|
|
|
122
|
-
def hash_funinfo_list(
|
|
123
|
+
def hash_funinfo_list(list_FI: list) -> list:
|
|
123
124
|
"""
|
|
124
125
|
Generate hash numbers
|
|
125
126
|
"""
|
|
126
|
-
for n, funinfo in enumerate(list_funinfo):
|
|
127
|
-
funinfo.update_hash(n)
|
|
128
127
|
|
|
129
|
-
|
|
128
|
+
for n, FI in enumerate(list_FI):
|
|
129
|
+
FI.update_hash(n)
|
|
130
|
+
|
|
131
|
+
# To reduce memory
|
|
132
|
+
|
|
133
|
+
# sys.intern(FI.hash)
|
|
134
|
+
# sys.intern(FI.id)
|
|
135
|
+
|
|
136
|
+
return list_FI
|
|
@@ -5,12 +5,21 @@ from Bio.Seq import Seq
|
|
|
5
5
|
# from .logger import Mes
|
|
6
6
|
import logging
|
|
7
7
|
from functools import lru_cache
|
|
8
|
-
import sys
|
|
8
|
+
import sys
|
|
9
|
+
import os
|
|
9
10
|
import shutil
|
|
10
11
|
import platform
|
|
11
12
|
from unidecode import unidecode
|
|
12
13
|
|
|
13
14
|
|
|
15
|
+
def sizeof_fmt(num, suffix="B"):
|
|
16
|
+
for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]:
|
|
17
|
+
if abs(num) < 1024.0:
|
|
18
|
+
return "%3.1f %s%s" % (num, unit, suffix)
|
|
19
|
+
num /= 1024.0
|
|
20
|
+
return "%.1f %s%s" % (num, "Yi", suffix)
|
|
21
|
+
|
|
22
|
+
|
|
14
23
|
# Maybe we should move this to /funvip/src/toolbox/ and split these to multiple files
|
|
15
24
|
def initialize_path(path):
|
|
16
25
|
global genus_file
|