Git Product home page Git Product logo

software-refactoring's Introduction

Software Refactoring

jMetalMSA: a framework for solving Multiple Sequence Alignment problems with Multi-Objective metaheuristics

jMetalMSA is an Open source software tool aimed at solving multiple sequence alignment (MSA) problems by using multi-objective metaheuristics. It is based on the jMetal multi-objective framework, which is extended with an encoding for representing MSA solutions.

Architecture of jMetalMSA

alt tag

The object-oriented architecture of jMetalMSA is shown in Figure above, is composed of four core classes (Java interfaces). Three of them (MSAProblem, MSAAlgorithm, and MSASolution) inherits from their counterparts in jMetal (the inheritance relationships are omitted in the diagram), and there is a class Score to represent a given MSA scoring function.

OUTPUT ON EXECUTION

alt tag alt tag alt tag

Summary of features

##List of Algorithms The list of metaheuristics currently available in jMetalMSA include the evolutionary algorithms

  • NSGA-II [1]
  • NSGA-III [2]
  • SMS-EMOA [3]
  • SPEA2 [4]
  • PAES [5]
  • MOEA/D [6]
  • MOCell [7]
  • GWASF-GA [8].

Crossover Operator

The crossover operator is the Single-Point Crossover adapted to alignments, randomly selects a position from the parent A by splitting it into two blocks and the parent B is tailored so that the right piece can be joined to the left piece of the first parent (PA1) and vice versa. Selected blocks are crossed between these two parents

Mutation Operators

The list of mutation operators included in jMetalMSA are:

  • Shift-closed gaps: Closed gaps are randomly chosen and shifted to another position.
  • Non-gap group splitting: a non-gap group is selected randomly, and it is split into two groups.
  • One gap insertion: Inserts a gap in a random position for each sequence.
  • Two adjacent gap groups merging: Selects a random group of gaps and merge with its nearest group of gaps.
  • Multiple mutation

Scores

The scores that are currently available in jMetalMSA are:

  • Sum of Pairs
  • Weighted Sum of Pairs with Affine Gaps
  • Single sTRucture Induced Evaluation (STRIKE).
  • Percentage of Totally Conserved Columns.
  • Percentage of Non-Gaps

Requirements

To use jMetalMSA the following software packages are required:

software-refactoring's People

Contributors

aphoenixtual avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.