b2bTools 3.0.8b4__tar.gz → 3.0.9__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.
- b2btools-3.0.9/LICENSE.md +10 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/MANIFEST.in +3 -1
- b2btools-3.0.9/PKG-INFO +472 -0
- b2btools-3.0.9/README.md +357 -0
- b2btools-3.0.9/b2bTools/__init__.py +60 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/Io.py +138 -162
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/File.py +1 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/TagTable.py +3 -3
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/Text.py +3 -3
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/general/formatIO.py +5 -5
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/coordinatesIO.py +4 -4
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/csaIO.py +2 -2
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/dihedralConstraintsIO.py +3 -3
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/distanceConstraintsIO.py +8 -8
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/hExchProtectionIO.py +3 -3
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/hExchRateIO.py +3 -3
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/jCouplingIO.py +6 -6
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/orderParamIO.py +2 -2
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/rdcConstraintsIO.py +10 -10
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/rdcIO.py +4 -4
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/t1RhoRelaxIO.py +3 -3
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/util.py +3 -3
- b2btools-3.0.9/b2bTools/general/external_tools.py +74 -0
- b2btools-3.0.9/b2bTools/general/parsers/alignments.py +106 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/parsers/fasta.py +7 -5
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/parsers/nef.py +3 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/parsers/nmr_star.py +5 -1
- b2btools-3.0.9/b2bTools/general/timing.py +154 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/multipleSeq/msa_core.py +7 -0
- b2btools-3.0.9/b2bTools/nmr/shiftCrypt/__main__.py +319 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftCrypt.py +63 -79
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/agmata.py +5 -11
- b2btools-3.0.9/b2bTools/singleSeq/Agmata/bin/agmata_c_final_linux_aarch64 +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/Agmata/bin/agmata_c_final_mac_arm64 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/sources/agmata_source.py +22 -4
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/standalone.py +23 -13
- {b2btools-3.0.8b4/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx → b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux_aarch64}/__init__.py +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux_aarch64/chkparse +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux_aarch64/psipass2 +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux_aarch64/psipred +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux_aarch64/seq2mtx +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx_arm64/chkparse +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx_arm64/psipass2 +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx_arm64/psipred +0 -0
- b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx_arm64/seq2mtx +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/runpsipred_single.py +46 -6
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/Predictor.py +4 -2
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/EFoldMine/Predictor.py +10 -1
- b2btools-3.0.9/b2bTools/singleSeq/PSPer/Constants.py +11 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/phase_transition_hmm.py +1 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/standalone.py +10 -17
- b2btools-3.0.9/b2bTools/web_predictor.py +58 -0
- b2btools-3.0.9/b2bTools/wrapper_source/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/wrapper_source/metadata.py +9 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/wrapper_source/wrapper_utils.py +140 -66
- b2btools-3.0.9/b2bTools.egg-info/PKG-INFO +472 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools.egg-info/SOURCES.txt +18 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools.egg-info/entry_points.txt +1 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools.egg-info/requires.txt +20 -5
- b2btools-3.0.9/b2bTools_version/__init__.py +0 -0
- b2btools-3.0.9/b2bTools_version/versioning.py +2 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/requirements-py310.txt +0 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/requirements-py311.txt +0 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/requirements-py312.txt +0 -1
- b2btools-3.0.9/requirements-py313.txt +8 -0
- b2btools-3.0.9/requirements-py314.txt +8 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/requirements-py38.txt +0 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/requirements-py39.txt +0 -1
- {b2btools-3.0.8b4 → b2btools-3.0.9}/setup.py +20 -8
- b2btools-3.0.8b4/PKG-INFO +0 -1006
- b2btools-3.0.8b4/README.md +0 -906
- b2btools-3.0.8b4/b2bTools/__init__.py +0 -1
- b2btools-3.0.8b4/b2bTools/general/parsers/alignments.py +0 -97
- b2btools-3.0.8b4/b2bTools/singleSeq/PSPer/Constants.py +0 -19
- b2btools-3.0.8b4/b2bTools/web_predictor.py +0 -44
- b2btools-3.0.8b4/b2bTools.egg-info/PKG-INFO +0 -1006
- b2btools-3.0.8b4/b2bTools_version/versioning.py +0 -2
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/__main__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/Util.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/SaveFrame.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/Utils.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/bmrb/base.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/general/Constants.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/general/Util.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/general/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/chemShiftsIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/constants.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/generalIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/hBondConstraintsIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/hetNoeIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/nmrStarDict.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/peopleAndCitationsIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/projectIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/sequenceIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/t1RelaxIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/format/nmrStar/t2RelaxIO.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/general/Constants.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/general/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/universal/Constants.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/universal/Io.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/universal/Util.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/ccpn/universal/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/parsers/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/general/plotter.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/multipleSeq/Predictor.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/multipleSeq/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/multipleSeq/mapToMSA.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/multipleSeq/msa_plot.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/multipleSeq/msa_quantification.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/Predictor.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/alignment.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_NH.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_NH_p27.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_NH_p37.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_commons.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_commons_p27.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_commons_p37.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_full.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_full_p27.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/models/new_full_p37.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/autoenc_solo4.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/autoenchoder_standalone_version.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/chemical_shifts_custom_model.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/parser.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/shiftcrypt_parser.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/nmr/shiftCrypt/shiftcrypt_pkg/utils.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/requirements-dev.txt +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/requirements.txt +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/Predictor.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/bin/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/bin/agmata_c_final_linux +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/bin/agmata_c_final_mac +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/marshalled/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/marshalled/agmata_discriminative_converted.m +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/marshalled/discriminative.m +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/marshalled/model_parameters.m +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Agmata/sources/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/Predictor.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/disomine_converted.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/gru80_final.mtorch +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/torch_NN_gru_80AUC_prova.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/.DS_Store +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/.DS_Store +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux/chkparse +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux/psipass2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux/psipred +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux/seq2mtx +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data → b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx/chkparse +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx/psipass2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx/psipred +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx/seq2mtx +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine → b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx_arm64}/__init__.py +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models → b2btools-3.0.9/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights.dat +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights.dat2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights.dat3 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights_p2.dat +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights_s.dat +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights_s.dat2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/weights_s.dat3 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DisoMine/vector_builder/vettore_gen.py +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models/backbone → b2btools-3.0.9/b2bTools/singleSeq/DynaMine}/__init__.py +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models/coil → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/README.txt +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models/helix → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models/backbone}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read11.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read13.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read15.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read17.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read19.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read21.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read23.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read25.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read3.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read5.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read51.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read7.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/backbone/read9.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models/ppII → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models/coil}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read11.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read13.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read15.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read17.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read19.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read25.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read3.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read38.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read5.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read51.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read7.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/coil/read9.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models/sheet → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models/helix}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read11.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read13.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read15.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read17.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read19.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read25.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read3.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read38.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read5.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read51.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read7.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/helix/read9.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/DynaMine/models/sidechain → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models/ppII}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read11.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read13.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read15.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read17.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read19.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read25.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read3.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read38.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read5.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read51.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read7.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/ppII/read9.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/EFoldMine → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models/sheet}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read11.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read13.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read15.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read17.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read19.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read25.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read3.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read38.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read5.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read51.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read7.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sheet/read9.model_new.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/README.txt +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/EFoldMine/models → b2btools-3.0.9/b2bTools/singleSeq/DynaMine/models/sidechain}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read11.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read13.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read15.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read17.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read19.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read21.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read23.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read25.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read3.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read5.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read51.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read7.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/DynaMine/models/sidechain/read9.model.pkl.bz2 +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/PSPer → b2btools-3.0.9/b2bTools/singleSeq/EFoldMine}/__init__.py +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/PSPer/hmmer_research → b2btools-3.0.9/b2bTools/singleSeq/EFoldMine/models}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/EFoldMine/models/efModelRBF2016.proba.cPickle +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/EFoldMine/models/efoldmine_converted.cPickle +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/PSPer.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/Predictor.py +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/PSPer/marshalled → b2btools-3.0.9/b2bTools/singleSeq/PSPer}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/_numpy_hmm.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/hmmer_research/PF00270_DEAD_seed.txt +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq/PSPer/source → b2btools-3.0.9/b2bTools/singleSeq/PSPer/hmmer_research}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/hmmer_research/hmmsearch_otf.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/hmmer_research/phase_trans.hmm +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/hmmer_research/rrm_align.pfam +0 -0
- {b2btools-3.0.8b4/b2bTools/singleSeq → b2btools-3.0.9/b2bTools/singleSeq/PSPer/marshalled}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/marshalled/emissions.m +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/marshalled/scaler.m +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/marshalled/scaler_new.m +0 -0
- {b2btools-3.0.8b4/b2bTools/wrapper_source → b2btools-3.0.9/b2bTools/singleSeq/PSPer/source}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/source/utils.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/PSPer/torch_NN_gru_80AUC_prova.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/Predictor.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/README.md +0 -0
- {b2btools-3.0.8b4/b2bTools_version → b2btools-3.0.9/b2bTools/singleSeq}/__init__.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/constants.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools/singleSeq/single_core.py +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools.egg-info/dependency_links.txt +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/b2bTools.egg-info/top_level.txt +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/requirements-py37.txt +0 -0
- {b2btools-3.0.8b4 → b2btools-3.0.9}/setup.cfg +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
=====================
|
|
3
|
+
|
|
4
|
+
Copyright © 2021 Wim Vranken, Bio2Byte group, VUB. https://bio2byte.be
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
7
|
+
|
|
8
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
9
|
+
|
|
10
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -10,6 +10,8 @@ include b2bTools/singleSeq/DisoMine/vector_builder/*
|
|
|
10
10
|
include b2bTools/singleSeq/DisoMine/vector_builder/psipred/*
|
|
11
11
|
include b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux/*
|
|
12
12
|
include b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx/*
|
|
13
|
+
include b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/linux_aarch64/*
|
|
14
|
+
include b2bTools/singleSeq/DisoMine/vector_builder/psipred/bin/osx_arm64/*
|
|
13
15
|
include b2bTools/singleSeq/DisoMine/vector_builder/psipred/data/*
|
|
14
16
|
include b2bTools/singleSeq/DynaMine/*
|
|
15
17
|
include b2bTools/singleSeq/DynaMine/models/*
|
|
@@ -32,6 +34,7 @@ include b2bTools/nmr/shiftCrypt/models/new_commons.mtorch
|
|
|
32
34
|
include b2bTools/nmr/shiftCrypt/models/new_full.mtorch
|
|
33
35
|
include b2bTools/nmr/shiftCrypt/models/new_NH.mtorch
|
|
34
36
|
include README.md
|
|
37
|
+
include LICENSE.md
|
|
35
38
|
include setup.py
|
|
36
39
|
|
|
37
40
|
exclude b2bTools/.gitignore
|
|
@@ -46,5 +49,4 @@ exclude b2bTools/singleSeq/DisoMine/vector_builder/psipred/README
|
|
|
46
49
|
exclude b2bTools/run/*
|
|
47
50
|
exclude b2bTools/run/input_examples/*
|
|
48
51
|
exclude b2bTools/run/out/*
|
|
49
|
-
exclude b2bTools/test.py
|
|
50
52
|
exclude test*.py
|
b2btools-3.0.9/PKG-INFO
ADDED
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: b2bTools
|
|
3
|
+
Version: 3.0.9
|
|
4
|
+
Summary: bio2Byte software suite to predict protein biophysical properties from their amino-acid sequences
|
|
5
|
+
Home-page: https://bio2byte.be
|
|
6
|
+
Author: Wim Vranken
|
|
7
|
+
Author-email: Wim.Vranken@vub.be
|
|
8
|
+
Maintainer: Adrián Díaz, Sophie-Luise Heidig, Wim Vranken
|
|
9
|
+
Maintainer-email: bio2byte@vub.be
|
|
10
|
+
License: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
11
|
+
Project-URL: Documentation, https://bio2byte.be/b2btools/package-documentation
|
|
12
|
+
Project-URL: HTML interface, https://bio2byte.be/online_predictors
|
|
13
|
+
Keywords: bio2byte,b2bTools,biology,bioinformatics,bio-informatics,fasta,proteins,protein-folding
|
|
14
|
+
Classifier: Natural Language :: English
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
24
|
+
Classifier: Operating System :: MacOS
|
|
25
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
26
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
27
|
+
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
29
|
+
Classifier: Intended Audience :: Science/Research
|
|
30
|
+
Classifier: Intended Audience :: Education
|
|
31
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
32
|
+
Requires-Python: >=3.7, <3.15
|
|
33
|
+
Description-Content-Type: text/markdown
|
|
34
|
+
License-File: LICENSE.md
|
|
35
|
+
Requires-Dist: biopython~=1.79; python_version == "3.7"
|
|
36
|
+
Requires-Dist: matplotlib~=3.5; python_version == "3.7"
|
|
37
|
+
Requires-Dist: numpy~=1.21; python_version == "3.7"
|
|
38
|
+
Requires-Dist: pandas~=1.1; python_version == "3.7"
|
|
39
|
+
Requires-Dist: requests~=2.0; python_version == "3.7"
|
|
40
|
+
Requires-Dist: scikit-learn~=1.0.2; python_version == "3.7"
|
|
41
|
+
Requires-Dist: scipy~=1.7.3; python_version == "3.7"
|
|
42
|
+
Requires-Dist: torch~=1.13.0; python_version == "3.7"
|
|
43
|
+
Requires-Dist: urllib3~=1.26.6; python_version == "3.7"
|
|
44
|
+
Requires-Dist: biopython~=1.81; python_version == "3.8"
|
|
45
|
+
Requires-Dist: matplotlib~=3.5; python_version == "3.8"
|
|
46
|
+
Requires-Dist: numpy~=1.24; python_version == "3.8"
|
|
47
|
+
Requires-Dist: pandas<2,~=1.1; python_version == "3.8"
|
|
48
|
+
Requires-Dist: requests~=2.0; python_version == "3.8"
|
|
49
|
+
Requires-Dist: scikit-learn~=1.0.2; python_version == "3.8"
|
|
50
|
+
Requires-Dist: scipy~=1.10.1; python_version == "3.8"
|
|
51
|
+
Requires-Dist: torch~=1.13; python_version == "3.8"
|
|
52
|
+
Requires-Dist: biopython~=1.81; python_version == "3.9"
|
|
53
|
+
Requires-Dist: matplotlib~=3.9.4; python_version == "3.9"
|
|
54
|
+
Requires-Dist: numpy~=1.24; python_version == "3.9"
|
|
55
|
+
Requires-Dist: pandas<2,~=1.1; python_version == "3.9"
|
|
56
|
+
Requires-Dist: requests~=2.0; python_version == "3.9"
|
|
57
|
+
Requires-Dist: scikit-learn~=1.0.2; python_version == "3.9"
|
|
58
|
+
Requires-Dist: scipy~=1.10.1; python_version == "3.9"
|
|
59
|
+
Requires-Dist: torch~=1.13; python_version == "3.9"
|
|
60
|
+
Requires-Dist: biopython~=1.83; python_version == "3.10"
|
|
61
|
+
Requires-Dist: matplotlib~=3.5; python_version == "3.10"
|
|
62
|
+
Requires-Dist: numpy~=1.26.4; python_version == "3.10"
|
|
63
|
+
Requires-Dist: pandas~=2.0; python_version == "3.10"
|
|
64
|
+
Requires-Dist: requests~=2.31; python_version == "3.10"
|
|
65
|
+
Requires-Dist: scikit-learn~=1.0.2; python_version == "3.10"
|
|
66
|
+
Requires-Dist: scipy~=1.12.0; python_version == "3.10"
|
|
67
|
+
Requires-Dist: torch~=1.13; python_version == "3.10"
|
|
68
|
+
Requires-Dist: biopython~=1.83; python_version == "3.11"
|
|
69
|
+
Requires-Dist: matplotlib~=3.8; python_version == "3.11"
|
|
70
|
+
Requires-Dist: numpy~=1.26.4; python_version == "3.11"
|
|
71
|
+
Requires-Dist: pandas~=2.0; python_version == "3.11"
|
|
72
|
+
Requires-Dist: requests~=2.31; python_version == "3.11"
|
|
73
|
+
Requires-Dist: scikit-learn~=1.1.0; python_version == "3.11"
|
|
74
|
+
Requires-Dist: scipy~=1.12.0; python_version == "3.11"
|
|
75
|
+
Requires-Dist: torch~=2.2.0; python_version == "3.11"
|
|
76
|
+
Requires-Dist: biopython~=1.87.0; python_version == "3.12"
|
|
77
|
+
Requires-Dist: matplotlib~=3.10.9; python_version == "3.12"
|
|
78
|
+
Requires-Dist: numpy~=1.26.0; python_version == "3.12"
|
|
79
|
+
Requires-Dist: pandas~=2.2.3; python_version == "3.12"
|
|
80
|
+
Requires-Dist: requests~=2.33.1; python_version == "3.12"
|
|
81
|
+
Requires-Dist: scikit-learn~=1.4.0; python_version == "3.12"
|
|
82
|
+
Requires-Dist: scipy~=1.12.0; python_version == "3.12"
|
|
83
|
+
Requires-Dist: torch~=2.2.2; python_version == "3.12"
|
|
84
|
+
Requires-Dist: biopython~=1.88; python_version == "3.13"
|
|
85
|
+
Requires-Dist: matplotlib~=3.11; python_version == "3.13"
|
|
86
|
+
Requires-Dist: numpy~=2.5; python_version == "3.13"
|
|
87
|
+
Requires-Dist: pandas~=3.0; python_version == "3.13"
|
|
88
|
+
Requires-Dist: requests~=2.32; python_version == "3.13"
|
|
89
|
+
Requires-Dist: scikit-learn~=1.9; python_version == "3.13"
|
|
90
|
+
Requires-Dist: scipy~=1.18; python_version == "3.13"
|
|
91
|
+
Requires-Dist: torch~=2.14; python_version == "3.13"
|
|
92
|
+
Requires-Dist: biopython~=1.88; python_version == "3.14"
|
|
93
|
+
Requires-Dist: matplotlib~=3.11; python_version == "3.14"
|
|
94
|
+
Requires-Dist: numpy~=2.5; python_version == "3.14"
|
|
95
|
+
Requires-Dist: pandas~=3.0; python_version == "3.14"
|
|
96
|
+
Requires-Dist: requests~=2.32; python_version == "3.14"
|
|
97
|
+
Requires-Dist: scikit-learn~=1.9; python_version == "3.14"
|
|
98
|
+
Requires-Dist: scipy~=1.18; python_version == "3.14"
|
|
99
|
+
Requires-Dist: torch~=2.14; python_version == "3.14"
|
|
100
|
+
Dynamic: author
|
|
101
|
+
Dynamic: author-email
|
|
102
|
+
Dynamic: classifier
|
|
103
|
+
Dynamic: description
|
|
104
|
+
Dynamic: description-content-type
|
|
105
|
+
Dynamic: home-page
|
|
106
|
+
Dynamic: keywords
|
|
107
|
+
Dynamic: license
|
|
108
|
+
Dynamic: license-file
|
|
109
|
+
Dynamic: maintainer
|
|
110
|
+
Dynamic: maintainer-email
|
|
111
|
+
Dynamic: project-url
|
|
112
|
+
Dynamic: requires-dist
|
|
113
|
+
Dynamic: requires-python
|
|
114
|
+
Dynamic: summary
|
|
115
|
+
|
|
116
|
+
# b2bTools
|
|
117
|
+
|
|
118
|
+
`b2bTools` is the Bio2Byte Python package for predicting biophysical properties
|
|
119
|
+
from protein sequences and multiple-sequence alignments. It also provides
|
|
120
|
+
lightweight readers for FASTA, alignment, NEF, and NMR-STAR files.
|
|
121
|
+
|
|
122
|
+
> **ELIXIR Belgium infrastructure**
|
|
123
|
+
> b2bTools is an ELIXIR Belgium Core Service. Explore the
|
|
124
|
+
> [ELIXIR Belgium services](https://elixir-belgium.org/services).
|
|
125
|
+
|
|
126
|
+
## Installation
|
|
127
|
+
|
|
128
|
+
Install the package with `python -m pip install b2bTools`.
|
|
129
|
+
|
|
130
|
+
Supported Python versions are 3.7 through 3.14 (`>=3.7, <3.15`).
|
|
131
|
+
|
|
132
|
+
Optional external tools are required only for particular workflows:
|
|
133
|
+
|
|
134
|
+
- [HMMER](http://hmmer.org) is required for PSPer.
|
|
135
|
+
- [T-Coffee](https://tcoffee.crg.eu) is required when b2bTools creates an
|
|
136
|
+
alignment from two input sequence files.
|
|
137
|
+
|
|
138
|
+
Two commands are installed: `b2bTools` for sequence-based predictors, and
|
|
139
|
+
`shiftcrypt` for NMR chemical-shift input.
|
|
140
|
+
|
|
141
|
+
<!-- docs-test: cli-help -->
|
|
142
|
+
```console
|
|
143
|
+
python -m b2bTools --help
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
<!-- docs-test: shiftcrypt-cli-help -->
|
|
147
|
+
```console
|
|
148
|
+
python -m b2bTools.nmr.shiftCrypt --help
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Choose a workflow
|
|
152
|
+
|
|
153
|
+
| Input | Entry point | Use it for |
|
|
154
|
+
| --- | --- | --- |
|
|
155
|
+
| One or more unaligned protein sequences | `SingleSeq` | Per-residue predictions from FASTA input. |
|
|
156
|
+
| A multiple-sequence alignment | `MultipleSeq` | Predictions mapped to an existing alignment. |
|
|
157
|
+
| NMR chemical shifts | `ShiftCrypt` | Residue-level biophysical indices from NEF or NMR-STAR data. |
|
|
158
|
+
| File parsing only | `b2bTools.general.parsers` | Reading supported formats without importing predictor models. |
|
|
159
|
+
|
|
160
|
+
## Quick start
|
|
161
|
+
|
|
162
|
+
### Predict properties for a FASTA file
|
|
163
|
+
|
|
164
|
+
Create a FASTA file named `proteins.fasta`, then run DynaMine and write its
|
|
165
|
+
results as JSON. Add other predictor constants from the reference table below
|
|
166
|
+
when needed.
|
|
167
|
+
|
|
168
|
+
<!-- docs-test: single-sequence -->
|
|
169
|
+
```python
|
|
170
|
+
from pathlib import Path
|
|
171
|
+
import json
|
|
172
|
+
|
|
173
|
+
from b2bTools import SingleSeq, constants
|
|
174
|
+
|
|
175
|
+
input_fasta = Path("proteins.fasta")
|
|
176
|
+
predictor = SingleSeq(str(input_fasta), short_id=False)
|
|
177
|
+
predictor.predict(tools=[constants.TOOL_DYNAMINE])
|
|
178
|
+
|
|
179
|
+
results = predictor.get_all_predictions()
|
|
180
|
+
Path("predictions.json").write_text(json.dumps(results, indent=2), encoding="utf-8")
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
`results["proteins"]` maps each sequence identifier to its per-residue values.
|
|
184
|
+
`results["metadata"]` records the requested tools and package metadata. Use
|
|
185
|
+
`get_all_predictions_tabular(path, sep=",")` for CSV or
|
|
186
|
+
`get_all_predictions_tabular(path, sep="\t")` for TSV output.
|
|
187
|
+
|
|
188
|
+
### Predict properties for an existing alignment
|
|
189
|
+
|
|
190
|
+
Use an existing, aligned FASTA file when the relationship between residues must
|
|
191
|
+
be preserved across sequences.
|
|
192
|
+
|
|
193
|
+
<!-- docs-test: multiple-sequence -->
|
|
194
|
+
```python
|
|
195
|
+
from pathlib import Path
|
|
196
|
+
|
|
197
|
+
from b2bTools import MultipleSeq, constants
|
|
198
|
+
|
|
199
|
+
input_alignment = Path("alignment.fasta")
|
|
200
|
+
predictor = MultipleSeq()
|
|
201
|
+
predictor.from_aligned_file(str(input_alignment), tools=[constants.TOOL_DYNAMINE])
|
|
202
|
+
|
|
203
|
+
results = predictor.get_all_predictions_msa()
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
`results["proteins"]` contains the aligned prediction values. To select one
|
|
207
|
+
sequence, pass its identifier to `get_all_predictions_msa(sequence_key)`.
|
|
208
|
+
|
|
209
|
+
## Predictor reference
|
|
210
|
+
|
|
211
|
+
| Predictor | Constant | Produces |
|
|
212
|
+
| --- | --- | --- |
|
|
213
|
+
| DynaMine | `constants.TOOL_DYNAMINE` | Backbone and side-chain dynamics; helix, sheet, coil, and polyproline-II propensities. |
|
|
214
|
+
| EFoldMine | `constants.TOOL_EFOLDMINE` | Early-folding propensity. |
|
|
215
|
+
| DisoMine | `constants.TOOL_DISOMINE` | Disorder propensity. |
|
|
216
|
+
| AgMata | `constants.TOOL_AGMATA` | Beta-aggregation propensity. |
|
|
217
|
+
| PSPer | `constants.TOOL_PSP` | Phase-separation features and a protein-level score. |
|
|
218
|
+
|
|
219
|
+
Dependencies are resolved automatically. For example, requesting PSPer also
|
|
220
|
+
runs the predictors whose outputs it requires. Runtime depends on the selected
|
|
221
|
+
tools, sequence lengths, and the number of sequences.
|
|
222
|
+
|
|
223
|
+
## Understanding prediction outputs
|
|
224
|
+
|
|
225
|
+
The prediction APIs preserve positional correspondence: element *n* in a
|
|
226
|
+
per-residue prediction list describes `residue_index` *n*. This makes the JSON
|
|
227
|
+
results suitable for programmatic analysis and the tabular exports suitable for
|
|
228
|
+
spreadsheets and statistical tools.
|
|
229
|
+
|
|
230
|
+
### JSON result structure
|
|
231
|
+
|
|
232
|
+
`SingleSeq.get_all_predictions()` returns `proteins` and `metadata`.
|
|
233
|
+
`proteins` maps each sequence identifier to its sequence and prediction lists;
|
|
234
|
+
`metadata` records the requested tools and package information. For an existing
|
|
235
|
+
alignment, `MultipleSeq.get_all_predictions_msa()` returns `proteins` together
|
|
236
|
+
with `sequences`, which retains the aligned sequence (including gap positions)
|
|
237
|
+
for every identifier.
|
|
238
|
+
|
|
239
|
+
Every numeric prediction key contains one value per residue or aligned
|
|
240
|
+
position. `viterbi` is the exception: it contains PSPer's categorical state
|
|
241
|
+
labels. A value can be `null` when a property was not calculated for that
|
|
242
|
+
position, for example at an alignment gap.
|
|
243
|
+
|
|
244
|
+
### Per-residue CSV and TSV columns
|
|
245
|
+
|
|
246
|
+
`get_all_predictions_tabular(path, sep=",")` writes a CSV file; pass
|
|
247
|
+
`sep="\t"` for TSV. Each row represents one sequence position. Numeric values
|
|
248
|
+
are rounded to three decimal places in this export.
|
|
249
|
+
|
|
250
|
+
| Column | Meaning | Type in the table |
|
|
251
|
+
| --- | --- | --- |
|
|
252
|
+
| `sequence_id` | Identifier of the input sequence. | Text |
|
|
253
|
+
| `residue` | One-letter residue code. In an MSA export, this can be the gap character `-`. | Text |
|
|
254
|
+
| `residue_index` | Zero-based position in the sequence or alignment. | Integer |
|
|
255
|
+
| Prediction key | Value for the property described below. A blank cell means that the predictor was not selected or no value is available at that position. | Numeric, except `viterbi` |
|
|
256
|
+
|
|
257
|
+
The following keys are included as prediction columns. Their JSON values are
|
|
258
|
+
ordered lists; in the CSV or TSV, each list is expanded into its corresponding
|
|
259
|
+
residue row.
|
|
260
|
+
|
|
261
|
+
| Predictor | Output keys | Value type |
|
|
262
|
+
| --- | --- | --- |
|
|
263
|
+
| DynaMine | `backbone`, `sidechain`, `ppII`, `coil`, `sheet`, `helix` | Numeric per residue |
|
|
264
|
+
| EFoldMine | `earlyFolding` | Numeric per residue |
|
|
265
|
+
| DisoMine | `disoMine` | Numeric per residue |
|
|
266
|
+
| AgMata | `agmata` | Numeric per residue |
|
|
267
|
+
| PSPer | `complexity`, `arg`, `tyr`, `RRM`, `disorder` | Numeric per residue |
|
|
268
|
+
| PSPer | `viterbi` | Categorical state per residue |
|
|
269
|
+
|
|
270
|
+
PSPer also supplies `protein_score`, a single score for the complete protein.
|
|
271
|
+
It is available in the JSON result and metadata statistics rather than as a
|
|
272
|
+
per-residue column.
|
|
273
|
+
|
|
274
|
+
### MSA distribution outputs
|
|
275
|
+
|
|
276
|
+
`MultipleSeq.get_all_predictions_msa_distrib()` summarises the numeric
|
|
277
|
+
predictions across sequences at every alignment position. Its `results` value
|
|
278
|
+
is organised as `prediction_key` → `summary_name` → ordered values. Use
|
|
279
|
+
`get_msa_distrib_tabular(path, sep=",")` to write the same data as columns
|
|
280
|
+
named `prediction_key_summary_name`, alongside the zero-based
|
|
281
|
+
`residue_index`.
|
|
282
|
+
|
|
283
|
+
| Summary name | Meaning at each alignment position |
|
|
284
|
+
| --- | --- |
|
|
285
|
+
| `median` | Median of available numeric values. |
|
|
286
|
+
| `firstQuartile` | 25th percentile. |
|
|
287
|
+
| `thirdQuartile` | 75th percentile. |
|
|
288
|
+
| `bottomOutlier` | Lower outlier boundary: first quartile minus 1.5 times the interquartile range. |
|
|
289
|
+
| `topOutlier` | Upper outlier boundary: third quartile plus 1.5 times the interquartile range. |
|
|
290
|
+
|
|
291
|
+
`viterbi` is categorical, so it is intentionally excluded from MSA distribution
|
|
292
|
+
statistics. When an alignment column has no numeric values, all of its summary
|
|
293
|
+
values are `null` (or blank in the tabular export).
|
|
294
|
+
|
|
295
|
+
## File-parser reference
|
|
296
|
+
|
|
297
|
+
The parser modules are safe to import in services that do not need PyTorch or
|
|
298
|
+
other predictor-model dependencies.
|
|
299
|
+
|
|
300
|
+
### FASTA
|
|
301
|
+
|
|
302
|
+
`FastaIO.read_fasta_from_file` and `FastaIO.read_fasta_from_string` return a
|
|
303
|
+
list of `(sequence_id, sequence)` pairs. By default, `short_id=False` retains
|
|
304
|
+
the complete header, collapses whitespace to `_`, and sanitises spaces, full
|
|
305
|
+
stops, vertical bars, and commas. Pass `short_id=True` to use the first header
|
|
306
|
+
token, capped at 20 characters.
|
|
307
|
+
|
|
308
|
+
<!-- docs-test: fasta-parser -->
|
|
309
|
+
```python
|
|
310
|
+
from pathlib import Path
|
|
311
|
+
|
|
312
|
+
from b2bTools.general.parsers.fasta import FastaIO
|
|
313
|
+
|
|
314
|
+
records = FastaIO.read_fasta_from_file(Path("proteins.fasta"), short_id=False)
|
|
315
|
+
for sequence_id, sequence in records:
|
|
316
|
+
print(sequence_id, len(sequence))
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Alignments
|
|
320
|
+
|
|
321
|
+
`AlignmentsIO` reads FASTA, A3M, BLAST, BaliBase, CLUSTAL, PSI, PHYLIP, and
|
|
322
|
+
Stockholm alignments. Each `read_alignments*` method returns a dictionary that
|
|
323
|
+
maps sequence identifiers to aligned sequences.
|
|
324
|
+
|
|
325
|
+
`short_id=False` is the default. Where the format provides a complete header,
|
|
326
|
+
the parser retains it with whitespace collapsed to `_`; `short_id=True` uses
|
|
327
|
+
the first header token capped at 20 characters. Write helpers and NMR readers
|
|
328
|
+
do not take `short_id` because they do not derive sequence identifiers from
|
|
329
|
+
FASTA-style headers.
|
|
330
|
+
|
|
331
|
+
<!-- docs-test: alignment-parser -->
|
|
332
|
+
```python
|
|
333
|
+
from pathlib import Path
|
|
334
|
+
|
|
335
|
+
from b2bTools.general.parsers.alignments import AlignmentsIO
|
|
336
|
+
|
|
337
|
+
alignment = AlignmentsIO.read_alignments("alignment.fasta", short_id=False)
|
|
338
|
+
for sequence_id, aligned_sequence in alignment.items():
|
|
339
|
+
print(sequence_id, len(aligned_sequence))
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### NEF and NMR-STAR
|
|
343
|
+
|
|
344
|
+
`NefIO` reads NEF projects and sequence/chemical-shift data. `NMRStarIO`
|
|
345
|
+
provides the equivalent NMR-STAR readers. Neither API uses `short_id`.
|
|
346
|
+
|
|
347
|
+
<!-- docs-test: nef-parser -->
|
|
348
|
+
```python
|
|
349
|
+
from pathlib import Path
|
|
350
|
+
|
|
351
|
+
from b2bTools.general.parsers.nef import NefIO
|
|
352
|
+
|
|
353
|
+
sequence_shifts = NefIO.read_nef_file_sequence_shifts(Path("example.nef"))
|
|
354
|
+
print(sequence_shifts.keys())
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
## ShiftCrypt
|
|
358
|
+
|
|
359
|
+
Use ShiftCrypt when your input contains NMR chemical shifts. It accepts either
|
|
360
|
+
of the following formats, provided the file includes a polymer sequence and
|
|
361
|
+
assigned chemical shifts:
|
|
362
|
+
|
|
363
|
+
- **NEF** (NMR Exchange Format): use `parse_official(path)`, which is the
|
|
364
|
+
default input mode.
|
|
365
|
+
- **NMR-STAR**: use `parse_official(path, is_star=True)` for BMRB archive
|
|
366
|
+
entries and other NMR-STAR chemical-shift files.
|
|
367
|
+
|
|
368
|
+
`modelClass="2"` is the default reduced-atom model (H, HA, CA, N, CB, and C).
|
|
369
|
+
Use model `"1"` for the full available atom set, or model `"3"` for the
|
|
370
|
+
dimer-sensitive CA, N, and H model.
|
|
371
|
+
|
|
372
|
+
<!-- docs-test: shiftcrypt -->
|
|
373
|
+
```python
|
|
374
|
+
from pathlib import Path
|
|
375
|
+
|
|
376
|
+
from b2bTools.nmr.shiftCrypt.Predictor import ShiftCrypt
|
|
377
|
+
from b2bTools.nmr.shiftCrypt.shiftcrypt_pkg.parser import parse_official
|
|
378
|
+
|
|
379
|
+
protein_shifts = parse_official(Path("example.nef"))
|
|
380
|
+
results = ShiftCrypt().predictShifts(protein_shifts, modelClass="2")
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
For NMR-STAR input, pass `is_star=True` while parsing, for example
|
|
384
|
+
`parse_official(Path("entry.str"), is_star=True)`.
|
|
385
|
+
|
|
386
|
+
`predictShifts` returns one dictionary per parsed chain. Its fields are:
|
|
387
|
+
|
|
388
|
+
| Field | Meaning | Type |
|
|
389
|
+
| --- | --- | --- |
|
|
390
|
+
| `ID_file` | Identifier supplied by the input file. | Text |
|
|
391
|
+
| `sequence` | Residue sequence. | List of one-letter residue codes |
|
|
392
|
+
| `seqCodes` | Residue numbering from the source data. | List of integers |
|
|
393
|
+
| `shiftCrypt` | Residue-level ShiftCrypt values. | List of numeric values |
|
|
394
|
+
| `chainCode` | Chain identifier from the source data. | Text |
|
|
395
|
+
|
|
396
|
+
## Command-line interface
|
|
397
|
+
|
|
398
|
+
The CLI processes a FASTA file in single-sequence mode by default. Use
|
|
399
|
+
`--mode msa` for an existing alignment; add predictor flags such as
|
|
400
|
+
`--disomine` or `--psper` to request additional outputs. `--short_ids` selects
|
|
401
|
+
the 20-character identifier mode.
|
|
402
|
+
|
|
403
|
+
Required options are `--input_file` and `--output_json_file`. Optional
|
|
404
|
+
`--output_tabular_file`, `--metadata_file`, and, for MSA runs,
|
|
405
|
+
`--distribution_json_file` and `--distribution_tabular_file` write additional
|
|
406
|
+
outputs. Use `--help` for the authoritative option list in the installed
|
|
407
|
+
version.
|
|
408
|
+
|
|
409
|
+
### The `shiftcrypt` command
|
|
410
|
+
|
|
411
|
+
ShiftCrypt reads NMR chemical shifts rather than sequences, so it has its own
|
|
412
|
+
command instead of a flag on `b2bTools`:
|
|
413
|
+
|
|
414
|
+
```console
|
|
415
|
+
shiftcrypt --input_file example.nef --output_json_file shiftcrypt.json
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
The input format is inferred from the file extension (`.nef` for NEF, `.str`
|
|
419
|
+
and `.bmrb` for NMR-STAR). Use `--format nef` or `--format nmr_star` when the
|
|
420
|
+
extension is absent or misleading.
|
|
421
|
+
|
|
422
|
+
`--model` selects the encoding: `2` (default) for the reduced-atom model, `1`
|
|
423
|
+
for the full atom set, `3` for the dimer-sensitive CA/N/H model, or a path to a
|
|
424
|
+
custom `.mtorch` model.
|
|
425
|
+
|
|
426
|
+
Output is written to any combination of `--output_json_file`,
|
|
427
|
+
`--output_tabular_file` (with `--sep comma` or `--sep tab`), and
|
|
428
|
+
`--output_text_file` (a whitespace-aligned chain, residue number, residue,
|
|
429
|
+
value layout). When none of them is given, the plain-text layout is printed to
|
|
430
|
+
standard output. The JSON file holds the same per-chain records that
|
|
431
|
+
`predictShifts` returns, documented in the ShiftCrypt section above.
|
|
432
|
+
|
|
433
|
+
`--fit` is reserved for training custom models and is not available in this
|
|
434
|
+
distribution; the command explains what is missing and exits.
|
|
435
|
+
|
|
436
|
+
## Development
|
|
437
|
+
|
|
438
|
+
From the repository root, run `make test` to execute the maintained test suite.
|
|
439
|
+
Run `make generate-docs` to generate API documentation in
|
|
440
|
+
`wrapper_documentation`.
|
|
441
|
+
|
|
442
|
+
## Further documentation and citations
|
|
443
|
+
|
|
444
|
+
The [Bio2Byte package documentation](https://bio2byte.be/b2btools/package-documentation)
|
|
445
|
+
contains detailed API material and method-level documentation. The Bio2Byte
|
|
446
|
+
[tools page](https://bio2byte.be/tool/) describes the scientific background of
|
|
447
|
+
each predictor.
|
|
448
|
+
|
|
449
|
+
If you use b2bTools in published work, cite the relevant predictor:
|
|
450
|
+
|
|
451
|
+
| Predictor | Citation |
|
|
452
|
+
| --- | --- |
|
|
453
|
+
| DynaMine | Cilia *et al.* (2013), *Nature Communications* 4:2741. [DOI](https://doi.org/10.1038/ncomms3741) |
|
|
454
|
+
| DisoMine | Orlando *et al.* (2022), *Journal of Molecular Biology*. [DOI](https://doi.org/10.1016/j.jmb.2022.167579) |
|
|
455
|
+
| EFoldMine | Raimondi *et al.* (2017), *Scientific Reports* 7:8826. [DOI](https://doi.org/10.1038/s41598-017-08366-3) |
|
|
456
|
+
| AgMata | Orlando *et al.* (2020), *Bioinformatics* 36:2076–2081. [DOI](https://doi.org/10.1093/bioinformatics/btz912) |
|
|
457
|
+
| PSPer | Orlando *et al.* (2019), *Bioinformatics* 35:4617–4623. [DOI](https://doi.org/10.1093/bioinformatics/btz274) |
|
|
458
|
+
| ShiftCrypt | Orlando *et al.* (2020), *Nucleic Acids Research* 48:W36–W40. [DOI](https://doi.org/10.1093/nar/gkaa391) |
|
|
459
|
+
|
|
460
|
+
## Licence and terms of use
|
|
461
|
+
|
|
462
|
+
b2bTools is distributed under the GNU General Public License v3.0 (GPLv3).
|
|
463
|
+
|
|
464
|
+
Bio2Byte promotes open science by providing freely available online services,
|
|
465
|
+
databases, and software for the life sciences, with a focus on proteins. Please
|
|
466
|
+
attribute Bio2Byte services, databases, and software in publications, services,
|
|
467
|
+
or products according to good scientific practice and the relevant citation
|
|
468
|
+
guidance above. Bio2Byte is not liable for loss or damage arising from the use
|
|
469
|
+
of this software.
|
|
470
|
+
|
|
471
|
+
Questions about these terms may be sent to
|
|
472
|
+
[bio2byte@vub.be](mailto:bio2byte@vub.be).
|