Skip to content

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
iamazeem committed Jun 28, 2020
1 parent 9f77a1a commit 7e790e1
Showing 22 changed files with 2,041 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -21,3 +21,4 @@

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
/target/
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 Azeem
Copyright (c) 2015 Azeem

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
24 changes: 22 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,22 @@
# ssic
Sequence Similarity and Identity Calculator (DNA + Protein)
# ![icon](icon.png) SSIC (Sequence Similarity and Identity Calculator)

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://github.com/iamAzeem/ssic/blob/master/LICENSE)

SSIC is a global alignment tool to calculate the similarity and identity of DNA and protein sequences.

## Depedencies

* Java
* BioJava (3.1.0)
* biojava3-core
* biojava3-alignment
* Maven

## Demo

![demo](demo.gif)

## Contact

Email: azeem.sajid@gmail.com
LinkedIn: https://www.linkedin.com/in/az33msajid/
Binary file added demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
66 changes: 66 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>SSIC</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>ssic.SSIC</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>biojava-legacy-repo</id>
<name>BioJava's Git based legacy maven repo</name>
<url>https://github.com/biojava/maven-repo/raw/master/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>org.biojava</groupId>
<artifactId>biojava3-core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.biojava</groupId>
<artifactId>biojava3-alignment</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
</project>
69 changes: 69 additions & 0 deletions src/main/java/ssic/AboutPanel.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package ssic;

import java.awt.*;
import javax.swing.*;

@SuppressWarnings( "serial" )
public final class AboutPanel extends JPanel
{
private final String fontName = "Courier New";

private JLabel lblTitle;
private JLabel lblVersion;
private JLabel lblIcon;
private JLabel lblAuthor;
private JLabel lblEmail;

public AboutPanel()
{
initComponents();
}

private void initComponents()
{
setLayout( new FlowLayout() );

final String title = "Sequence Similarity and Identity Calculator (SSIC)";
final String version = "Version: 1.0.0";
final String author = "Developed by: AZEEM";
final String email = "Email: azeem.sajid@gmail.com";

final int CENTER = SwingConstants.CENTER;

lblTitle = new JLabel( title, CENTER );
lblVersion = new JLabel( version, CENTER );
lblIcon = new JLabel( "", CENTER );
lblAuthor = new JLabel( author, CENTER );
lblEmail = new JLabel( email, CENTER );

lblTitle.setPreferredSize( SIZE(792, 130) );
lblTitle.setFont( FONT(22) );

lblVersion.setPreferredSize( SIZE(792, 10) );
lblVersion.setFont( FONT(18) );

lblIcon.setPreferredSize( SIZE(792, 80) );
lblIcon.setIcon( new ImageIcon(getClass().getClassLoader().getResource(Defaults.WIN_ICON)) );

lblAuthor.setPreferredSize( SIZE(792, 200) );
lblAuthor.setFont( FONT(22) );

lblEmail.setPreferredSize( SIZE(792, 30) );
lblEmail.setFont( FONT(20) );

add( lblTitle );
add( lblVersion );
add( lblAuthor );
add( lblEmail );
}

private Dimension SIZE( final int width, final int height )
{
return new Dimension(width, height);
}

private Font FONT( final int size )
{
return new Font(fontName, Font.BOLD, size);
}
}
78 changes: 78 additions & 0 deletions src/main/java/ssic/Alignment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package ssic;

public final class Alignment
{
private final String querySequence;
private final String targetSequence;
private final String similarity;
private final String identity;
private final String alignmentType;
private final String alignmentAsString;

public Alignment( final String _querySequence,
final String _targetSequence,
final String _similarity,
final String _identity,
final String _alignmentType,
final String _alignmentAsString )
{
querySequence = _querySequence;
targetSequence = _targetSequence;
similarity = _similarity;
identity = _identity;
alignmentType = _alignmentType;
alignmentAsString = _alignmentAsString;
}

public final String getTitle()
{
String s;
s = getQuerySequenceName() + " vs. " + getTargetSequenceName();
s += ", Similarity: " + getSimilarity();
s += ", Identity: " + getIdentity();
s += ", Type: " + getAlignmentType();
return s;
}

public final String getQuerySequenceName()
{
return querySequence;
}

public final String getTargetSequenceName()
{
return targetSequence;
}

public final String getSimilarity()
{
return similarity;
}

public final String getIdentity()
{
return identity;
}

public final String getAlignmentType()
{
return alignmentType;
}

public final String getAlignmentAsString()
{
return alignmentAsString;
}

@Override
public final String toString()
{
String s;
s = getQuerySequenceName() + " vs. " + getTargetSequenceName() + "\n\n";
s += "Similarity: " + getSimilarity() + "\n";
s += "Identity : " + getIdentity() + "\n";
s += "Align Type: " + getAlignmentType() + "\n\n";
s += "Alignment :\n\n" + getAlignmentAsString() + "\n";
return s;
}
}
Loading

0 comments on commit 7e790e1

Please sign in to comment.