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. """ from pprint import pformat import numpy from Bio.SubsMat import MatrixInfo from logger.log import setup_custom_logger from utility.utils import Alignment, Alphabet, Operation, Result, ScoringType, TracebackCell, parse_fasta_files, \ parse_input LOGGER = setup_custom_logger("got", logfile="gotoh.log") import argparse import itertools import math import logging class Gotoh(object): """ Class which implements the gotoh algorithm. """ def __init__(self, match_scoring=1, indel_scoring=-1, mismatch_scoring=-1,
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. """ import logging import numpy as np from logger.log import setup_custom_logger from utility.utils import Alphabet, parse_input LOGGER = setup_custom_logger("nov", logfile="nussinov.log") import argparse class Nussinov(object): """ Class which implements the nussinov algorithm. """ def __init__(self, min_loop_length=4, verbose=False): LOGGER.info("Initialzing nussinov") sigma = { "A", "C", "D", "E", "F", "G", "H", "I", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "Y", "X", "U" } self.alphabet = Alphabet(sigma)
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. """ import logging import numpy from Bio.SeqRecord import SeqRecord from Bio.SubsMat import MatrixInfo from logger.log import setup_custom_logger from utility.utils import Alignment, Alphabet, Operation, Result, ScoringType, TracebackCell, parse_input LOGGER = setup_custom_logger("nw", logfile="needleman_wunsch.log") import argparse import itertools class ScoringSettings: def __init__(self, match_scoring=1, indel_scoring=-1, mismatch_scoring=-1, gap_penalty=6, substitution_matrix=MatrixInfo.blosum62, similarity=True): self.similarity = similarity self.substitution_matrix = substitution_matrix
copies or substantial portions of the Software. 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. """ from logger.log import setup_custom_logger from needleman_wunsch import NeedlemanWunsch from utility.utils import Clustering, parse_input LOGGER = setup_custom_logger("xpgma", logfile="xpgma.log") import argparse class GuideTree(object): def __init__(self): self.nodes = dict() self.root = Node("root", None) self.order = [] def __repr__(self): tree = "(" if self.root.children: tree += ",".join([str(x) for x in self.root.children]) tree += ")"
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ import fnmatch import os import re from enum import Enum from pprint import pformat from Bio import SeqIO from boltons.setutils import IndexedSet from logger.log import setup_custom_logger LOGGER = setup_custom_logger("utils") class Operation(Enum): MATCH = 1, INSERTION = 2, DELETION = 3, MISMATCH = 4, ROOT = 0 class ScoringType(Enum): SIMILARITY = 0, DISTANCE = 1
copies or substantial portions of the Software. 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. """ from logger.log import setup_custom_logger from utility.utils import MultiAlignment, Result, count_gaps_in_pairwise_alignment, \ count_occurences_symbol_in_word, parse_input, replace_with_neutral_symbol LOGGER = setup_custom_logger("feng", logfile="feng.log") import argparse import math from needleman_wunsch import NeedlemanWunsch, ScoringSettings from xpgma import Xpgma, Node, GuideTree import copy import difflib from Bio.SubsMat import MatrixInfo from utility.utils import Clustering, SimilarityScoringMethod import random class FengDoolittle(object): """ Class which implements the feng doolittle