Exemplo n.º 1
0
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,
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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 += ")"
Exemplo n.º 5
0
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

Exemplo n.º 6
0
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