Skip to content

Commit

Permalink
added BED intersect functionality and UI changes
Browse files Browse the repository at this point in the history
  • Loading branch information
manojbhosale committed Jun 2, 2019
1 parent 78db660 commit 79878e4
Show file tree
Hide file tree
Showing 19 changed files with 639 additions and 40 deletions.
98 changes: 98 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
Expand All @@ -7,7 +16,96 @@ org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.8
6 changes: 6 additions & 0 deletions dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>resources</directory>
</resource>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
<plugins>
<plugin>
Expand Down
39 changes: 35 additions & 4 deletions src/bedUtils/BedUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -17,14 +20,42 @@ public class BedUtils {

public static void main(String[] args) {

File f = new File("C:\\Users\\manojkumar_bhosale\\Desktop\\ForIntervalMerging\\DEF_662-1322126769L_AllTracks_amplicons.bed");
File f1 = new File("C:\\Users\\manojkumar_bhosale\\Desktop\\d\\CancerAll-In-OneLung_hg38Mut.bed");
File f = new File("C:\\Users\\manojkumar_bhosale\\Desktop\\ForIntervalMerging\\Intersect\\CFTR_SS\\S07084713_covered.bed");
File f1 = new File("C:\\Users\\manojkumar_bhosale\\Desktop\\ForIntervalMerging\\Intersect\\CFTR_SS\\S07084713_target.bed");
//mergeBedFiles(f,null);
Set<BedInterval> intersectBedFiles = mergeBedFiles(f);
//Set<BedInterval> intersectBedFiles = mergeBedFiles(f);
Set<BedInterval> intersectBedFiles = intersectBedFiles(f,f1);
PrintWriter pw = null;
try {
pw = new PrintWriter(new File("C:\\Users\\manojkumar_bhosale\\Desktop\\ForIntervalMerging\\Intersect\\CFTR_SS\\interSectedResult.bed"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

intersectBedFiles.forEach(pw::println);

intersectBedFiles.forEach(System.out::println);
pw.close();
}


public static void intersectBedFilesToFolder(File one, File two, File folder){
Set<BedInterval> intersectBedFiles = intersectBedFiles(one,two);
String outputName = one.getName().replace(".", "_")+"_"+two.getName().replace(".", "_")+".bed";
Path outputFile = folder.toPath().resolve(outputName);
try(PrintWriter pw = new PrintWriter(new File(outputFile.toString()))){

intersectBedFiles.forEach(pw::println);


} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}



public static Set<BedInterval> intersectBedFiles(File one, File two){

Expand Down
62 changes: 56 additions & 6 deletions src/com/psl/automation/main/MainGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
Expand All @@ -29,17 +30,21 @@
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.plaf.basic.BasicTabbedPaneUI;

import org.apache.log4j.Logger;

import com.psl.automation.panels.BarcodeMetricsPanel;
import com.psl.automation.panels.BedUtilitiesPanel;
import com.psl.automation.panels.CompareVcfPanel;
import com.psl.automation.panels.QCComparePanel;
import com.psl.automation.panels.TsTvMetricsPanel;
import com.psl.automation.panels.VcfBedIntersectionPanel;

public class MainGui implements ActionListener{
public class MainGui implements ActionListener,Runnable{
//Log4j logger
private static Logger log4jLog = Logger.getLogger(MainGui.class.getName());

Expand All @@ -52,10 +57,10 @@ public class MainGui implements ActionListener{

JTextArea log;
File file = null;

JTabbedPane jtp = new JTabbedPane();


public void createUi(){
public void run(){

JFrame mainFrame = new JFrame("MAutomaton");
URL file =
Expand All @@ -67,7 +72,6 @@ public void createUi(){
mainFrame.setDefaultCloseOperation(mainFrame.EXIT_ON_CLOSE);
//JPanel gatkPanel = new JPanel();

JTabbedPane jtp = new JTabbedPane();

//path.setMargin(new Insets(2, 2, 2, 2));
//jtp.addTab("GATK", gatkPanel);
Expand All @@ -76,11 +80,35 @@ public void createUi(){
TsTvMetricsPanel tstvp = new TsTvMetricsPanel();
QCComparePanel qcp = new QCComparePanel();
VcfBedIntersectionPanel vbedp = new VcfBedIntersectionPanel();
BedUtilitiesPanel bup = new BedUtilitiesPanel();
jtp.addTab("VCF comparator", cvp.createCompareVcfPanel());
jtp.addTab("HS Util", bmp.createFileConfigPanel());
jtp.addTab("VCF Util", tstvp.createVcfUtilPanel());
jtp.addTab("QC compare", qcp.createCompareQcPanel());
jtp.addTab("VCF BED intersect", vbedp.createIntersectVcfPanel());
jtp.addTab("BED intersect", bup.createIntersectBedPanel());

jtp.addChangeListener(new TabSelected());

//jtp.setBackgroundAt(jtp.getSelectedIndex(), Color.CYAN);
//set tab name font
Font boldFont = new Font("Courier new", Font.BOLD, 18);

jtp.setForeground(Color.DARK_GRAY);
jtp.setFont(boldFont);
//jtp.setForeground(Color.RED);
jtp.setUI(new BasicTabbedPaneUI() {
@Override
protected void installDefaults() {
super.installDefaults();
highlight = Color.pink;
lightHighlight = Color.green;
shadow = Color.red;
darkShadow = Color.cyan;
focus = Color.red;

}
});

// /createFileConfigPanel();
//createSortPanel();
Expand All @@ -90,6 +118,27 @@ public void createUi(){


}

private class TabSelected implements ChangeListener {

@Override
public void stateChanged(ChangeEvent e) {
int index = jtp.getSelectedIndex();
for(int i = 0; i < 6;i++) {
if(i==index) {
jtp.setBackgroundAt(index, Color.getHSBColor(34, 0.24f, 0.97f));
//Color.ge
}else {
jtp.setBackgroundAt(i,Color.getHSBColor(336, 0.3f, 0.75f));
}
}



}

}


public void createSortPanel(){
path = new JTextField();
Expand All @@ -111,7 +160,7 @@ public void createSortPanel(){

public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
System.out.println("Design is of "+designtype.getSelectedItem()+"type !!");
//System.out.println("Design is of "+designtype.getSelectedItem()+"type !!");
if(designtype.getSelectedItem().equals("HaloPlex")){
sort.setEnabled(false);
}else{
Expand Down Expand Up @@ -169,7 +218,8 @@ public static void main(String args[]){
}

MainGui mg = new MainGui();
mg.createUi();
Thread t = new Thread(mg);
t.start();

}

Expand Down
Loading

0 comments on commit 79878e4

Please sign in to comment.