Repository 'kinamine7_7'
hg clone https://toolshed.g2.bx.psu.edu/repos/jfb/kinamine7_7

Changeset 0:67635b462045 (2018-02-20)
Next changeset 1:a125f38e8c07 (2018-02-20)
Commit message:
Uploaded
added:
KinaMine-Galaxy-7-7/.gitignore
KinaMine-Galaxy-7-7/KinaMine.jar
KinaMine-Galaxy-7-7/Kinamine.xml
KinaMine-Galaxy-7-7/build.xml
KinaMine-Galaxy-7-7/build/built-jar.properties
KinaMine-Galaxy-7-7/build/classes/kinamine/AminoAcid.class
KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMine.class
KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineDriver.class
KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineGUI.fxml
KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineGUIController.class
KinaMine-Galaxy-7-7/build/classes/kinamine/Motif.class
KinaMine-Galaxy-7-7/build/classes/kinamine/Peptide.class
KinaMine-Galaxy-7-7/build/classes/kinamine/Protein.class
KinaMine-Galaxy-7-7/build/classes/kinamine/Reporter.class
KinaMine-Galaxy-7-7/build/classes/kinamine/Run.class
KinaMine-Galaxy-7-7/dist/KinaMine.html
KinaMine-Galaxy-7-7/dist/KinaMine.jnlp
KinaMine-Galaxy-7-7/dist/web-files/dtjava.js
KinaMine-Galaxy-7-7/dist/web-files/error.png
KinaMine-Galaxy-7-7/dist/web-files/get_java.png
KinaMine-Galaxy-7-7/dist/web-files/get_javafx.png
KinaMine-Galaxy-7-7/dist/web-files/javafx-chrome.png
KinaMine-Galaxy-7-7/dist/web-files/javafx-loading-100x100.gif
KinaMine-Galaxy-7-7/dist/web-files/javafx-loading-25x25.gif
KinaMine-Galaxy-7-7/dist/web-files/upgrade_java.png
KinaMine-Galaxy-7-7/dist/web-files/upgrade_javafx.png
KinaMine-Galaxy-7-7/manifest.mf
KinaMine-Galaxy-7-7/nbproject/UPDATED.TXT
KinaMine-Galaxy-7-7/nbproject/build-impl.xml
KinaMine-Galaxy-7-7/nbproject/configs/Run_as_WebStart.properties
KinaMine-Galaxy-7-7/nbproject/configs/Run_in_Browser.properties
KinaMine-Galaxy-7-7/nbproject/genfiles.properties
KinaMine-Galaxy-7-7/nbproject/jfx-impl.xml
KinaMine-Galaxy-7-7/nbproject/jfx-impl_backup.xml
KinaMine-Galaxy-7-7/nbproject/jfx-impl_backup_1.xml
KinaMine-Galaxy-7-7/nbproject/private/configs/Run_as_WebStart.properties
KinaMine-Galaxy-7-7/nbproject/private/configs/Run_in_Browser.properties
KinaMine-Galaxy-7-7/nbproject/private/private.properties
KinaMine-Galaxy-7-7/nbproject/project.properties
KinaMine-Galaxy-7-7/nbproject/project.xml
KinaMine-Galaxy-7-7/src/kinamine/AminoAcid.java
KinaMine-Galaxy-7-7/src/kinamine/KinaMine.java
KinaMine-Galaxy-7-7/src/kinamine/KinaMineDriver.java
KinaMine-Galaxy-7-7/src/kinamine/KinaMineGUI.fxml
KinaMine-Galaxy-7-7/src/kinamine/KinaMineGUIController.java
KinaMine-Galaxy-7-7/src/kinamine/Motif.java
KinaMine-Galaxy-7-7/src/kinamine/Peptide.java
KinaMine-Galaxy-7-7/src/kinamine/Protein.java
KinaMine-Galaxy-7-7/src/kinamine/Reporter.java
KinaMine-Galaxy-7-7/src/kinamine/Run.java
KinaMine-Galaxy-7-7/test/HumanUniportContaminants.tabular
KinaMine-Galaxy-7-7/test/HumanUniprotContaminants.fasta
KinaMine-Galaxy-7-7/test/llparker_perez512_20160618_15616_FLT3WT-PLUS-R3-25.mgf)__FDR.txt
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/.gitignore
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/.gitignore Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,3 @@
+/build/
+/dist/
+/nbproject/private/
\ No newline at end of file
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/KinaMine.jar
b
Binary file KinaMine-Galaxy-7-7/KinaMine.jar has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/Kinamine.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/Kinamine.xml Tue Feb 20 14:31:15 2018 -0500
[
@@ -0,0 +1,49 @@
+<tool id="kinamine_java" name="Kinamine_7_to_7" version="0.5.0">
+    <description>Extracts phosphorylated motifs</description>
+    <requirements>
+       <requirement type="package" version="8.0.1440.1">Java</requirement>
+    </requirements>
+    <command><![CDATA[
+        mkdir -p output &&
+        java -Djava.awt.headless=true -jar '$__tool_directory__/Kinamine 7 to 7.jar' $FDRreport $reference $fdr output 
+    ]]></command>
+    <inputs>
+        <param format="txt" name="FDRreport" type="data" label="Distinct Peptide Report"/>
+        <param format="fasta" name="reference" type="data" label="FASTA reference"/>
+        <param name="fdr" type="integer" value"1" min="1"  max="100"  label="FDR"/>
+        <param name="outGroup" type="text" value"kinase" label="Group Name"/>
+    </inputs>      
+    <outputs>
+        <data format="csv" name="Substrates" from_work_dir="output/" label="${outGroup}_Substrates.csv"/>
+        <data format="csv" name="SBF" from_work_dir="output2.csv" label="Substrate Background Frequency"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="substrates" ftype="csv" value="substrates.csv"/>
+            <param name="negatives" ftype="csv" value="negatives.csv"/>
+            <param name="SBF" ftype="csv" value="SBF.csv"/>
+            <output name="SDtable" file="SDtable.csv"/>
+            <output name="EPM" file="EPM.csv"/>
+            <output name="Characterization" file="Characterization.csv"/>
+        </test>
+    </tests>
+
+    
+    <help><![CDATA[
+This takes a Distinct Peptide Report and extracts from it all phospho-motifs that were discovered at a threshold above a given FDR value.  This tool is intended to be used in conjunction with Negative Motif Finder and Kinatest.R, the three together creating a GalaxyP version of the KINATEST-ID workbook.
+
+===========
+Inputs
+===========
+**Distinct Peptide Report**
+This is... ask Minervo
+
+**FASTA reference**
+This should be a FASTA taken from the Reviewed Human Uniprot database, consisting of all human proteins plus a list of common Mass Spectrometry contaminants
+
+    ]]></help>
+    <citations>
+        <citation type="doi">10.1021/ja507164a</citation>
+    </citations>
+</tool>
+
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/build.xml Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><!-- You may freely edit this file. See commented blocks below for --><!-- some examples of how to customize the build. --><!-- (If you delete it and reopen the project it will be recreated.) --><!-- By default, only the Clean and Build commands use this build script. --><project name="KinaMine" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
+    <description>Builds, tests, and runs the project KinaMine.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. Those of them relevant for JavaFX project are: 
+
+      -pre-init:                 called before initialization of project properties
+      -post-init:                called after initialization of project properties
+      -pre-compile:              called before javac compilation
+      -post-compile:             called after javac compilation
+      -pre-compile-test:         called before javac compilation of JUnit tests
+      -post-compile-test:        called after javac compilation of JUnit tests
+      -pre-jfx-jar:              called before FX SDK specific <fx:jar> task
+      -post-jfx-jar:             called after FX SDK specific <fx:jar> task
+      -pre-jfx-deploy:           called before FX SDK specific <fx:deploy> task
+      -post-jfx-deploy:          called after FX SDK specific <fx:deploy> task
+      -pre-jfx-native:           called just after -pre-jfx-deploy if <fx:deploy> runs in native packaging mode
+      -post-jfx-native:          called just after -post-jfx-deploy if <fx:deploy> runs in native packaging mode
+      -post-clean:               called after cleaning build products
+
+    (Targets beginning with '-' are not intended to be called on their own.)
+
+    Example of inserting a HTML postprocessor after javaFX SDK deployment:
+
+        <target name="-post-jfx-deploy">
+            <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
+            <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
+            <custompostprocess>
+                <fileset dir="${jfx.deployment.html}"/>
+            </custompostprocess>
+        </target>
+
+    Example of calling an Ant task from JavaFX SDK. Note that access to JavaFX SDK Ant tasks must be
+    initialized; to ensure this is done add the dependence on -check-jfx-sdk-version target:
+
+        <target name="-post-jfx-jar" depends="-check-jfx-sdk-version">
+            <echo message="Calling jar task from JavaFX SDK"/>
+            <fx:jar ...>
+                ...
+            </fx:jar>
+        </target>
+
+    For more details about JavaFX SDK Ant tasks go to
+    http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm
+
+    For list of available properties check the files
+    nbproject/build-impl.xml and nbproject/jfx-impl.xml.
+
+    -->
+</project>
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/built-jar.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/build/built-jar.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,4 @@
+#Tue, 20 Feb 2018 20:17:03 +0100
+
+
+C\:\\Users\\User\ Name\\Documents\\NetBeansProjects\\KinaMine-Galaxy-7-7=
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/AminoAcid.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/AminoAcid.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMine.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMine.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineDriver.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineDriver.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineGUI.fxml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineGUI.fxml Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.text.*?>
+<?import javafx.geometry.*?>
+<?import java.lang.*?>
+<?import java.util.*?>
+<?import javafx.scene.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+
+<VBox id="containerAll" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="kinamine.KinaMineGUIController">
+   <children>
+      <MenuBar id="menuBar">
+        <menus>
+          <Menu mnemonicParsing="false" text="File">
+            <items>
+              <MenuItem mnemonicParsing="false" text="Close" />
+            </items>
+          </Menu>
+          <Menu mnemonicParsing="false" text="Edit">
+            <items>
+              <MenuItem mnemonicParsing="false" text="Delete" />
+            </items>
+          </Menu>
+          <Menu mnemonicParsing="false" text="Help">
+            <items>
+              <MenuItem mnemonicParsing="false" text="About" />
+            </items>
+          </Menu>
+        </menus>
+      </MenuBar>
+      <HBox id="pepHBox" spacing="10.0">
+         <children>
+            <Label id="pepLabel" prefHeight="17.0" prefWidth="120.0" text="Peptide Report:" textAlignment="CENTER" underline="true">
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Label>
+            <TextField fx:id="pepPath" HBox.hgrow="ALWAYS" />
+            <Button fx:id="pepSearchButton" mnemonicParsing="false" onAction="#pepSearchClicked" text="...">
+               <opaqueInsets>
+                  <Insets />
+               </opaqueInsets>
+            </Button>
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="5.0" left="10.0" right="10.0" top="10.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="fastaHBox" layoutX="10.0" layoutY="35.0" spacing="10.0">
+         <children>
+            <Label id="fastaLabel" prefWidth="120.0" text="FASTA Database:" textAlignment="CENTER" underline="true">
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Label>
+            <TextField fx:id="fastaPath" HBox.hgrow="ALWAYS" />
+            <Button id="fastaSearchButton" mnemonicParsing="false" onAction="#fastaSearchClicked" text="..." />
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="5.0" left="10.0" right="10.0" top="5.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="fdrHBox" layoutX="10.0" layoutY="35.0" spacing="10.0">
+         <children>
+            <Label id="fdrLabel" prefHeight="17.0" prefWidth="120.0" text="FDR Score:" textAlignment="CENTER" underline="true">
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Label>
+            <TextField fx:id="fdrScore" prefHeight="25.0" prefWidth="74.0"/>
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="5.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="folderHBox" layoutX="20.0" layoutY="80.0" spacing="10.0">
+         <children>
+            <Label id="folderLabel" prefWidth="120.0" text="Output Folder:" textAlignment="CENTER" underline="true">
+               <font>
+                  <Font size="13.0" />
+               </font>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+            </Label>
+            <TextField fx:id="outPath" HBox.hgrow="ALWAYS" />
+            <Button id="outSearchButton" mnemonicParsing="false" onAction="#browseFolderClicked" text="..." />
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="5.0" left="10.0" right="10.0" top="30.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="groupHBox" layoutX="10.0" layoutY="180.0" spacing="10.0">
+         <children>
+            <Label id="groupLabel" prefWidth="120.0" text="Output Group:" textAlignment="CENTER" underline="true">
+               <font>
+                  <Font size="13.0" />
+               </font>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+            </Label>
+            <TextField fx:id="outGroup" />
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="5.0" />
+         </VBox.margin>
+      </HBox>
+      <Region id="region" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS" />
+      <ToolBar id="toolBar" nodeOrientation="RIGHT_TO_LEFT" prefHeight="40.0" prefWidth="200.0">
+        <items>
+          <Button id="submitButton" mnemonicParsing="false" text="Submit" onAction="#submitButtonClicked" >
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Button>
+        </items>
+      </ToolBar>
+   </children>
+</VBox>
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineGUIController.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/KinaMineGUIController.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/Motif.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/Motif.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/Peptide.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/Peptide.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/Protein.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/Protein.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/Reporter.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/Reporter.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/build/classes/kinamine/Run.class
b
Binary file KinaMine-Galaxy-7-7/build/classes/kinamine/Run.class has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/KinaMine.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/dist/KinaMine.html Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,45 @@
+<html><head>
+  <SCRIPT src="./web-files/dtjava.js"></SCRIPT>
+<script>
+    function launchApplication(jnlpfile) {
+        dtjava.launch(            {
+                url : 'KinaMine.jnlp',
+                jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iS2luYU1pbmUuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+S2luYU1pbmU8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXVycmE2Njg8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iS2luYU1pbmUuamFyIiBzaXplPSIyMDg0NyIgZG93bmxvYWQ9ImVhZ2VyIiAvPg0KICA8L3Jlc291cmNlcz4NCiAgPGFwcGxldC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iY29tLmphdmFmeC5tYWluLk5vSmF2YUZYRmFsbGJhY2siICBuYW1lPSJLaW5hTWluZSIgPg0KICAgIDxwYXJhbSBuYW1lPSJyZXF1aXJlZEZYVmVyc2lvbiIgdmFsdWU9IjguMCsiLz4NCiAgPC9hcHBsZXQtZGVzYz4NCiAgPGpmeDpqYXZhZngtZGVzYyAgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiIG1haW4tY2xhc3M9ImtpbmFtaW5lLktpbmFNaW5lIiAgbmFtZT0iS2luYU1pbmUiIC8+DQogIDx1cGRhdGUgY2hlY2s9ImFsd2F5cyIvPg0KPC9qbmxwPg0K'
+            },
+            {
+                javafx : '8.0+'
+            },
+            {}
+        );
+        return false;
+    }
+</script>
+
+<script>
+    function javafxEmbedkinamine() {
+        dtjava.embed(
+            {
+                id : 'kinamine',
+                url : 'KinaMine.jnlp',
+                placeholder : 'javafx-app-placeholder',
+                width : '800',
+                height : '600',
+                jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iS2luYU1pbmUuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+S2luYU1pbmU8L3RpdGxlPg0KICAgIDx2ZW5kb3I+bXVycmE2Njg8L3ZlbmRvcj4NCiAgICA8ZGVzY3JpcHRpb24+bnVsbDwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iS2luYU1pbmUuamFyIiBzaXplPSIyMDg0NyIgZG93bmxvYWQ9ImVhZ2VyIiAvPg0KICA8L3Jlc291cmNlcz4NCiAgPGFwcGxldC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iY29tLmphdmFmeC5tYWluLk5vSmF2YUZYRmFsbGJhY2siICBuYW1lPSJLaW5hTWluZSIgPg0KICAgIDxwYXJhbSBuYW1lPSJyZXF1aXJlZEZYVmVyc2lvbiIgdmFsdWU9IjguMCsiLz4NCiAgPC9hcHBsZXQtZGVzYz4NCiAgPGpmeDpqYXZhZngtZGVzYyAgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiIG1haW4tY2xhc3M9ImtpbmFtaW5lLktpbmFNaW5lIiAgbmFtZT0iS2luYU1pbmUiIC8+DQogIDx1cGRhdGUgY2hlY2s9ImFsd2F5cyIvPg0KPC9qbmxwPg0K'
+            },
+            {
+                javafx : '8.0+'
+            },
+            {}
+        );
+    }
+    <!-- Embed FX application into web page once page is loaded -->
+    dtjava.addOnloadCallback(javafxEmbedkinamine);
+</script>
+
+</head><body>
+<h2>Test page for <b>KinaMine</b></h2>
+  <b>Webstart:</b> <a href='KinaMine.jnlp' onclick="return launchApplication('KinaMine.jnlp');">click to launch this app as webstart</a><br><hr><br>
+
+  <!-- Applet will be inserted here -->
+  <div id='javafx-app-placeholder'></div>
+</body></html>
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/KinaMine.jnlp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/dist/KinaMine.jnlp Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="KinaMine.jnlp">
+  <information>
+    <title>KinaMine</title>
+    <vendor>murra668</vendor>
+    <description>null</description>
+    <offline-allowed/>
+  </information>
+  <resources>
+    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
+    <jar href="KinaMine.jar" size="20847" download="eager" />
+  </resources>
+  <applet-desc  width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback"  name="KinaMine" >
+    <param name="requiredFXVersion" value="8.0+"/>
+  </applet-desc>
+  <jfx:javafx-desc  width="800" height="600" main-class="kinamine.KinaMine"  name="KinaMine" />
+  <update check="always"/>
+</jnlp>
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/dtjava.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/dist/web-files/dtjava.js Tue Feb 20 14:31:15 2018 -0500
[
b'@@ -0,0 +1,3954 @@\n+/*\n+ * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.\n+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.\n+ */\n+\n+/**\n+  The Java Deployment Toolkit is a utility to deploy Java content in\n+  the browser as applets or applications using the right version of Java.\n+  If needed it can initiate an upgrade of user\'s system to install required\n+  components of Java platform.\n+  <p>\n+  Note that some of the Deployment Toolkit methods may not be fully operational if\n+  used before web page body is loaded (because DT native plugins could not be instantiated).\n+  If you intend to use it before web page DOM tree is ready then dtjava.js\n+  needs to be loaded inside the body element of the page and before use of other DT APIs.\n+\n+  @module java/deployment_toolkit\n+*/\n+var dtjava = function() {\n+    function notNull(o) {\n+        return (o != undefined && o != null);\n+    }\n+\n+    function isDef(fn) {\n+        return (fn != null && typeof fn != "undefined");\n+    }\n+\n+    //return true if any of patterns from query list is found in the given string\n+    function containsAny(lst, str) {\n+        for (var q = 0; q < lst.length; q++) {\n+            if (str.indexOf(lst[q]) != -1) {\n+                return true;\n+            }\n+        }\n+        return false;\n+    }\n+\n+    /* Location of static web content - images, javascript files. */\n+    var jscodebase =  (function () {\n+        // <script> elements are added to the DOM and run synchronously,\n+        // the currently running script will also be the last element in the array\n+        var scripts = document.getElementsByTagName("script");\n+        var src = scripts[scripts.length - 1].getAttribute("src");\n+        return src ? src.substring(0, src.lastIndexOf(\'/\') + 1) : "";\n+    })();\n+\n+    //set to true to disable FX auto install (before release)\n+    var noFXAutoInstall = false;\n+\n+    // page has no body yet, postpone plugin installation\n+    postponeNativePluginInstallation = false;\n+\n+    // JRE version we start to have JRE and FX true co-bundle\n+    var minJRECobundleVersion = "1.7.0_06";\n+\n+    //aliases\n+    var d = document;\n+    var w = window;\n+\n+    var cbDone = false;  //done with onload callbacks\n+    var domInternalCb = []; //list of internal callbacks\n+    var domCb = [];      //list of callbacks\n+    var ua = null;\n+\n+\n+    // Add internal function to be called on DOM ready event.\n+    // These functions will be called before functions added by addOnDomReady().\n+    // Used to do internal initialization (installing native plug-in) to avoid\n+    // race condition with user requests.\n+    function addOnDomReadyInternal(fn) {\n+        if (cbDone) {\n+            fn();\n+        } else {\n+            domInternalCb[domInternalCb.length] = fn;\n+        }\n+    }\n+\n+    // add function to be called on DOM ready event\n+    function addOnDomReady(fn) {\n+        if (cbDone) {\n+            fn();\n+        } else {\n+            domCb[domCb.length] = fn;\n+        }\n+    }\n+\n+    //invoke pending onload callbacks\n+    function invokeCallbacks() {\n+        if (!cbDone) {\n+            //swfoject.js tests whether DOM is actually ready first\n+            //  in order to not fire too early. Use same heuristic\n+            try {\n+                var t = d.getElementsByTagName("body")[0].appendChild(\n+                    d.createElement("div"));\n+                t.parentNode.removeChild(t);\n+            } catch (e) {\n+                return;\n+            }\n+            cbDone = true;\n+            for (var i = 0; i < domInternalCb.length; i++) {\n+                domInternalCb[i]();\n+            }\n+            for (var i = 0; i < domCb.length; i++) {\n+                domCb[i]();\n+            }\n+        }\n+    }\n+\n+    //cross browser onload support.\n+    //Derived from swfobject.js\n+    function addOnload(fn) {\n+        if (isDef(w.addEventListener)) {\n+            w.addEventListener("load", fn, false);\n+        } else if (isDef(d.'..b' status code is string categorizing the status of install.\n+             ("success", "error:generic", "error:download" or "error:canceled")\n+             <li> <b>relaunchNeeded</b> - boolean to specify\n+             whether browser restart is required to complete the installation\n+             </ul>\n+\n+             @property onInstallFinished\n+             @type function(placeholder, component, status, relaunchNeeded)\n+             @default no op\n+             */\n+            this.onInstallFinished = defaultInstallFinishedHandler;\n+\n+            /**\n+             This function is called if application can not be deployed because\n+             current platform does not match given platform requirements.\n+             It is also called if request to install missing components can not be\n+             completed due to platform.\n+             <p>\n+             Problem can be fatal error or transient issue (e.g. relaunch needed). Further\n+             details can be extracted from provided mismatchEvent. Here are some typical combinations:\n+\n+             <ul>\n+             <li><em>Current browser is not supported by Java</em> - (r.isUnsupportedBrowser())\n+             <li><em>Browser need to be restarted before application can be launched</em> - (r.isRelaunchNeeded())\n+             <li>JRE specific codes\n+             <ul>\n+             <li><em>JRE is not supported on this platform</em> - (r.jreStatus() == "unsupported")\n+             <li><em>JRE is not detected and need to be installed</em> - (r.jreStatus() == "none")\n+             <li><em>Installed version of JRE does not match requirements</em> - (r.jreStatus() == "old")\n+             <li><em>Matching JRE is detected but deprecated Java plugin is used and\n+                     it does not support JNLP applets</em> - (r.jreStatus() == "oldplugin")\n+             </ul>\n+             <li> JavaFX specific codes\n+             <ul>\n+             <li><em>JavaFX is not supported on this platform</em> - (r.javafxStatus() == "unsupported")\n+             <li><em>JavaFX Runtime is missing and need to be installed manually</em> - (r.javafxStatus() == "none")\n+             <li><em>Installed version of JavaFX Runtime does not match requirements</em> - (r.javafxStatus() == "old")\n+             <li><em>JavaFX Runtime is installed but currently disabled</em> - (r.javafxStatus() == "disabled")\n+             </ul>\n+             </ul>\n+\n+             Default error handler handles both application launch errors and embedded content.\n+\n+             @property onDeployError\n+             @type function(app, mismatchEvent)\n+             */\n+            this.onDeployError = defaultDeployErrorHandler;\n+\n+            /**\n+             * Called to get content to be shown in the applet area if Java plugin is not installed\n+             * and none of callbacks helped to resolve this.\n+             *\n+             * @property onGetNoPluginMessage\n+             * @type function(app)\n+             * @return DOM Element object representing content to be shown in the applet area if\n+             *         java plugin is not detected by browser.\n+             */\n+            this.onGetNoPluginMessage = defaultGetNoPluginMessageHandler;\n+\n+            /**\n+             Called once applet is ready to accept Javascript calls.\n+             Only supported for plugin version 10.0.0 or later\n+             @property onJavascriptReady\n+             @type function(id)\n+             @default null\n+             */\n+            this.onJavascriptReady = null;\n+\n+            /**\n+             Called if application failed to launch.\n+             Only supported for plugin version 10.0.0 or later.\n+\n+             @property onRuntimeError\n+             @type function(id)\n+             @default no op\n+             */\n+            this.onRuntimeError = defaultRuntimeErrorHandler;\n+\n+            //overwrite with provided parameters\n+            for (c in cb) {\n+                this[c] = cb[c];\n+            }\n+        }\n+    };\n+}();\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/error.png
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/error.png has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/get_java.png
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/get_java.png has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/get_javafx.png
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/get_javafx.png has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/javafx-chrome.png
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/javafx-chrome.png has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/javafx-loading-100x100.gif
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/javafx-loading-100x100.gif has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/javafx-loading-25x25.gif
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/javafx-loading-25x25.gif has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/upgrade_java.png
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/upgrade_java.png has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/dist/web-files/upgrade_javafx.png
b
Binary file KinaMine-Galaxy-7-7/dist/web-files/upgrade_javafx.png has changed
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/manifest.mf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/manifest.mf Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/UPDATED.TXT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/UPDATED.TXT Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,23 @@
+=====================================
+Project KinaMine build script updated
+=====================================
+
+Project build script file jfx-impl.xml in nbproject sub-directory has not been recognized
+as compliant with this version of NetBeans JavaFX support module. To ensure correct
+and complete functionality within this NetBeans installation the script file has been
+backed up to jfx-impl_backup_1.xml and then updated to the currently supported state.
+
+FX Project build script auto-update may be triggered on project open either after
+NetBeans installation update or by manual changes in jfx-impl.xml. Please note that
+changing jfx-impl.xml manually is not recommended. Any build customization code should
+be placed only in build.xml in project root directory.
+
+Remark: The auto-update mechanism can be disabled by setting property
+javafx.disable.autoupdate=true
+Automatic opening of this notification when project files are updated can be disabled by setting property
+javafx.disable.autoupdate.notification=true
+(in build.properties, private.properties or project.properties).
+
+Remark: Files nbproject/jfx-impl_backup*.xml and this file nbproject/UPDATED.TXT
+are not used when building the project and can be freely deleted.
+
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/build-impl.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/build-impl.xml Tue Feb 20 14:31:15 2018 -0500
[
b'@@ -0,0 +1,1421 @@\n+<?xml version="1.0" encoding="UTF-8"?>\r\n+<!--\r\n+*** GENERATED FROM project.xml - DO NOT EDIT  ***\r\n+***         EDIT ../build.xml INSTEAD         ***\r\n+\r\n+For the purpose of easier reading the script\r\n+is divided into following sections:\r\n+\r\n+  - initialization\r\n+  - compilation\r\n+  - jar\r\n+  - execution\r\n+  - debugging\r\n+  - javadoc\r\n+  - test compilation\r\n+  - test execution\r\n+  - test debugging\r\n+  - applet\r\n+  - cleanup\r\n+\r\n+        -->\r\n+<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="KinaMine-impl">\r\n+    <import file="jfx-impl.xml"/>\r\n+    <fail message="Please build using Ant 1.8.0 or higher.">\r\n+        <condition>\r\n+            <not>\r\n+                <antversion atleast="1.8.0"/>\r\n+            </not>\r\n+        </condition>\r\n+    </fail>\r\n+    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>\r\n+    <!-- \r\n+                ======================\r\n+                INITIALIZATION SECTION \r\n+                ======================\r\n+            -->\r\n+    <target name="-pre-init">\r\n+        <!-- Empty placeholder for easier customization. -->\r\n+        <!-- You can override this target in the ../build.xml file. -->\r\n+    </target>\r\n+    <target depends="-pre-init" name="-init-private">\r\n+        <property file="nbproject/private/config.properties"/>\r\n+        <property file="nbproject/private/configs/${config}.properties"/>\r\n+        <property file="nbproject/private/private.properties"/>\r\n+    </target>\r\n+    <target depends="-pre-init,-init-private" name="-init-user">\r\n+        <property file="${user.properties.file}"/>\r\n+        <!-- The two properties below are usually overridden -->\r\n+        <!-- by the active platform. Just a fallback. -->\r\n+        <property name="default.javac.source" value="1.6"/>\r\n+        <property name="default.javac.target" value="1.6"/>\r\n+    </target>\r\n+    <target depends="-pre-init,-init-private,-init-user" name="-init-project">\r\n+        <property file="nbproject/configs/${config}.properties"/>\r\n+        <property file="nbproject/project.properties"/>\r\n+    </target>\r\n+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">\r\n+        <property name="platform.java" value="${java.home}/bin/java"/>\r\n+        <available file="${manifest.file}" property="manifest.available"/>\r\n+        <condition property="splashscreen.available">\r\n+            <and>\r\n+                <not>\r\n+                    <equals arg1="${application.splash}" arg2="" trim="true"/>\r\n+                </not>\r\n+                <available file="${application.splash}"/>\r\n+            </and>\r\n+        </condition>\r\n+        <condition property="main.class.available">\r\n+            <and>\r\n+                <isset property="main.class"/>\r\n+                <not>\r\n+                    <equals arg1="${main.class}" arg2="" trim="true"/>\r\n+                </not>\r\n+            </and>\r\n+        </condition>\r\n+        <condition property="profile.available">\r\n+            <and>\r\n+                <isset property="javac.profile"/>\r\n+                <length length="0" string="${javac.profile}" when="greater"/>\r\n+                <matches pattern="((1\\.[89])|9)(\\..*)?" string="${javac.source}"/>\r\n+            </and>\r\n+        </condition>\r\n+        <condition property="do.archive">\r\n+            <or>\r\n+                <not>\r\n+                    <istrue value="${jar.archive.disabled}"/>\r\n+                </not>\r\n+                <istrue value="${not.archive.disabled}"/>\r\n+            </or>\r\n+        </condition>\r\n+        <condition property="do.mkdist">\r\n+            <and>\r\n+                <isset property="do.archive"/>\r\n+                <isset property="libs.CopyLibs.classpath"/>\r\n+                <not>\r\n+                    <istrue va'..b'ds="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>\r\n+    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">\r\n+        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>\r\n+    </target>\r\n+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>\r\n+    <!--\r\n+                =========================\r\n+                APPLET EXECUTION SECTION\r\n+                =========================\r\n+            -->\r\n+    <target depends="init,compile-single" name="run-applet">\r\n+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>\r\n+        <j2seproject1:java classname="sun.applet.AppletViewer">\r\n+            <customize>\r\n+                <arg value="${applet.url}"/>\r\n+            </customize>\r\n+        </j2seproject1:java>\r\n+    </target>\r\n+    <!--\r\n+                =========================\r\n+                APPLET DEBUGGING  SECTION\r\n+                =========================\r\n+            -->\r\n+    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">\r\n+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>\r\n+        <j2seproject3:debug classname="sun.applet.AppletViewer">\r\n+            <customize>\r\n+                <arg value="${applet.url}"/>\r\n+            </customize>\r\n+        </j2seproject3:debug>\r\n+    </target>\r\n+    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>\r\n+    <!--\r\n+                ===============\r\n+                CLEANUP SECTION\r\n+                ===============\r\n+            -->\r\n+    <target name="-deps-clean-init" unless="built-clean.properties">\r\n+        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>\r\n+        <delete file="${built-clean.properties}" quiet="true"/>\r\n+    </target>\r\n+    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">\r\n+        <echo level="warn" message="Cycle detected: KinaMine was already built"/>\r\n+    </target>\r\n+    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">\r\n+        <mkdir dir="${build.dir}"/>\r\n+        <touch file="${built-clean.properties}" verbose="false"/>\r\n+        <property file="${built-clean.properties}" prefix="already.built.clean."/>\r\n+        <antcall target="-warn-already-built-clean"/>\r\n+        <propertyfile file="${built-clean.properties}">\r\n+            <entry key="${basedir}" value=""/>\r\n+        </propertyfile>\r\n+    </target>\r\n+    <target depends="init" name="-do-clean">\r\n+        <delete dir="${build.dir}"/>\r\n+        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>\r\n+    </target>\r\n+    <target name="-post-clean">\r\n+        <!-- Empty placeholder for easier customization. -->\r\n+        <!-- You can override this target in the ../build.xml file. -->\r\n+    </target>\r\n+    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>\r\n+    <target name="-check-call-dep">\r\n+        <property file="${call.built.properties}" prefix="already.built."/>\r\n+        <condition property="should.call.dep">\r\n+            <and>\r\n+                <not>\r\n+                    <isset property="already.built.${call.subproject}"/>\r\n+                </not>\r\n+                <available file="${call.script}"/>\r\n+            </and>\r\n+        </condition>\r\n+    </target>\r\n+    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">\r\n+        <ant antfile="${call.script}" inheritall="false" target="${call.target}">\r\n+            <propertyset>\r\n+                <propertyref prefix="transfer."/>\r\n+                <mapper from="transfer.*" to="*" type="glob"/>\r\n+            </propertyset>\r\n+        </ant>\r\n+    </target>\r\n+</project>\r\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/configs/Run_as_WebStart.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/configs/Run_as_WebStart.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,2 @@
+# Do not modify this property in this configuration. It can be re-generated.
+$label=Run as WebStart
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/configs/Run_in_Browser.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/configs/Run_in_Browser.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,2 @@
+# Do not modify this property in this configuration. It can be re-generated.
+$label=Run in Browser
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/genfiles.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/genfiles.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=92294776
+build.xml.script.CRC32=166ea2da
+build.xml.stylesheet.CRC32=8064a381@1.79.1.48
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=855deffb
+nbproject/build-impl.xml.script.CRC32=b3aaaea2
+nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/jfx-impl.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/jfx-impl.xml Tue Feb 20 14:31:15 2018 -0500
b
b'@@ -0,0 +1,4049 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<!--\n+*** GENERATED FROM TEMPLATE - DO NOT EDIT ***\n+***       EDIT ../build.xml INSTEAD       ***\n+-->\n+\n+<project name="jfx-impl" default="jfx-deployment" basedir=".." xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" \n+         xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:fx="javafx:com.sun.javafx.tools.ant">\n+    <description>JavaFX-specific Ant calls</description>\n+\n+\n+    <!-- Empty placeholders for easier customization in ../build.xml -->\n+    \n+    <target name="-pre-jfx-jar">\n+        <!-- Called right before <fx:jar> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-jar">\n+        <!-- Called right after <fx:jar> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-pre-jfx-deploy">\n+        <!-- Called right before <fx:deploy> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-deploy">\n+        <!-- Called right after <fx:deploy> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+    \n+    <target name="-pre-jfx-native">\n+        <!-- Called right before the call to native packager (just after -pre-jfx-deploy). You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-native">\n+        <!-- Called right after the call to native packager (just after -post-jfx-deploy). You can override this target in the ../build.xml file. -->\n+    </target>\n+    \n+    \n+    <!-- Check system and JDK version -->\n+\n+    <target name="-check-operating-system">\n+        <condition property="running.on.mac">\n+            <os family="mac"/>\n+        </condition>\n+        <condition property="running.on.unix">\n+            <os family="unix"/>\n+        </condition>\n+        <condition property="running.on.windows">\n+            <os family="windows"/>\n+        </condition>\n+        <echo message="running.on.mac = ${running.on.mac}" level="verbose"/>\n+        <echo message="running.on.unix = ${running.on.unix}" level="verbose"/>\n+        <echo message="running.on.windows = ${running.on.windows}" level="verbose"/>\n+    </target>\n+\n+    <target name="-check-platform-home-fxsdk-java" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">\n+        <condition property="do.set.platform.home.fxsdk.java">\n+            <and>\n+                <not><isset property="active.platform.home.java.executable"/></not>\n+                <or>\n+                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java"/>\n+                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java.exe"/>\n+                </or>\n+            </and>\n+        </condition>\n+    </target>\n+    <target name="-set-platform-home-fxsdk-java" depends="-check-platform-home-fxsdk-java" if="do.set.platform.home.fxsdk.java">\n+        <property name="active.platform.home.java.executable" value="${javafx.sdk}${file.separator}bin${file.separator}java"/>\n+    </target>\n+    <target name="-check-platform-home-java" if="platform.home">\n+        <condition property="do.set.platform.home.java">\n+            <and>\n+                <not><isset property="active.platform.home.java.executable"/></not>\n+                <or>\n+                    <available file="${platform.home}${file.separator}bin${file.separator}java"/>\n+                    <available file="${platform.home}${file.separator}bin${file.separator}java.exe"/>\n+                </or>\n+            </and>\n+        </condition>\n+    </target>\n+    <target name="-set-platform-home-java" depends="-set-platform-home-fxsdk-java,-check-platform-home-java" if="do.set.platform.home.java">\n+        <property name="active.platform.home.java.executable" value="${platform.home}${file.separator}bin${file.separator}java"/>\n+    </target>\n+    <target name="-check-platform-h'..b'on property="temp.run.html" value="${jfx.deployment.html}">\n+            <isset property="disable-concurrent-runs"/>\n+        </condition>\n+    </target>\n+    <target name="-warn-concurrent-html-runs" unless="disable-concurrent-runs">\n+        <echo message="Note: Concurrent Run in Browser enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when execution in browser has finished. Use project Clean to delete unused directories."/>\n+    </target>\n+\n+    <target name="jfxbe-run" if="html-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,\n+            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-check-concurrent-html-runs,-create-temp-run-dir,-warn-insufficient-signing"\n+            description="Start JavaFX execution in browser">\n+        <echo message="Executing ${temp.run.html} using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <arg file="${temp.run.html}"/>\n+        </exec>\n+        <antcall target="-warn-concurrent-html-runs"/>\n+    </target>\n+    \n+    <target name="jfxbe-debug" if="html-file-exists+netbeans.home" depends="-mark-project-state-debugging-in-browser,-init-debug-args,\n+            clean,-debug-start-debugger,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,\n+            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing,\n+            -debug-jfxbe-debuggee" description="Debug JavaFX project in browser">\n+        <!-- after the session clean up the jnlp containing debug settings -->\n+        <antcall target="clean"/>\n+    </target>\n+        \n+    <target name="-debug-jfxbe-debuggee" depends="-init-debug-args">\n+        <echo message="Executing ${jfx.deployment.html} in debug mode using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <env key="_JPI_VM_OPTIONS" value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>\n+            <arg file="${jfx.deployment.html}"/>\n+        </exec>\n+    </target>\n+\n+    <target if="html-file-exists+netbeans.home" name="-profile-check-html">\n+        <antcall target="-profile-check-1"/>\n+    </target>\n+\n+    <target name="-do-jfxbe-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,\n+            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing">\n+        <echo message="Executing ${jfx.deployment.html} in profile mode using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="run.jvmargs.ide" value=""/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <env key="_JPI_VM_OPTIONS" value="${run.jvmargs.ide}"/>\n+            <arg file="${jfx.deployment.html}"/>\n+        </exec>\n+    </target>\n+\n+    <target name="jfxbe-profile" if="profiler.configured"\n+        depends="-profile-check-html"\n+        description="Profile JavaFX project in browser">\n+        <startprofiler/>\n+        <antcall target="-do-jfxbe-profile"/>\n+    </target>\n+\n+    <target name="jfxbe-run-noscript" depends="-set-fallback-no-javascript, jfxbe-run"/>\n+\n+    <target name="jfxbe-debug-noscript" depends="-set-fallback-no-javascript, jfxbe-debug"/>\n+\n+    <target name="jfxbe-profile-noscript" depends="-set-fallback-no-javascript, jfxbe-profile"/>\n+\n+\n+</project>\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/jfx-impl_backup.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/jfx-impl_backup.xml Tue Feb 20 14:31:15 2018 -0500
b
b'@@ -0,0 +1,4008 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<!--\n+*** GENERATED FROM TEMPLATE - DO NOT EDIT ***\n+***       EDIT ../build.xml INSTEAD       ***\n+-->\n+\n+<project name="jfx-impl" default="jfx-deployment" basedir=".." xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" \n+         xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:fx="javafx:com.sun.javafx.tools.ant">\n+    <description>JavaFX-specific Ant calls</description>\n+\n+\n+    <!-- Empty placeholders for easier customization in ../build.xml -->\n+    \n+    <target name="-pre-jfx-jar">\n+        <!-- Called right before <fx:jar> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-jar">\n+        <!-- Called right after <fx:jar> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-pre-jfx-deploy">\n+        <!-- Called right before <fx:deploy> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-deploy">\n+        <!-- Called right after <fx:deploy> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+    \n+    <target name="-pre-jfx-native">\n+        <!-- Called right before the call to native packager (just after -pre-jfx-deploy). You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-native">\n+        <!-- Called right after the call to native packager (just after -post-jfx-deploy). You can override this target in the ../build.xml file. -->\n+    </target>\n+    \n+    \n+    <!-- Check system and JDK version -->\n+\n+    <target name="-check-operating-system">\n+        <condition property="running.on.mac">\n+            <os family="mac"/>\n+        </condition>\n+        <condition property="running.on.unix">\n+            <os family="unix"/>\n+        </condition>\n+        <condition property="running.on.windows">\n+            <os family="windows"/>\n+        </condition>\n+        <echo message="running.on.mac = ${running.on.mac}" level="verbose"/>\n+        <echo message="running.on.unix = ${running.on.unix}" level="verbose"/>\n+        <echo message="running.on.windows = ${running.on.windows}" level="verbose"/>\n+    </target>\n+\n+    <target name="-check-platform-home-fxsdk-java" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">\n+        <condition property="do.set.platform.home.fxsdk.java">\n+            <and>\n+                <not><isset property="active.platform.home.java.executable"/></not>\n+                <or>\n+                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java"/>\n+                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java.exe"/>\n+                </or>\n+            </and>\n+        </condition>\n+    </target>\n+    <target name="-set-platform-home-fxsdk-java" depends="-check-platform-home-fxsdk-java" if="do.set.platform.home.fxsdk.java">\n+        <property name="active.platform.home.java.executable" value="${javafx.sdk}${file.separator}bin${file.separator}java"/>\n+    </target>\n+    <target name="-check-platform-home-java" if="platform.home">\n+        <condition property="do.set.platform.home.java">\n+            <and>\n+                <not><isset property="active.platform.home.java.executable"/></not>\n+                <or>\n+                    <available file="${platform.home}${file.separator}bin${file.separator}java"/>\n+                    <available file="${platform.home}${file.separator}bin${file.separator}java.exe"/>\n+                </or>\n+            </and>\n+        </condition>\n+    </target>\n+    <target name="-set-platform-home-java" depends="-set-platform-home-fxsdk-java,-check-platform-home-java" if="do.set.platform.home.java">\n+        <property name="active.platform.home.java.executable" value="${platform.home}${file.separator}bin${file.separator}java"/>\n+    </target>\n+    <target name="-check-platform-h'..b'on property="temp.run.html" value="${jfx.deployment.html}">\n+            <isset property="disable-concurrent-runs"/>\n+        </condition>\n+    </target>\n+    <target name="-warn-concurrent-html-runs" unless="disable-concurrent-runs">\n+        <echo message="Note: Concurrent Run in Browser enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when execution in browser has finished. Use project Clean to delete unused directories."/>\n+    </target>\n+\n+    <target name="jfxbe-run" if="html-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,\n+            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-check-concurrent-html-runs,-create-temp-run-dir,-warn-insufficient-signing"\n+            description="Start JavaFX execution in browser">\n+        <echo message="Executing ${temp.run.html} using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <arg file="${temp.run.html}"/>\n+        </exec>\n+        <antcall target="-warn-concurrent-html-runs"/>\n+    </target>\n+    \n+    <target name="jfxbe-debug" if="html-file-exists+netbeans.home" depends="-mark-project-state-debugging-in-browser,-init-debug-args,\n+            clean,-debug-start-debugger,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,\n+            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing,\n+            -debug-jfxbe-debuggee" description="Debug JavaFX project in browser">\n+        <!-- after the session clean up the jnlp containing debug settings -->\n+        <antcall target="clean"/>\n+    </target>\n+        \n+    <target name="-debug-jfxbe-debuggee" depends="-init-debug-args">\n+        <echo message="Executing ${jfx.deployment.html} in debug mode using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <env key="_JPI_VM_OPTIONS" value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>\n+            <arg file="${jfx.deployment.html}"/>\n+        </exec>\n+    </target>\n+\n+    <target if="html-file-exists+netbeans.home" name="-profile-check-html">\n+        <antcall target="-profile-check-1"/>\n+    </target>\n+\n+    <target name="-do-jfxbe-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,\n+            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing">\n+        <echo message="Executing ${jfx.deployment.html} in profile mode using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="run.jvmargs.ide" value=""/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <env key="_JPI_VM_OPTIONS" value="${run.jvmargs.ide}"/>\n+            <arg file="${jfx.deployment.html}"/>\n+        </exec>\n+    </target>\n+\n+    <target name="jfxbe-profile" if="profiler.configured"\n+        depends="-profile-check-html"\n+        description="Profile JavaFX project in browser">\n+        <startprofiler/>\n+        <antcall target="-do-jfxbe-profile"/>\n+    </target>\n+\n+    <target name="jfxbe-run-noscript" depends="-set-fallback-no-javascript, jfxbe-run"/>\n+\n+    <target name="jfxbe-debug-noscript" depends="-set-fallback-no-javascript, jfxbe-debug"/>\n+\n+    <target name="jfxbe-profile-noscript" depends="-set-fallback-no-javascript, jfxbe-profile"/>\n+\n+\n+</project>\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/jfx-impl_backup_1.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/jfx-impl_backup_1.xml Tue Feb 20 14:31:15 2018 -0500
b
b'@@ -0,0 +1,4008 @@\n+<?xml version="1.0" encoding="UTF-8"?>\n+<!--\n+*** GENERATED FROM TEMPLATE - DO NOT EDIT ***\n+***       EDIT ../build.xml INSTEAD       ***\n+-->\n+\n+<project name="jfx-impl" default="jfx-deployment" basedir=".." xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" \n+         xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:fx="javafx:com.sun.javafx.tools.ant">\n+    <description>JavaFX-specific Ant calls</description>\n+\n+\n+    <!-- Empty placeholders for easier customization in ../build.xml -->\n+    \n+    <target name="-pre-jfx-jar">\n+        <!-- Called right before <fx:jar> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-jar">\n+        <!-- Called right after <fx:jar> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-pre-jfx-deploy">\n+        <!-- Called right before <fx:deploy> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-deploy">\n+        <!-- Called right after <fx:deploy> task. You can override this target in the ../build.xml file. -->\n+    </target>\n+    \n+    <target name="-pre-jfx-native">\n+        <!-- Called right before the call to native packager (just after -pre-jfx-deploy). You can override this target in the ../build.xml file. -->\n+    </target>\n+\n+    <target name="-post-jfx-native">\n+        <!-- Called right after the call to native packager (just after -post-jfx-deploy). You can override this target in the ../build.xml file. -->\n+    </target>\n+    \n+    \n+    <!-- Check system and JDK version -->\n+\n+    <target name="-check-operating-system">\n+        <condition property="running.on.mac">\n+            <os family="mac"/>\n+        </condition>\n+        <condition property="running.on.unix">\n+            <os family="unix"/>\n+        </condition>\n+        <condition property="running.on.windows">\n+            <os family="windows"/>\n+        </condition>\n+        <echo message="running.on.mac = ${running.on.mac}" level="verbose"/>\n+        <echo message="running.on.unix = ${running.on.unix}" level="verbose"/>\n+        <echo message="running.on.windows = ${running.on.windows}" level="verbose"/>\n+    </target>\n+\n+    <target name="-check-platform-home-fxsdk-java" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">\n+        <condition property="do.set.platform.home.fxsdk.java">\n+            <and>\n+                <not><isset property="active.platform.home.java.executable"/></not>\n+                <or>\n+                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java"/>\n+                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java.exe"/>\n+                </or>\n+            </and>\n+        </condition>\n+    </target>\n+    <target name="-set-platform-home-fxsdk-java" depends="-check-platform-home-fxsdk-java" if="do.set.platform.home.fxsdk.java">\n+        <property name="active.platform.home.java.executable" value="${javafx.sdk}${file.separator}bin${file.separator}java"/>\n+    </target>\n+    <target name="-check-platform-home-java" if="platform.home">\n+        <condition property="do.set.platform.home.java">\n+            <and>\n+                <not><isset property="active.platform.home.java.executable"/></not>\n+                <or>\n+                    <available file="${platform.home}${file.separator}bin${file.separator}java"/>\n+                    <available file="${platform.home}${file.separator}bin${file.separator}java.exe"/>\n+                </or>\n+            </and>\n+        </condition>\n+    </target>\n+    <target name="-set-platform-home-java" depends="-set-platform-home-fxsdk-java,-check-platform-home-java" if="do.set.platform.home.java">\n+        <property name="active.platform.home.java.executable" value="${platform.home}${file.separator}bin${file.separator}java"/>\n+    </target>\n+    <target name="-check-platform-h'..b'on property="temp.run.html" value="${jfx.deployment.html}">\n+            <isset property="disable-concurrent-runs"/>\n+        </condition>\n+    </target>\n+    <target name="-warn-concurrent-html-runs" unless="disable-concurrent-runs">\n+        <echo message="Note: Concurrent Run in Browser enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when execution in browser has finished. Use project Clean to delete unused directories."/>\n+    </target>\n+\n+    <target name="jfxbe-run" if="html-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,\n+            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-check-concurrent-html-runs,-create-temp-run-dir,-warn-insufficient-signing"\n+            description="Start JavaFX execution in browser">\n+        <echo message="Executing ${temp.run.html} using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <arg file="${temp.run.html}"/>\n+        </exec>\n+        <antcall target="-warn-concurrent-html-runs"/>\n+    </target>\n+    \n+    <target name="jfxbe-debug" if="html-file-exists+netbeans.home" depends="-mark-project-state-debugging-in-browser,-init-debug-args,\n+            clean,-debug-start-debugger,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,\n+            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing,\n+            -debug-jfxbe-debuggee" description="Debug JavaFX project in browser">\n+        <!-- after the session clean up the jnlp containing debug settings -->\n+        <antcall target="clean"/>\n+    </target>\n+        \n+    <target name="-debug-jfxbe-debuggee" depends="-init-debug-args">\n+        <echo message="Executing ${jfx.deployment.html} in debug mode using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <env key="_JPI_VM_OPTIONS" value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>\n+            <arg file="${jfx.deployment.html}"/>\n+        </exec>\n+    </target>\n+\n+    <target if="html-file-exists+netbeans.home" name="-profile-check-html">\n+        <antcall target="-profile-check-1"/>\n+    </target>\n+\n+    <target name="-do-jfxbe-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,\n+            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing">\n+        <echo message="Executing ${jfx.deployment.html} in profile mode using ${javafx.run.inbrowser}"/>\n+        <echo message="(${javafx.run.inbrowser.path})"/>\n+        <property name="run.jvmargs.ide" value=""/>\n+        <property name="javafx.run.inbrowser.arguments" value=""/>\n+        <exec executable="${javafx.run.inbrowser.path}">\n+            <arg line="${javafx.run.inbrowser.arguments}"/>\n+            <env key="_JPI_VM_OPTIONS" value="${run.jvmargs.ide}"/>\n+            <arg file="${jfx.deployment.html}"/>\n+        </exec>\n+    </target>\n+\n+    <target name="jfxbe-profile" if="profiler.configured"\n+        depends="-profile-check-html"\n+        description="Profile JavaFX project in browser">\n+        <startprofiler/>\n+        <antcall target="-do-jfxbe-profile"/>\n+    </target>\n+\n+    <target name="jfxbe-run-noscript" depends="-set-fallback-no-javascript, jfxbe-run"/>\n+\n+    <target name="jfxbe-debug-noscript" depends="-set-fallback-no-javascript, jfxbe-debug"/>\n+\n+    <target name="jfxbe-profile-noscript" depends="-set-fallback-no-javascript, jfxbe-profile"/>\n+\n+\n+</project>\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/private/configs/Run_as_WebStart.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/private/configs/Run_as_WebStart.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,2 @@
+# Do not modify this property in this configuration. It can be re-generated.
+javafx.run.as=webstart
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/private/configs/Run_in_Browser.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/private/configs/Run_in_Browser.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,4 @@
+# Do not modify this property in this configuration. It can be re-generated.
+javafx.run.as=embedded
+javafx.run.inbrowser=<Default System Browser>
+javafx.run.inbrowser.path=C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/private/private.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/private/private.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,2 @@
+auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=true
+user.properties.file=C:\\Users\\User Name\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/project.properties
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/project.properties Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,114 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=KinaMine
+application.vendor=murra668
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+compile.on.save=true
+compile.on.save.unsupported.javafx=true
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+    ${run.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/KinaMine.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+includes=**
+# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
+jar.archive.disabled=true
+jar.compress=false
+javac.classpath=\
+    ${javafx.classpath.extension}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.external.vm=false
+javac.processorpath=\
+    ${javac.classpath}
+javac.source=1.8
+javac.target=1.8
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+javafx.application.implementation.version=1.0
+javafx.binarycss=false
+javafx.classpath.extension=\
+    ${java.home}/lib/javaws.jar:\
+    ${java.home}/lib/deploy.jar:\
+    ${java.home}/lib/plugin.jar
+javafx.deploy.allowoffline=true
+# If true, application update mode is set to 'background', if false, update mode is set to 'eager'
+javafx.deploy.backgroundupdate=false
+javafx.deploy.embedJNLP=true
+javafx.deploy.includeDT=true
+# Set true to prevent creation of temporary copy of deployment artifacts before each run (disables concurrent runs)
+javafx.disable.concurrent.runs=false
+# Set true to enable multiple concurrent runs of the same WebStart or Run-in-Browser project
+javafx.enable.concurrent.external.runs=false
+# This is a JavaFX project
+javafx.enabled=true
+javafx.fallback.class=com.javafx.main.NoJavaFXFallback
+# Main class for JavaFX
+javafx.main.class=kinamine.KinaMine
+javafx.preloader.class=
+# This project does not use Preloader
+javafx.preloader.enabled=false
+javafx.preloader.jar.filename=
+javafx.preloader.jar.path=
+javafx.preloader.project.path=
+javafx.preloader.type=none
+# Set true for GlassFish only. Rebases manifest classpaths of JARs in lib dir. Not usable with signed JARs.
+javafx.rebase.libs=false
+javafx.run.height=600
+javafx.run.width=800
+# Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects
+jnlp.enabled=false
+# Main class for Java launcher
+main.class=com.javafx.main.Main
+# For improved security specify narrower Codebase manifest attribute to prevent RIAs from being repurposed
+manifest.custom.codebase=*
+# Specify Permissions manifest attribute to override default (choices: sandbox, all-permissions)
+manifest.custom.permissions=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+run.classpath=\
+    ${dist.jar}:\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/nbproject/project.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/nbproject/project.xml Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.java.j2seproject</type>
+    <configuration>
+        <buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
+            <extension file="jfx-impl.xml" id="jfx3">
+                <dependency dependsOn="-jfx-copylibs" target="-post-jar"/>
+                <dependency dependsOn="-rebase-libs" target="-post-jar"/>
+                <dependency dependsOn="jfx-deployment" target="-post-jar"/>
+                <dependency dependsOn="jar" target="debug"/>
+                <dependency dependsOn="jar" target="profile"/>
+                <dependency dependsOn="jar" target="run"/>
+            </extension>
+        </buildExtensions>
+        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
+            <name>KinaMine</name>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir"/>
+            </test-roots>
+        </data>
+        <spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">
+            <word>phospho</word>
+        </spellchecker-wordlist>
+    </configuration>
+</project>
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/AminoAcid.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/AminoAcid.java Tue Feb 20 14:31:15 2018 -0500
[
@@ -0,0 +1,104 @@
+/**
+ *****************************************************************************
+ *
+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.
+ *
+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)
+ *
+ *****************************************************************************
+ */
+
+package kinamine;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+
+public class AminoAcid {
+    
+    /** Map of amino acids and properties. */
+    public final Map<Character, ArrayList<String>> aAcids;
+    
+    /** Properties Global Static. */
+    public final static String[] PROPS = {"Hydrophobic", "Polar", "Small",
+        "Negative", "Postive", "Amide", "Large Aliphatic", "Small Aliphatic",
+        "Aromatic", "Hydroxy"};
+        
+    /** Amino Acids Global Static. */
+    public final static char[] ACIDS = {'A', 'C', 'D', 'E', 'F', 'G', 'H',
+        'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'Y'};
+
+     
+    /**
+     * Creates a static AminoAcid object. Contains the map of amino acids with
+     * corresponding properties, along with globals of amino acids and props. 
+     */
+    public AminoAcid(){
+        
+        this.aAcids = new HashMap();
+        
+        /** Initialize amino acids in map. */
+        initAcids();
+        
+        /** Initialize properties from frequencies. */
+        initProps();      
+    }
+    
+    /**
+     * Initializes the amino acids from global static list. 
+     */
+    private void initAcids() {
+        
+        for (char acid : ACIDS){
+            aAcids.put(acid, new ArrayList<>());
+        }
+        
+    }
+    
+    /**
+     * Initialize the properties from global static list. 
+     */
+    private void initProps() {
+            
+        aAcids.get('A').addAll(getProps(0,2,7));
+        aAcids.get('C').addAll(getProps(0,2));
+        aAcids.get('D').addAll(getProps(1,2,3));
+        aAcids.get('E').addAll(getProps(1,3));
+        aAcids.get('F').addAll(getProps(0,8));
+        aAcids.get('G').addAll(getProps(0,2,7));
+        aAcids.get('H').addAll(getProps(1,4));
+        aAcids.get('I').addAll(getProps(0,6));
+        aAcids.get('K').addAll(getProps(1,4));
+        aAcids.get('L').addAll(getProps(0,6));
+        aAcids.get('M').addAll(getProps(0));
+        aAcids.get('N').addAll(getProps(1,2,5));
+        aAcids.get('P').addAll(getProps(2));
+        aAcids.get('Q').addAll(getProps(1,5));
+        aAcids.get('R').addAll(getProps(1,4));
+        aAcids.get('S').addAll(getProps(2,9));
+        aAcids.get('T').addAll(getProps(2,9));
+        aAcids.get('V').addAll(getProps(0,2,7));
+        aAcids.get('W').addAll(getProps(0,8));
+        aAcids.get('Y').addAll(getProps(0,8));        
+        
+    }
+    
+    /** 
+     * Return list of properties corresponding to indexes.
+     * 
+     * @param ints Indices of properties.
+     * @return
+     */
+    private ArrayList<String> getProps(int... ints) {
+        
+       ArrayList<String> props = new ArrayList<>();
+       
+       for (int index : ints){
+           props.add(PROPS[index]);
+       }
+       
+       return props;
+        
+    } 
+}
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/KinaMine.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/KinaMine.java Tue Feb 20 14:31:15 2018 -0500
[
@@ -0,0 +1,79 @@
+/**
+ *****************************************************************************
+ * <p>
+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.
+ * <p>
+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)
+ * <p>
+ *****************************************************************************
+ */
+package kinamine;
+
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
+
+/**
+ * Main KinaMine class. If no arguments are passed in, call KineMineGUI,
+ * otherwise launch KinaMineDriver.
+ *
+ * @version 1.0
+ * @author murra668
+ */
+public class KinaMine extends Application {
+
+    /** Stage for KinaMineGUI */
+    static Stage stage;
+
+    /**
+     * Entry into KinaMine.
+     *
+     * @param args
+     * <ul>
+     * <li>
+     * Argument 1: Input ProteinPilot Distinct Peptide Summary.
+     * </li>
+     * <li>
+     * Argument 2: Input Tabular FASTA database. 
+     * </li>
+     * <li>
+     * Argument 3: Output directory 
+     * </li>
+     * <li>
+     * Argument 4: Output group name
+     * </li>
+     *
+     * </ul>
+     *
+     * @param args
+     */
+    public static void main(String[] args) {
+
+        /** If no arguments present call GUI, otherwise run. */
+        if (args.length == 0) {
+            launch(args);
+        } else {
+            boolean status = KinaMineDriver.run(args, false);
+            System.exit(0);
+        }
+    }
+    
+    /**
+     * Calls GUI. 
+     * 
+     * @param stage
+     * @throws Exception 
+     */
+    @Override
+    public void start(Stage stage) throws Exception {
+
+        this.stage = stage;
+        Parent root = FXMLLoader.load(getClass().getResource("KinaMineGUI.fxml"));
+        Scene scene = new Scene(root);
+        stage.setTitle("KinaMine v. 1.0.00");
+        stage.setScene(scene);
+        stage.show();
+    }
+}
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/KinaMineDriver.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/KinaMineDriver.java Tue Feb 20 14:31:15 2018 -0500
[
@@ -0,0 +1,152 @@
+/**
+ *****************************************************************************
+ * <p>
+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.
+ * <p>
+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)
+ * <p>
+ *****************************************************************************
+ */
+package kinamine;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+
+/**
+ * Driver class for KinaMine. Processes arguments collected from GUI.
+ *
+ * @version 1.0
+ * @author murra668
+ */
+public class KinaMineDriver {
+
+    /**
+     * Main run method for KinaMine. Processes arguments and stores file
+     * contents for compiling a run.
+     *
+     * @param args
+     * @param debug
+     * @return
+     */
+    public static boolean run(String[] args, boolean debug) {
+
+        /** Process aruments. */
+        String pepPath = args[0];
+        String fastaPath = args[1];
+        String outPath = args[2];
+        double fdrScore = Double.valueOf(args[3]);
+        String outGroup = "output";
+
+        /** Read peptide report. */
+        ArrayList<String> peptides = retTabFile(pepPath);
+        peptides.remove(0);
+
+        ArrayList<String> proteins = new ArrayList<>();
+        
+        /** Read fasta database */
+        if (fastaPath.contains("fasta")){
+            proteins = retFastaFile(fastaPath);
+        } else {
+            proteins = retTabFile(fastaPath);
+        }
+        
+
+        /** Create new run. */
+        Run run = new Run(peptides, proteins, fdrScore);
+
+        /** Write run reports. */
+        Reporter.writeReports(run, outPath, outGroup);
+
+        return true;
+    }
+
+    /**
+     * Reads tabular files.
+     *
+     * @param path
+     * @return Arraylist of lines.
+     */
+    public static ArrayList<String> retTabFile(String path) {
+
+        /** Initialize lines */
+        ArrayList<String> lines = new ArrayList<>();
+
+        try {
+
+            /** Configure reader. */
+            FileReader fr = new FileReader(path);
+            BufferedReader br = new BufferedReader(fr);
+
+            /** Initialize first line, headers - discard */
+            String line = br.readLine();
+
+            /**
+             * Read each line in the configuration file and add each line to an
+             * array (to be returned)
+             */
+            while (line != null) {
+
+                /** If line is all tabs, end of file */
+                if (line.startsWith("\t")) {
+                    break;
+                }
+
+                /** Add line to list. */
+                lines.add(line);
+                line = br.readLine();
+            }
+
+            /** Close the file */
+            br.close();
+
+        } catch (FileNotFoundException filenotfoundexxption) {
+            System.out.println(path + ", does not exist");
+        } catch (IOException ioexception) {
+            ioexception.printStackTrace();
+        }
+
+        return lines;
+    }
+
+    public static ArrayList<String> retFastaFile(String path) {
+
+        /** Initialize lines */
+        ArrayList<String> lines = new ArrayList<>();
+
+        try {
+
+            /** Configure reader. */
+            FileReader fr = new FileReader(path);
+            BufferedReader br = new BufferedReader(fr);
+
+            String line = br.readLine();
+            String prot = "";
+
+            while (line != null) {
+                
+                if (line.startsWith(">")){
+                    String[] temp = line.split(" ");
+                    prot = temp[0].trim() + "\t \t";
+                } else {
+                    prot +=  line.trim();
+                    lines.add(prot);
+                }
+                
+                line = br.readLine();
+            }
+
+            br.close();
+
+        } catch (FileNotFoundException filenotfoundexxption) {
+            System.out.println(path + ", does not exist");
+        } catch (IOException ioexception) {
+            ioexception.printStackTrace();
+        }
+
+        return lines;
+    }
+
+}
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/KinaMineGUI.fxml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/KinaMineGUI.fxml Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.text.*?>
+<?import javafx.geometry.*?>
+<?import java.lang.*?>
+<?import java.util.*?>
+<?import javafx.scene.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+
+<VBox id="containerAll" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="kinamine.KinaMineGUIController">
+   <children>
+      <MenuBar id="menuBar">
+        <menus>
+          <Menu mnemonicParsing="false" text="File">
+            <items>
+              <MenuItem mnemonicParsing="false" text="Close" />
+            </items>
+          </Menu>
+          <Menu mnemonicParsing="false" text="Edit">
+            <items>
+              <MenuItem mnemonicParsing="false" text="Delete" />
+            </items>
+          </Menu>
+          <Menu mnemonicParsing="false" text="Help">
+            <items>
+              <MenuItem mnemonicParsing="false" text="About" />
+            </items>
+          </Menu>
+        </menus>
+      </MenuBar>
+      <HBox id="pepHBox" spacing="10.0">
+         <children>
+            <Label id="pepLabel" prefHeight="17.0" prefWidth="120.0" text="Peptide Report:" textAlignment="CENTER" underline="true">
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Label>
+            <TextField fx:id="pepPath" HBox.hgrow="ALWAYS" />
+            <Button fx:id="pepSearchButton" mnemonicParsing="false" onAction="#pepSearchClicked" text="...">
+               <opaqueInsets>
+                  <Insets />
+               </opaqueInsets>
+            </Button>
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="5.0" left="10.0" right="10.0" top="10.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="fastaHBox" layoutX="10.0" layoutY="35.0" spacing="10.0">
+         <children>
+            <Label id="fastaLabel" prefWidth="120.0" text="FASTA Database:" textAlignment="CENTER" underline="true">
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Label>
+            <TextField fx:id="fastaPath" HBox.hgrow="ALWAYS" />
+            <Button id="fastaSearchButton" mnemonicParsing="false" onAction="#fastaSearchClicked" text="..." />
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="5.0" left="10.0" right="10.0" top="5.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="fdrHBox" layoutX="10.0" layoutY="35.0" spacing="10.0">
+         <children>
+            <Label id="fdrLabel" prefHeight="17.0" prefWidth="120.0" text="FDR Score:" textAlignment="CENTER" underline="true">
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Label>
+            <TextField fx:id="fdrScore" prefHeight="25.0" prefWidth="74.0"/>
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="5.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="folderHBox" layoutX="20.0" layoutY="80.0" spacing="10.0">
+         <children>
+            <Label id="folderLabel" prefWidth="120.0" text="Output Folder:" textAlignment="CENTER" underline="true">
+               <font>
+                  <Font size="13.0" />
+               </font>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+            </Label>
+            <TextField fx:id="outPath" HBox.hgrow="ALWAYS" />
+            <Button id="outSearchButton" mnemonicParsing="false" onAction="#browseFolderClicked" text="..." />
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="5.0" left="10.0" right="10.0" top="30.0" />
+         </VBox.margin>
+      </HBox>
+      <HBox id="groupHBox" layoutX="10.0" layoutY="180.0" spacing="10.0">
+         <children>
+            <Label id="groupLabel" prefWidth="120.0" text="Output Group:" textAlignment="CENTER" underline="true">
+               <font>
+                  <Font size="13.0" />
+               </font>
+               <padding>
+                  <Insets left="10.0" right="10.0" />
+               </padding>
+               <HBox.margin>
+                  <Insets />
+               </HBox.margin>
+            </Label>
+            <TextField fx:id="outGroup" />
+         </children>
+         <opaqueInsets>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
+         </opaqueInsets>
+         <VBox.margin>
+            <Insets bottom="10.0" left="10.0" right="10.0" top="5.0" />
+         </VBox.margin>
+      </HBox>
+      <Region id="region" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS" />
+      <ToolBar id="toolBar" nodeOrientation="RIGHT_TO_LEFT" prefHeight="40.0" prefWidth="200.0">
+        <items>
+          <Button id="submitButton" mnemonicParsing="false" text="Submit" onAction="#submitButtonClicked" >
+               <font>
+                  <Font size="13.0" />
+               </font>
+            </Button>
+        </items>
+      </ToolBar>
+   </children>
+</VBox>
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/KinaMineGUIController.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/KinaMineGUIController.java Tue Feb 20 14:31:15 2018 -0500
[
b'@@ -0,0 +1,312 @@\n+/**\r\n+ *****************************************************************************\r\n+ * <p>\r\n+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.\r\n+ * <p>\r\n+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)\r\n+ * <p>\r\n+ *****************************************************************************\r\n+ */\r\n+package kinamine;\r\n+\r\n+import java.io.File;\r\n+import java.net.URL;\r\n+import java.util.ArrayList;\r\n+import java.util.ResourceBundle;\r\n+import javafx.event.ActionEvent;\r\n+import javafx.fxml.FXML;\r\n+import javafx.fxml.Initializable;\r\n+import javafx.geometry.Pos;\r\n+import javafx.scene.Scene;\r\n+import javafx.scene.control.Button;\r\n+import javafx.scene.control.Label;\r\n+import javafx.scene.control.TextField;\r\n+import javafx.scene.layout.VBox;\r\n+import javafx.stage.DirectoryChooser;\r\n+import javafx.stage.FileChooser;\r\n+import javafx.stage.FileChooser.ExtensionFilter;\r\n+import javafx.stage.Modality;\r\n+import javafx.stage.Stage;\r\n+\r\n+/**\r\n+ * Controller class for KinaMine GUI. Implements ActionEvents for GUI FXML frame\r\n+ * - built in Scene Builder.\r\n+ *\r\n+ * @version 1.0\r\n+ * @author murra668\r\n+ */\r\n+public class KinaMineGUIController implements Initializable {\r\n+\r\n+    /**\r\n+     * Textfields for Peptide Report path, FASTA Database path, Output\r\n+     * Directory, FDR Score and Output Group Name.\r\n+     */\r\n+    @FXML\r\n+    private TextField pepPath, fastaPath, outPath, fdrScore, outGroup;\r\n+\r\n+    /** Debug */\r\n+    private boolean debug;\r\n+\r\n+    /** Location of last directory visited. */\r\n+    @FXML\r\n+    File lastDirectory;\r\n+\r\n+    /**\r\n+     * Handles ActionEvent of pepBrowseButton being pressed. Opens file browser\r\n+     * for selection of peptide report tabular file. Stores location of the pep\r\n+     * report in the PepPath Textfield.\r\n+     *\r\n+     * @param event\r\n+     */\r\n+    @FXML\r\n+    public void pepSearchClicked(ActionEvent event) {\r\n+\r\n+        /** Creates new FileChooser. */\r\n+        final FileChooser fileChooser = new FileChooser();\r\n+\r\n+        /** Creates new ExtensionFilter for selection of tabular file. */\r\n+        ExtensionFilter filter\r\n+                = new ExtensionFilter("Tabular", "*.tabular", "*.txt");\r\n+\r\n+        /** Configures FileChooser with parameters and last directory. */\r\n+        configFileChooser(fileChooser, lastDirectory, filter);\r\n+\r\n+        /** Opens FileChooser window. */\r\n+        final File selectedFile\r\n+                = fileChooser.showOpenDialog(KinaMine.stage);\r\n+\r\n+        /**\r\n+         * If the selected file is non-null, set the text of the pepPath\r\n+         * TextField to the absolute path of the file. Update last directory.\r\n+         */\r\n+        if (selectedFile != null) {\r\n+            lastDirectory = new File(selectedFile.getParent());\r\n+            pepPath.setText(selectedFile.getAbsolutePath());\r\n+\r\n+        }\r\n+    }\r\n+\r\n+    /**\r\n+     * Handles ActionEvent of fastaSearchButton being pressed. Opens a file\r\n+     * browser for the selection of a FASTA database and stores the location of\r\n+     * the file in the fastaPath Textfield.\r\n+     *\r\n+     * @param event\r\n+     */\r\n+    @FXML\r\n+    public void fastaSearchClicked(ActionEvent event) {\r\n+\r\n+        /** Initialize new filechosoer. */\r\n+        final FileChooser fileChooser = new FileChooser();\r\n+\r\n+        /** Create new extension filter */\r\n+        ExtensionFilter filter\r\n+                = new ExtensionFilter("Database", "*.fasta", "*.tabular");\r\n+\r\n+        /** Configure file chooser */\r\n+        configFileChooser(fileChooser, lastDirectory, filter);\r\n+\r\n+        /** Open file select window. */\r\n+        final File selectedFile\r\n+                = fileChooser.showOpenDialog(KinaMine.stage);\r\n+\r\n+        /** Update fastapath and last directory, if not null */\r\n+        if (selectedFile != null) {\r\n+            lastDirectory = new File(selectedFile.getParent());\r\n+            fastaPath.setText(selectedFile.getAbsolutePath());\r\n+\r\n+        }\r\n+ '..b'    args[1] = fastaPath.getText();\r\n+        args[2] = outPath.getText();\r\n+        args[3] = fdrScore.getText();\r\n+        args[4] = outGroup.getText();\r\n+\r\n+        ArrayList<String> error = checkForErrors(args);\r\n+\r\n+        /** Handle errors */\r\n+        if (error.isEmpty()) {\r\n+            boolean status = KinaMineDriver.run(args, debug = true);\r\n+            completeWindow();\r\n+        } else {\r\n+            alertError(error);\r\n+        }\r\n+    }\r\n+\r\n+    public ArrayList<String> checkForErrors(String[] args) {\r\n+\r\n+        ArrayList<String> error = new ArrayList<>();\r\n+\r\n+        File pep = new File(args[0]);\r\n+        File fasta = new File(args[1]);\r\n+        File dir = new File(args[2]);\r\n+        String score = args[3];\r\n+\r\n+        if (!pep.isFile()) {\r\n+            error.add(args[0] + " is not a file.");\r\n+        }\r\n+        if (!pep.canRead()) {\r\n+            error.add("Can\'t read peptide report: " + args[0]);\r\n+        }\r\n+        if (!fasta.isFile()) {\r\n+            error.add(args[1] + " is not a file.");\r\n+        }\r\n+        if (!fasta.canRead()) {\r\n+            error.add("Can\'t read database: " + args[0]);\r\n+        }\r\n+        if (!dir.isDirectory()){\r\n+            error.add(dir + " is not a directory.");\r\n+        }\r\n+        if (!score.matches("[-+]?\\\\d*\\\\.?\\\\d+")) {\r\n+            error.add("FDR Score: " + score + " is not a number.");\r\n+        }\r\n+\r\n+        return error;\r\n+    }\r\n+\r\n+    /**\r\n+     * If error in arguments for KinaMineDriver, open error window and write\r\n+     * error message to user.\r\n+     *\r\n+     * @param errors list of errors\r\n+     */\r\n+    public void alertError(ArrayList<String> errors) {\r\n+\r\n+        /** Format window. */\r\n+        Stage window = new Stage();\r\n+        window.initModality(Modality.APPLICATION_MODAL);\r\n+        window.setTitle("Error");\r\n+        window.setMinWidth(250);\r\n+\r\n+        /** Format message*/\r\n+        String message = "";\r\n+        for (String error : errors) {\r\n+            message += error + "\\n";\r\n+        }\r\n+        Label label = new Label(message);\r\n+        \r\n+        /** Format Button */\r\n+        Button closeButton = new Button("Close\\n");\r\n+        closeButton.setOnAction(e -> window.close());\r\n+\r\n+        /** Format layout */\r\n+        VBox layout = new VBox(10);\r\n+        layout.getChildren().addAll(label, closeButton);\r\n+        layout.setAlignment(Pos.CENTER);\r\n+\r\n+        /** Set scene */\r\n+        Scene scene = new Scene(layout);\r\n+        window.setScene(scene);\r\n+        window.showAndWait();\r\n+\r\n+    }\r\n+\r\n+    /**\r\n+     * Opens window when Run is complete.\r\n+     */\r\n+    public void completeWindow() {\r\n+\r\n+        /** Format window. */\r\n+        Stage window = new Stage();\r\n+        window.initModality(Modality.APPLICATION_MODAL);\r\n+        window.setMinWidth(250);\r\n+\r\n+        /** Format close button */\r\n+        Label label = new Label("Run Complete");\r\n+        Button closeButton = new Button("Done");\r\n+        closeButton.setOnAction(e -> window.close());\r\n+\r\n+        /** Format layout */\r\n+        VBox layout = new VBox(10);\r\n+        layout.getChildren().addAll(label, closeButton);\r\n+        layout.setAlignment(Pos.CENTER);\r\n+\r\n+        /** Set scene */\r\n+        Scene scene = new Scene(layout);\r\n+        window.setScene(scene);\r\n+        window.showAndWait();\r\n+\r\n+    }\r\n+\r\n+    /**\r\n+     * Initialize method for KinaMineGUI. Initializes all paths.\r\n+     *\r\n+     * @param url\r\n+     * @param rb\r\n+     */\r\n+    @Override\r\n+    public void initialize(URL url, ResourceBundle rb) {\r\n+        System.out.println("Initializing...");\r\n+        lastDirectory = null;\r\n+        assert pepPath != null : "fx:id=\\"pepPath\\" was not injected: check your FXML file \'KinaMineGUI.fxml\'.";\r\n+        assert fastaPath != null : "fx:id=\\"fastaPath\\" was not injected: check your FXML file \'KinaMineGUI.fxml\'.";\r\n+        assert outPath != null : "fx:id=\\"outPath\\" was not injected: check your FXML file \'KinaMineGUI.fxml\'.";\r\n+\r\n+    }\r\n+\r\n+}\r\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/Motif.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/Motif.java Tue Feb 20 14:31:15 2018 -0500
b
@@ -0,0 +1,41 @@
+/*
+ * /**
+ *****************************************************************************
+ *
+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.
+ *
+ *
+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)
+ *
+ *****************************************************************************
+ */
+
+
+package kinamine;
+
+import java.util.ArrayList;
+
+/**
+ *
+ * @author murra668
+ */
+public class Motif {
+    
+    public String seq;
+    
+    public int index;
+    
+    public String ref;
+    
+    public ArrayList<String> regenSeqs;
+    
+    public Motif(String seq, String ref, int index, ArrayList<String> seqs){
+        
+        this.seq = seq;
+        this.ref = ref;
+        this.index = index;
+        this.regenSeqs = seqs;
+        
+    }
+    
+}
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/Peptide.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/Peptide.java Tue Feb 20 14:31:15 2018 -0500
[
@@ -0,0 +1,109 @@
+/**
+ *****************************************************************************
+ * <p>
+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.
+ * <p>
+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)
+ * <p>
+ *****************************************************************************
+ */
+package kinamine;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Peptide object representing the relevant information from the submitted
+ * peptide report. Stores the values necessary for writing a report formatted
+ * for existing Excel sheets.
+ *
+ * @version 1.0
+ * @author murra668
+ */
+public class Peptide {
+    
+    /** Sequence of peptide. */
+    String seq;
+    
+    /** Accession of Protein associated with this peptide. */
+    List<String> id;
+     
+    /** Full Accessions. */
+    String ref;
+
+    /** Motif of phospho-tyrosine. */
+    ArrayList<String> motif;
+
+    /** Index of phospho-tyrosine in the peptide sequence. */
+    ArrayList<Integer> tyrIndex;
+
+    /** Index of phospho-tyrosine in protein sequence. */
+    ArrayList<Integer> tyrProtIndex;
+
+    /** Length of peptide sequence. */
+    int length;
+
+    /**
+     * Constructs a Peptide object from the parsed peptide info from a line in
+     * the peptide report.
+     *
+     * @param pepInfo tab-separated line of peptide info
+     * @param ids
+     */
+    public Peptide(String[] pepInfo, List ids) {
+         
+        /** Store sequence */
+        this.seq = pepInfo[8];
+
+        /** Store sequence length. */
+        this.length = pepInfo[8].length();
+
+        /** Initialize empty motif array. */
+        this.motif = new ArrayList<>();
+
+        /** Extract peptide references. */
+        this.id = ids;     
+        this.ref = pepInfo[3];
+
+        /** Store the index of phospho-tyrosine of the peptide and protein. */
+        this.tyrIndex = getIndex(pepInfo[9]);
+        this.tyrProtIndex = getIndex(pepInfo[10]);
+    }
+
+    /**
+     * Gets the index of the phospho-tyrosine in the peptide and corresponding
+     * protein, as indicated by the modification column of the peptide report.
+     * There may be more than one phospho-tyr within a peptide.
+     * <p>
+     * Location formatted as Phospho(Y)@index.
+     *
+     * @param mods string of mod locations
+     * @return ArrayList of integers.
+     */
+    private ArrayList<Integer> getIndex(String mods) {
+
+        /** Modifications are separated by ';'. */
+        List<String> psm = Arrays.asList(mods.split(";"));
+
+        /** Initialize new index array. */
+        ArrayList<Integer> index = new ArrayList<>();
+
+        /** Check all modifications. */
+        for (int i = 0; i < psm.size(); i++) {
+
+            /** Check if phospho-tyr. */
+            if (psm.get(i).contains("Phospho(Y)")) {
+
+                /** Trim for correct indexing. */
+                String mod = psm.get(i).trim();
+
+                /** Add to index array */
+                index.add(Integer.valueOf(mod.substring(11)));
+            }
+        }
+
+        return index;
+
+    }
+}
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/Protein.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/Protein.java Tue Feb 20 14:31:15 2018 -0500
[
@@ -0,0 +1,118 @@
+/**
+ *****************************************************************************
+ * <p>
+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.
+ * <p>
+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)
+ * <p>
+ *****************************************************************************
+ */
+package kinamine;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Protein object represents a protein within the FASTA database. Object
+ * captures data relevant for writing reports - protein ID and sequence.
+ *
+ * @version 1.0
+ * @author murra668
+ */
+public class Protein {
+
+    /** Amino Acid Sequence of Protein. */
+    String seq;
+    
+    /** Map of Amino Acid Frequencies. */
+    Map<Character, Double> comp;
+
+    /** Properties. */
+    Map<String, Double> props;
+
+    /** Number of Tyrosine. */
+    int numTyr;
+
+    /** Number of Phospho-Tyrosine. */
+    int phosphoTyr;
+
+    /**
+     * Constructs a Protein Object. Captures ID and Sequence from line of Fasta
+     * Database.
+     *
+     * @param protein Line from Fasta Database
+     */
+    public Protein(String[] protein) {
+        
+        this.comp = new HashMap();    
+        this.props = new HashMap();
+
+        /** Set Sequence. */
+        this.seq = protein[2];
+
+        /** Initialize to zero. */
+        this.phosphoTyr = 0;
+        
+        /** Initialize frequencies. */
+        initFreq();
+        
+        /** Calculate frequencies. */
+        calcFreq();
+
+        /** Calculate sequence properties. */
+        calcProps();
+    }
+    
+    /**
+     * Initialize the frequency of each amino acid to zero.
+     */
+    private void initFreq() {
+
+        for (char acid : AminoAcid.ACIDS) {
+            comp.put(acid, 0.0);
+        }
+    }
+
+    /**
+     * Calculate the frequency of each amino acid within the proteins sequence.
+     * Specifically record the number of tyrosine in the sequence.
+     */
+    private void calcFreq() {
+        
+        /** Increment for each amino acid. */
+        for (char acid : this.seq.toCharArray()) {
+            comp.computeIfPresent(acid, (k, v) -> v + 1);
+        }
+        
+        /** Set the number of tyrosine. */
+        numTyr = comp.get('Y').intValue();
+        
+        /** Calculate frequency. */
+        for (char acid : AminoAcid.ACIDS) {
+            comp.computeIfPresent(acid, (k, v) -> (v / seq.length()) * 100);
+        }
+    }
+
+    /**
+     * Calculate the properties of the sequence based on the amino acid comp.
+     * There are ten properties: Hydrophobic, Polar, Small, Negative, Positive,
+     * Amide, Large Aliphatic, Small Aliphatic, Aromatic, Hydroxy.
+     */
+    private void calcProps() {
+        
+        for (String prop : AminoAcid.PROPS){
+            
+            double value = 0;
+            
+            for (char acid : AminoAcid.ACIDS){
+                
+                /** If amino acid has property, add to properties. */
+                if (Run.ACIDS.aAcids.get(acid).contains(prop)){
+                    value += comp.get(acid);
+                }
+            }
+            
+            props.put(prop, value);
+        }
+    }
+}
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/Reporter.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/Reporter.java Tue Feb 20 14:31:15 2018 -0500
[
b'@@ -0,0 +1,236 @@\n+/**\r\n+ *****************************************************************************\r\n+ * <p>\r\n+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.\r\n+ * <p>\r\n+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)\r\n+ * <p>\r\n+ *****************************************************************************\r\n+ */\r\n+package kinamine;\r\n+\r\n+import java.io.*;\r\n+import java.util.ArrayList;\r\n+import java.util.Collection;\r\n+import java.util.Map.Entry;\r\n+import java.util.Set;\r\n+import javafx.util.Pair;\r\n+\r\n+/**\r\n+ * Reporter class to write reports. Currently writes out in .csv format.\r\n+ *\r\n+ * @version 1.0\r\n+ * @author murra668\r\n+ * new author: blank121@umn.edu as of August 2017\r\n+ */\r\n+public class Reporter {\r\n+\r\n+    /**\r\n+     * Write reports for run.\r\n+     *\r\n+     * @param run\r\n+     * @param outPath\r\n+     * @param outGroup\r\n+     */\r\n+    static void writeReports(Run run, String outPath, String outGroup) {\r\n+\r\n+        /** Write substrates report. */\r\n+        String outputFileSub = outPath + outGroup + "_Substrates.csv";\r\n+        Reporter.substrates(run, outputFileSub);\r\n+\r\n+        /** Write substrate background frequency report. */\r\n+        String outputFileFreq = outPath + outGroup + "_SubBackFreq.csv";\r\n+        Reporter.frequencies(run, outputFileFreq);\r\n+\r\n+    }\r\n+\r\n+    /**\r\n+     * Writes substrates report from the ids and motifs of each peptide.\r\n+     *\r\n+     * @param run\r\n+     * @param outputFileName\r\n+     */\r\n+    private static void substrates(Run run, String outputFileName) {\r\n+\r\n+        /** Format header */\r\n+//        String header = "Substrates," + "Species," + "Reference," + "-7," + "-6,"\r\n+//                + "-5," + "-4," + "-3," + "-2," + "-1," + "0," + "1,"\r\n+//                + "2," + "3," + "4," + "5," + "6," + "7," + "Phosphite"\r\n+//                + "\\n";\r\n+        String header = "Substrates," + "Species," + "Reference," + "-7," + "-6,"\r\n+                + "-5," + "-4," + "-3," + "-2," + "-1," + "0," + "1,"\r\n+                + "2," + "3," + "4," + "5," + "6," + "7," \r\n+                +" ," +" ,"+ " ,"+ "Phosphite"\r\n+                + "\\n";\r\n+\r\n+        /** Initialize details */\r\n+        String detail = null;\r\n+\r\n+        try (FileWriter writer = new FileWriter(outputFileName)) {\r\n+\r\n+            /* Write the column headers */\r\n+            writer.append(header);\r\n+\r\n+           Collection<Motif> motifs = run.motifs.values();\r\n+\r\n+            /** Loop through each motif */\r\n+            for (Motif motif : motifs) {\r\n+\r\n+                /** Format ID and blanks */\r\n+                detail = "," + "," + motif.ref + ",";\r\n+\r\n+                String seq = motif.seq;\r\n+                int index = motif.index;\r\n+//changing the numbers for index only changed where in the excel doc these motifs\r\n+//showed up\r\n+//I should fuck with this and try to reallign it\r\n+//I should do that now\r\n+                if (index < 8) {\r\n+                    for (int i = index; i < 8; i++) {\r\n+                        detail += ",";\r\n+                    }\r\n+                    for (int j = 0; j < seq.length(); j++) {\r\n+                        detail += seq.charAt(j) + ",";\r\n+                    }\r\n+                    if (seq.length() - index < 7) {\r\n+                        for (int i = seq.length() - index; i < 7; i++) {\r\n+                            detail += ",";\r\n+                        }\r\n+                    }\r\n+                } else if (seq.length() < 15) {\r\n+                    for (int j = 0; j < seq.length(); j++) {\r\n+                        detail += seq.charAt(j) + ",";\r\n+                    }\r\n+                    for (int i = seq.length(); i < 15; i++) {\r\n+                        detail += ",";\r\n+                    }\r\n+\r\n+                } else {\r\n+                    for (int j = 0; j < seq.length(); j++) {\r\n+                        detail += seq.charAt(j) + ",";\r\n+                    }\r\n+                }\r\n+\r\n+//\r\n+//                if (index <'..b'4; i++) {\r\n+//                            detail += ",";\r\n+//                        }\r\n+//                    }\r\n+//                } else if (seq.length() < 9) {\r\n+//                    for (int j = 0; j < seq.length(); j++) {\r\n+//                        detail += seq.charAt(j) + ",";\r\n+//                    }\r\n+//                    for (int i = seq.length(); i < 9; i++) {\r\n+//                        detail += ",";\r\n+//                    }\r\n+//\r\n+//                } else {\r\n+//                    for (int j = 0; j < seq.length(); j++) {\r\n+//                        detail += seq.charAt(j) + ",";\r\n+//                    }\r\n+//                }\r\n+////////////////////////////////////////////////////////////////////////////////\r\n+                /** Format trailing blanks */\r\n+                detail += "," + "," + "," + seq + ",";\r\n+                \r\n+                for (String id : motif.regenSeqs){\r\n+                    detail += id + ",";\r\n+                }\r\n+                detail += "\\n";\r\n+\r\n+                /** Append each line of the report. */\r\n+                writer.append(detail);\r\n+            }\r\n+\r\n+            writer.flush();\r\n+            writer.close();\r\n+\r\n+        } catch (IOException e) {\r\n+            e.printStackTrace();\r\n+        }\r\n+    }\r\n+\r\n+    /**\r\n+     * Write substrates background frequency report from each protein in the\r\n+     * database.\r\n+     *\r\n+     * @param run\r\n+     * @param outputFileName\r\n+     */\r\n+    private static void frequencies(Run run, String outputFileName) {\r\n+\r\n+        /** Initialize the header */\r\n+        StringBuffer header = new StringBuffer();\r\n+        header.append("Amino Acids,");\r\n+\r\n+        /** Write each protein accession. */\r\n+        Object[] prots = run.database.keySet().toArray();\r\n+        for (Object ref : prots) {\r\n+            header.append(ref).append(",");\r\n+        }\r\n+        header.append("\\n");\r\n+\r\n+        try (FileWriter writer = new FileWriter(outputFileName)) {\r\n+\r\n+            /* Write the column headers. */\r\n+            writer.append(header);\r\n+\r\n+            Collection<Protein> proteins = run.database.values();\r\n+\r\n+            /** Write frequency of each amino acid. */\r\n+            for (char acid : AminoAcid.ACIDS) {\r\n+                StringBuffer detail = new StringBuffer();\r\n+                detail.append(acid).append(",");\r\n+                for (Protein protein : proteins) {\r\n+                    detail.append(protein.comp.get(acid)).append(",");\r\n+                }\r\n+                detail.append("\\n");\r\n+                writer.append(detail);\r\n+            }\r\n+\r\n+            writer.append("Properties\\n");\r\n+\r\n+            /** Write the property frequency of each amino acid. */\r\n+            for (String prop : AminoAcid.PROPS) {\r\n+                StringBuffer props = new StringBuffer();\r\n+                props.append(prop).append(",");\r\n+                for (Protein protein : proteins) {\r\n+                    props.append(protein.props.get(prop)).append(",");\r\n+                }\r\n+                props.append("\\n");\r\n+                writer.append(props);\r\n+            }\r\n+\r\n+            writer.append("\\n");\r\n+\r\n+            StringBuffer tyr = new StringBuffer("Number of Y,");\r\n+            StringBuffer phosphTyr = new StringBuffer("Number of pY,");\r\n+            StringBuffer aa = new StringBuffer("Total AAs,");\r\n+\r\n+            /** Write the number of tyrosine, phospho-tyrosine, and length. */\r\n+            for (Protein protein : proteins) {\r\n+                tyr.append(protein.numTyr).append(",");\r\n+                phosphTyr.append(protein.phosphoTyr).append(",");\r\n+                aa.append(protein.seq.length()).append(",");\r\n+            }\r\n+\r\n+            writer.append(tyr + "\\n");\r\n+            writer.append(phosphTyr + "\\n");\r\n+            writer.append(aa + "\\n");\r\n+\r\n+            writer.flush();\r\n+            writer.close();\r\n+\r\n+        } catch (IOException e) {\r\n+            e.printStackTrace();\r\n+        }\r\n+    }\r\n+}\r\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/src/kinamine/Run.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/src/kinamine/Run.java Tue Feb 20 14:31:15 2018 -0500
[
b'@@ -0,0 +1,327 @@\n+/**\r\n+ *****************************************************************************\r\n+ * <p>\r\n+ * Copyright (c) Regents of the University of Minnesota. All Rights Reserved.\r\n+ * <p>\r\n+ * Author: Kevin Murray University of Minnesota - (murra668@umn.edu)\r\n+ * <p>\r\n+ *****************************************************************************\r\n+ */\r\n+package kinamine;\r\n+\r\n+import java.util.ArrayList;\r\n+import java.util.Arrays;\r\n+import java.util.HashMap;\r\n+import java.util.List;\r\n+import java.util.Map;\r\n+import java.util.Set;\r\n+\r\n+/**\r\n+ * Main KinaMine object container. A run contains ArrayLists of peptide and\r\n+ * proteins from the extracted file and list of amino acid chars.\r\n+ *\r\n+ * @version 1.0\r\n+ * @author murra668\r\n+ */\r\n+public final class Run {\r\n+\r\n+    /** List of peptide. */\r\n+    public final ArrayList<Peptide> pepList;\r\n+\r\n+    /** Non-redundant database. */\r\n+    public final Map<String, Protein> database;\r\n+\r\n+    /** Non-redundant collection of motifs. */\r\n+    public final Map<String, Motif> motifs;\r\n+\r\n+    /** Amino Acids and Properties. */\r\n+    public static final AminoAcid ACIDS = new AminoAcid();\r\n+\r\n+    /**\r\n+     * Constructs a run and processes the submitted peptide report and \r\n+     * fasta database for motif generation.\r\n+     *\r\n+     * @param peps lines from peptide report\r\n+     * @param prots lines for fasta database\r\n+     * @param score FDR score\r\n+     */\r\n+    public Run(ArrayList<String> peps, ArrayList<String> prots, double score) {\r\n+\r\n+        this.pepList = new ArrayList<>();\r\n+        this.database = new HashMap();\r\n+        this.motifs = new HashMap();\r\n+\r\n+        /** Extract peptides and generate custom protein database. */\r\n+        extractPeptides(peps, score);\r\n+\r\n+        /** Extracts the proteins from the fasta database. */\r\n+        extractDatabase(prots);\r\n+\r\n+        /** Generate motifs for each peptide. */\r\n+        generateMotifs();\r\n+\r\n+    }\r\n+\r\n+    /**\r\n+     * Extracts individual peptides from the peptide report and creates new\r\n+     * peptide objects, returns a list of peptides.\r\n+     *\r\n+     * @param lines Distinct peptide summary.\r\n+     * @param score FDR score.\r\n+     * @return ArrayList of peptides\r\n+     */\r\n+    private void extractPeptides(ArrayList<String> lines,\r\n+            double score) {\r\n+\r\n+        /** Process each line of the peptide report */\r\n+        for (String line : lines) {\r\n+\r\n+            /** Peptide report is tabular. */\r\n+            String[] pepInfo = line.split("\\\\t");\r\n+\r\n+            /**\r\n+             * Check to see if the peptide possesses a Conf score greater than\r\n+             * the FDR threshold, has a peptide id, and contains a\r\n+             * phospho-tyrosine.\r\n+             */\r\n+            if (Double.valueOf(pepInfo[7]) > score\r\n+                    & !"".equals(pepInfo[3])\r\n+                    & pepInfo[9].contains("Phospho(Y)")) {\r\n+\r\n+                List<String> temp = Arrays.asList(pepInfo[3].split(";"));\r\n+                ArrayList<String> ids = new ArrayList<>();\r\n+                temp.stream().forEach((id) -> {\r\n+                    ids.add(id.trim());\r\n+                });\r\n+\r\n+                /** Add IDs to inclusion list, if not present. */\r\n+                for (String ref : ids) {\r\n+                    if (!ref.contains("RRRRR")\r\n+                            & !database.containsKey(ref.trim())) {\r\n+                        this.database.put(ref, null);\r\n+                    }\r\n+                }\r\n+\r\n+                /** Construct a new peptide object. */\r\n+                Peptide peptide = new Peptide(pepInfo, ids);\r\n+\r\n+                /** Add the peptide to list if unique. */\r\n+                this.pepList.add(peptide);\r\n+            }\r\n+        }\r\n+    }\r\n+\r\n+    /**\r\n+     * Extracts individual proteins from a FASTA database, creating new protein\r\n+     * objects from each entry and adding them to a master list.\r\n+     *\r\n+     * @param fastaDatabase\r\n+     * @return ArrayList of Pro'..b'tif = seq.substring(index - 5, index + 4);\r\n+//            index = 5;\r\n+//        } else if (index - 4 < 1 & index + 4 <= seq.length()) {\r\n+//            motif = seq.substring(0, index + 4);\r\n+//        } else if (index - 4 >= 1 & index + 4 > seq.length()) {\r\n+//            motif = seq.substring(index - 5, seq.length());\r\n+//            index = 5;\r\n+//        } else {\r\n+//            motif = seq;\r\n+//        }\r\n+        if (index - 7 >= 1 & index + 7 <= seq.length()) {\r\n+            motif = seq.substring(index - 8, index + 7);\r\n+            index = 8;\r\n+        } else if (index - 7 < 1 & index + 7 <= seq.length()) {\r\n+            motif = seq.substring(0, index + 7);\r\n+        } else if (index - 7 >= 1 & index + 7 > seq.length()) {\r\n+            motif = seq.substring(index - 8, seq.length());\r\n+            index = 8;\r\n+        } else {\r\n+            motif = seq;\r\n+        }\r\n+\r\n+        addMotif(motif, peptide, index);\r\n+\r\n+    }\r\n+\r\n+    /**\r\n+     * Determine if peptide has a protein ID.\r\n+     *\r\n+     * @param peptide\r\n+     * @return\r\n+     */\r\n+    public boolean hasProtID(Peptide peptide) {\r\n+        return !peptide.id.isEmpty();\r\n+    }\r\n+\r\n+    /**\r\n+     * Adds seq to motif map. Also pair peptide refs and index of phospho-\r\n+     * -tyrosine.\r\n+     *\r\n+     * @param seq\r\n+     * @param ref\r\n+     * @param index\r\n+     */\r\n+    private void addMotif(String seq, Peptide peptide, int index) {\r\n+\r\n+        /** Check if sequence is unique. */\r\n+        if (!motifs.containsKey(seq)) {\r\n+            ArrayList<String> regenSeqs = regenSeq(peptide.id, seq, index);\r\n+            motifs.put(seq, new Motif(seq, peptide.ref, index, regenSeqs));\r\n+            markMod(peptide.id);\r\n+        } else {\r\n+            List<String> refs = peptide.id;\r\n+            List<String> ids = parseRef(motifs.get(seq).ref);\r\n+            ArrayList<String> newID = new ArrayList<>();\r\n+\r\n+            for (String ref : refs) {\r\n+                if (!ids.contains(ref)) {\r\n+                    newID.add(ref);\r\n+                }\r\n+            }\r\n+\r\n+            if (!newID.isEmpty()) {\r\n+                markMod(newID);\r\n+                ids.addAll(newID);\r\n+                String temp = "";\r\n+                for (String id : ids) {\r\n+                    temp += id + ";";\r\n+                }\r\n+                ArrayList<String> regenSeqs = regenSeq(ids, seq, index);\r\n+                motifs.put(seq, new Motif(seq, temp, index, regenSeqs));\r\n+            }\r\n+        }\r\n+    }\r\n+\r\n+    /** Parse the reference string of peptide.\r\n+     *\r\n+     * @param ref\r\n+     * @return\r\n+     */\r\n+    public List<String> parseRef(String ref) {\r\n+        List<String> temp = Arrays.asList(ref.split(";"));\r\n+        ArrayList<String> ids = new ArrayList<>();\r\n+        temp.stream().forEach((id) -> {\r\n+            ids.add(id.trim());\r\n+        });\r\n+\r\n+        return ids;\r\n+    }\r\n+\r\n+    private ArrayList<String> regenSeq(List<String> ids, String seq, int i) {\r\n+\r\n+        ArrayList<String> seqs = new ArrayList<>();\r\n+\r\n+        for (String id : ids) {\r\n+            if (database.containsKey(id)) {\r\n+                String prot = database.get(id).seq;\r\n+                int index = prot.indexOf(seq) + i;\r\n+                \r\n+                String motif = "";\r\n+                \r\n+                if (index - 7 >= 1 & index + 7 <= prot.length()) {\r\n+                    motif = prot.substring(index - 8, index + 7);\r\n+                } else if (index - 7 < 1 & index + 7 <= prot.length()) {\r\n+                    motif = prot.substring(0, index + 7);\r\n+                } else if (index - 7 >= 1 & index + 7 > prot.length()) {\r\n+                    motif = prot.substring(index - 8, prot.length());\r\n+                } else {\r\n+                    motif = prot;\r\n+                }\r\n+                \r\n+                if (!seqs.contains(motif)){\r\n+                    seqs.add(motif);\r\n+                }\r\n+\r\n+            }\r\n+        }\r\n+        \r\n+        return seqs;\r\n+\r\n+    }\r\n+\r\n+}\r\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/test/HumanUniportContaminants.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/test/HumanUniportContaminants.tabular Tue Feb 20 14:31:15 2018 -0500
b
b'@@ -0,0 +1,91566 @@\n+sp|P31946|1433B_HUMAN\t14-3-3 protein beta/alpha OS=Homo sapiens GN=YWHAB PE=1 SV=3\tMTMDKSELVQKAKLAEQAERYDDMAAAMKAVTEQGHELSNEERNLLSVAYKNVVGARRSSWRVISSIEQKTERNEKKQQMGKEYREKIEAELQDICNDVLELLDKYLIPNATQPESKVFYLKMKGDYFRYLSEVASGDNKQTTVSNSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLNEESYKDSTLIMQLLRDNLTLWTSENQGDEGDAGEGEN\n+sp|P31946-2|1433B_HUMAN\tIsoform Short of 14-3-3 protein beta/alpha OS=Homo sapiens GN=YWHAB\tMDKSELVQKAKLAEQAERYDDMAAAMKAVTEQGHELSNEERNLLSVAYKNVVGARRSSWRVISSIEQKTERNEKKQQMGKEYREKIEAELQDICNDVLELLDKYLIPNATQPESKVFYLKMKGDYFRYLSEVASGDNKQTTVSNSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLNEESYKDSTLIMQLLRDNLTLWTSENQGDEGDAGEGEN\n+sp|P62258|1433E_HUMAN\t14-3-3 protein epsilon OS=Homo sapiens GN=YWHAE PE=1 SV=1\tMDDREDLVYQAKLAEQAERYDEMVESMKKVAGMDVELTVEERNLLSVAYKNVIGARRASWRIISSIEQKEENKGGEDKLKMIREYRQMVETELKLICCDILDVLDKHLIPAANTGESKVFYYKMKGDYHRYLAEFATGNDRKEAAENSLVAYKAASDIAMTELPPTHPIRLGLALNFSVFYYEILNSPDRACRLAKAAFDDAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDMQGDGEEQNKEALQDVEDENQ\n+sp|P62258-2|1433E_HUMAN\tIsoform SV of 14-3-3 protein epsilon OS=Homo sapiens GN=YWHAE\tMVESMKKVAGMDVELTVEERNLLSVAYKNVIGARRASWRIISSIEQKEENKGGEDKLKMIREYRQMVETELKLICCDILDVLDKHLIPAANTGESKVFYYKMKGDYHRYLAEFATGNDRKEAAENSLVAYKAASDIAMTELPPTHPIRLGLALNFSVFYYEILNSPDRACRLAKAAFDDAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDMQGDGEEQNKEALQDVEDENQ\n+sp|Q04917|1433F_HUMAN\t14-3-3 protein eta OS=Homo sapiens GN=YWHAH PE=1 SV=4\tMGDREQLLQRARLAEQAERYDDMASAMKAVTELNEPLSNEDRNLLSVAYKNVVGARRSSWRVISSIEQKTMADGNEKKLEKVKAYREKIEKELETVCNDVLSLLDKFLIKNCNDFQYESKVFYLKMKGDYYRYLAEVASGEKKNSVVEASEAAYKEAFEISKEQMQPTHPIRLGLALNFSVFYYEIQNAPEQACLLAKQAFDDAIAELDTLNEDSYKDSTLIMQLLRDNLTLWTSDQQDEEAGEGN\n+sp|P61981|1433G_HUMAN\t14-3-3 protein gamma OS=Homo sapiens GN=YWHAG PE=1 SV=2\tMVDREQLVQKARLAEQAERYDDMAAAMKNVTELNEPLSNEERNLLSVAYKNVVGARRSSWRVISSIEQKTSADGNEKKIEMVRAYREKIEKELEAVCQDVLSLLDNYLIKNCSETQYESKVFYLKMKGDYYRYLAEVATGEKRATVVESSEKAYSEAHEISKEHMQPTHPIRLGLALNYSVFYYEIQNAPEQACHLAKTAFDDAIAELDTLNEDSYKDSTLIMQLLRDNLTLWTSDQQDDDGGEGNN\n+sp|P31947|1433S_HUMAN\t14-3-3 protein sigma OS=Homo sapiens GN=SFN PE=1 SV=1\tMERASLIQKAKLAEQAERYEDMAAFMKGAVEKGEELSCEERNLLSVAYKNVVGGQRAAWRVLSSIEQKSNEEGSEEKGPEVREYREKVETELQGVCDTVLGLLDSHLIKEAGDAESRVFYLKMKGDYYRYLAEVATGDDKKRIIDSARSAYQEAMDISKKEMPPTNPIRLGLALNFSVFHYEIANSPEEAISLAKTTFDEAMADLHTLSEDSYKDSTLIMQLLRDNLTLWTADNAGEEGGEAPQEPQS\n+sp|P31947-2|1433S_HUMAN\tIsoform 2 of 14-3-3 protein sigma OS=Homo sapiens GN=SFN\tMERASLIQKAKLAEQAERYEDMAAFMKGAVEKGEELSCEERNLLSVAYKNVVGGQRAAWRVLSSIEQKSNEEGSEEKGPEVREYRVFYLKMKGDYYRYLAEVATGDDKKRIIDSARSAYQEAMDISKKEMPPTNPIRLGLALNFSVFHYEIANSPEEAISLAKTTFDEAMADLHTLSEDSYKDSTLIMQLLRDNLTLWTADNAGEEGGEAPQEPQS\n+sp|P27348|1433T_HUMAN\t14-3-3 protein theta OS=Homo sapiens GN=YWHAQ PE=1 SV=1\tMEKTELIQKAKLAEQAERYDDMATCMKAVTEQGAELSNEERNLLSVAYKNVVGGRRSAWRVISSIEQKTDTSDKKLQLIKDYREKVESELRSICTTVLELLDKYLIANATNPESKVFYLKMKGDYFRYLAEVACGDDRKQTIDNSQGAYQEAFDISKKEMQPTHPIRLGLALNFSVFYYEILNNPELACTLAKTAFDEAIAELDTLNEDSYKDSTLIMQLLRDNLTLWTSDSAGEECDAAEGAEN\n+sp|P63104|1433Z_HUMAN\t14-3-3 protein zeta/delta OS=Homo sapiens GN=YWHAZ PE=1 SV=1\tMDKNELVQKAKLAEQAERYDDMAACMKSVTEQGAELSNEERNLLSVAYKNVVGARRSSWRVVSSIEQKTEGAEKKQQMAREYREKIETELRDICNDVLSLLEKFLIPNASQAESKVFYLKMKGDYYRYLAEVAAGDDKKGIVDQSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDTQGDEAEAGEGGEN\n+sp|P63104-2|1433Z_HUMAN\tIsoform 2 of 14-3-3 protein zeta/delta OS=Homo sapiens GN=YWHAZ\tMSQPCRKLWRHNYETSSCIEFLKSLLEKFLIPNASQAESKVFYLKMKGDYYRYLAEVAAGDDKKGIVDQSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDTQGDEAEAGEGGEN\n+sp|P30443|1A01_HUMAN\tHLA class I histocompatibility antigen, A-1 alpha chain OS=Homo sapiens GN=HLA-A PE=1 SV=1\tMAVMAPRTLLLLLSGALALTQTWAGSHSMRYFFTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASQKMEPRAPWIEQEGPEYWDQETRNMKAHSQTDRANLGTLRGYYNQSEDGSHTIQIMYGCDVGPDGRFLRGYRQDAYDGKDYIALNEDLRSWTAADMAAQITKRKWEAVHAAEQRRVYLEGRCVDGLRRYLENGKETLQRTDPPKTHMTHHPISDHEATLRCWALGFYPAEITLTWQRDGEDQTQDTELVETRPAGDGTFQKWAAVVVPSGEEQRYTCHVQHEGLPKPLTLRWELSSQPTIPIVGIIAGLVLLGAVITGAVVAAVMWRRKSSDRKGGSYTQAA'..b'SHPALTPEQKKELSDIAHRIVAPGKGILAADESTGSIAKRLQSIGTENTEENRRFYRQLLLTADDRVNPCIGGVILFHETLYQKADDGRPFPQVIKSKGGVVGIKVDKGVVPLAGTNGETTTQGLDGLSERCAQYKKDGADFAKWRCVLKIGEHTPSALAIMENANVLARYASICQQNGIVPIVEPEILPDGDHDLKRCQYVTEKVLAAVYKALSDHHIYLEGTLLKPNMVTPGHACTQKYSHEEIAMATVTALRRTVPPAVTGVTFLSGGQSEEEASINLNAINKCPLLKPWALTFSYGRALQASALKAWGGKKENLKAAQEEYVKRALANSLACQGKYTPSGQAGAAASESLFIS\n+sp|LYSC_CHICK|\t\tMRSLLILVLCFLPLAALGKVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQATNRNTDGSTDYGILQINSRWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDGNGMNAWVAWRNRCKGTDVQAWIRGCRL\n+sp|MYG_HORSE|\t\tMGLSDGEWQQVLNVWGKVEADIAGHGQEVLIRLFTGHPETLEKFDKFKHLKTEAEMKASEDLKKHGTVVLTALGGILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISDAIIHVLHSKHPGDFGADAQGAMTKALELFRNDIAAKYKELGFQG\n+sp|OVAL_CHICK|\t\tMGSIGAASMEFCFDVFKELKVHHANENIFYCPIAIMSALAMVYLGAKDSTRTQINKVVRFDKLPGFGDSIEAQCGTSVNVHSSLRDILNQITKPNDVYSFSLASRLYAEERYPILPEYLQCVKELYRGGLEPINFQTAADQARELINSWVESQTNGIIRNVLQPSSVDSQTAMVLVNAIVFKGLWEKAFKDEDTQAMPFRVTEQESKPVQMMYQIGLFRVASMASEKMKILELPFASGTMSMLVLLPDEVSGLEQLESIINFEKLTEWTSSNVMEERKIKVYLPRMKMEEKYNLTSVLMAMGITDVFSSSANLSGISSAESLKISQAVHAAHAEINEAGREVVGSAEAGVDAASVSEEFRADHPFLFCIKHIATNAVLFFGRCVSP\n+sp|BGAL_ECOLI|\t\tMTMITDSLAVVLQRRDWENPGVTQLNRLAAHPPFASWRNSEEARTDRPSQQLRSLNGEWRFAWFPAPEAVPESWLECDLPEADTVVVPSNWQMHGYDAPIYTNVTYPITVNPPFVPTENPTGCYSLTFNVDESWLQEGQTRIIFDGVNSAFHLWCNGRWVGYGQDSRLPSEFDLSAFLRAGENRLAVMVLRWSDGSYLEDQDMWRMSGIFRDVSLLHKPTTQISDFHVATRFNDDFSRAVLEAEVQMCGELRDYLRVTVSLWQGETQVASGTAPFGGEIIDERGGYADRVTLRLNVENPKLWSAEIPNLYRAVVELHTADGTLIEAEACDVGFREVRIENGLLLLNGKPLLIRGVNRHEHHPLHGQVMDEQTMVQDILLMKQNNFNAVRCSHYPNHPLWYTLCDRYGLYVVDEANIETHGMVPMNRLTDDPRWLPAMSERVTRMVQRDRNHPSVIIWSLGNESGHGANHDALYRWIKSVDPSRPVQYEGGGADTTATDIICPMYARVDEDQPFPAVPKWSIKKWLSLPGETRPLILCEYAHAMGNSLGGFAKYWQAFRQYPRLQGGFVWDWVDQSLIKYDENGNPWSAYGGDFGDTPNDRQFCMNGLVFADRTPHPALTEAKHQQQFFQFRLSGQTIEVTSEYLFRHSDNELLHWMVALDGKPLASGEVPLDVAPQGKQLIELPELPQPESAGQLWLTVRVVQPNATAWSEAGHISAWQQWRLAENLSVTLPAASHAIPHLTTSEMDFCIELGNKRWQFNRQSGFLSQMWIGDKKQLLTPLRDQFTRAPLDNDIGVSEATRIDPNAWVERWKAAGHYQAEAALLQCTADTLADAVLITTAHAWQHQGKTLFISRKTYRIDGSGQMAITVDVEVASDTPHPARIGLNCQLAQVAERVNWLGLGPQENYPDRLTAACFDRWDLPLSDMYTPYVFPSENGLRCGTRELNYGPHQWRGDFQFNISRYSQQQLMETSHRHLLHAEEGTWLNIDGFHMGIGGDDSWSPSVSAEFQLSAGRYHYQLVWCQK\n+sp|DHE3_BOVIN|\t\tMYRYLGEALLLSRAGPAALGSASADSAALLGWARGQPAAAPQPGLVPPARRHYSEAAADREDDPNFFKMVEGFFDRGASIVEDKLVEDLKTRETEEQKRNRVRSILRIIKPCNHVLSLSFPIRRDDGSWEVIEGYRAQHSQHRTPCKGGIRYSTDVSVDEVKALASLMTYKCAVVDVPFGGAKAGVKINPKNYTDNELEKITRRFTMELAKKGFIGPGVDVPAPDMSTGEREMSWIADTYASTIGHYDINAHACVTGKPISQGGIHGRISATGRGVFHGIENFINEASYMSILGMTPGFGDKTFVVQGFGNVGLHSMRYLHRFGAKCITVGESDGSIWNPDGIDPKELEDFKLQHGTILGFPKAKIYEGSILEVDCDILIPAASEKQLTKSNAPRVKAKIIAEGANGPTTPEADKIFLERNIMVIPDLYLNAGGVTVSYFEWLNNLNHVSYGRLTFKYERDSNYHLLMSVQESLERKFGKHGGTIPIVPTAEFQDRISGASEKDIVHSGLAYTMERSARQIMRTAMKYNLGLDLRTAAYVNAIEKVFRVYNEAGVTFT\n+sp|GFP_AEQVI|\t\tMSKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKQHDFFKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYIMADKQKNGIKVNFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK\n+sp|SRPP_HEVBR|\t\tMAEEVEEERLKYLDFVRAAGVYAVDSFSTLYLYAKDISGPLKPGVDTIENVVKTVVTPVYYIPLEAVKFVDKTVDVSVTSLDGVVPPVIKQVSAQTYSVAQDAPRIVLDVASSVFNTGVQEGAKALYANLEPKAEQYAVITWRALNKLPLVPQVANVVVPTAVYFSEKYNDVVRGTTEQGYRVSSYLPLLPTEKITKVFGDEAS\n+sp|REF_HEVBR|\t\tMAEDEDNQQGQGEGLKYLGFVQDAATYAVTTFSNVYLFAKDKSGPLQPGVDIIEGPVKNVAVPLYNRFSYIPNGALKFVDSTVVASVTIIDRSLPPIVKDASIQVVSAIRAAPEAARSLASSLPGQTKILAKVFYGEN\n+sp|PLMP_GRIFR|\t\tMFSSVMVALVSLAVAVSANPGLSLKVSGPEAVDGVNNLKVVTTITNTGDETLKLLNDPRGALHTMPTDTFAITNESGETPSFIGVKVKYVPSMAAKSTGENVFAVIAPGQSVNVEHDLSAAYNFTSSGAGTYALEALNVFNYIDPETNEPVEIWADAEAHTTAVSGKLAVVRATPTLTRPVTYNGCSSSEQSALAAAASAAQSYVAESLSYLQTHTAATPRYTTWFGSYISSRHSTVLQHYTDMNSNDFSSYSFDCTCTAAGTFAYVYPNRFGTVYLCGAFWKAPTTGTDSQAGTLVHESSHFTRNGGTKDYAYGQAAAKSLATMDPDKAVMNADNHEYFSENNPAQS\n+KKA1_ECOLX\t\tMSHIQRETSCSRPRLNSNLDADLYGYKWARDNVGQSGATIYRLYGKPDAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGKTAFQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDASDFDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGIADRYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/test/HumanUniprotContaminants.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/test/HumanUniprotContaminants.fasta Tue Feb 20 14:31:15 2018 -0500
b
b'@@ -0,0 +1,183132 @@\n+>sp|P31946|1433B_HUMAN 14-3-3 protein beta/alpha OS=Homo sapiens GN=YWHAB PE=1 SV=3\n+MTMDKSELVQKAKLAEQAERYDDMAAAMKAVTEQGHELSNEERNLLSVAYKNVVGARRSSWRVISSIEQKTERNEKKQQMGKEYREKIEAELQDICNDVLELLDKYLIPNATQPESKVFYLKMKGDYFRYLSEVASGDNKQTTVSNSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLNEESYKDSTLIMQLLRDNLTLWTSENQGDEGDAGEGEN\n+>sp|P31946-2|1433B_HUMAN Isoform Short of 14-3-3 protein beta/alpha OS=Homo sapiens GN=YWHAB\n+MDKSELVQKAKLAEQAERYDDMAAAMKAVTEQGHELSNEERNLLSVAYKNVVGARRSSWRVISSIEQKTERNEKKQQMGKEYREKIEAELQDICNDVLELLDKYLIPNATQPESKVFYLKMKGDYFRYLSEVASGDNKQTTVSNSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLNEESYKDSTLIMQLLRDNLTLWTSENQGDEGDAGEGEN\n+>sp|P62258|1433E_HUMAN 14-3-3 protein epsilon OS=Homo sapiens GN=YWHAE PE=1 SV=1\n+MDDREDLVYQAKLAEQAERYDEMVESMKKVAGMDVELTVEERNLLSVAYKNVIGARRASWRIISSIEQKEENKGGEDKLKMIREYRQMVETELKLICCDILDVLDKHLIPAANTGESKVFYYKMKGDYHRYLAEFATGNDRKEAAENSLVAYKAASDIAMTELPPTHPIRLGLALNFSVFYYEILNSPDRACRLAKAAFDDAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDMQGDGEEQNKEALQDVEDENQ\n+>sp|P62258-2|1433E_HUMAN Isoform SV of 14-3-3 protein epsilon OS=Homo sapiens GN=YWHAE\n+MVESMKKVAGMDVELTVEERNLLSVAYKNVIGARRASWRIISSIEQKEENKGGEDKLKMIREYRQMVETELKLICCDILDVLDKHLIPAANTGESKVFYYKMKGDYHRYLAEFATGNDRKEAAENSLVAYKAASDIAMTELPPTHPIRLGLALNFSVFYYEILNSPDRACRLAKAAFDDAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDMQGDGEEQNKEALQDVEDENQ\n+>sp|Q04917|1433F_HUMAN 14-3-3 protein eta OS=Homo sapiens GN=YWHAH PE=1 SV=4\n+MGDREQLLQRARLAEQAERYDDMASAMKAVTELNEPLSNEDRNLLSVAYKNVVGARRSSWRVISSIEQKTMADGNEKKLEKVKAYREKIEKELETVCNDVLSLLDKFLIKNCNDFQYESKVFYLKMKGDYYRYLAEVASGEKKNSVVEASEAAYKEAFEISKEQMQPTHPIRLGLALNFSVFYYEIQNAPEQACLLAKQAFDDAIAELDTLNEDSYKDSTLIMQLLRDNLTLWTSDQQDEEAGEGN\n+>sp|P61981|1433G_HUMAN 14-3-3 protein gamma OS=Homo sapiens GN=YWHAG PE=1 SV=2\n+MVDREQLVQKARLAEQAERYDDMAAAMKNVTELNEPLSNEERNLLSVAYKNVVGARRSSWRVISSIEQKTSADGNEKKIEMVRAYREKIEKELEAVCQDVLSLLDNYLIKNCSETQYESKVFYLKMKGDYYRYLAEVATGEKRATVVESSEKAYSEAHEISKEHMQPTHPIRLGLALNYSVFYYEIQNAPEQACHLAKTAFDDAIAELDTLNEDSYKDSTLIMQLLRDNLTLWTSDQQDDDGGEGNN\n+>sp|P31947|1433S_HUMAN 14-3-3 protein sigma OS=Homo sapiens GN=SFN PE=1 SV=1\n+MERASLIQKAKLAEQAERYEDMAAFMKGAVEKGEELSCEERNLLSVAYKNVVGGQRAAWRVLSSIEQKSNEEGSEEKGPEVREYREKVETELQGVCDTVLGLLDSHLIKEAGDAESRVFYLKMKGDYYRYLAEVATGDDKKRIIDSARSAYQEAMDISKKEMPPTNPIRLGLALNFSVFHYEIANSPEEAISLAKTTFDEAMADLHTLSEDSYKDSTLIMQLLRDNLTLWTADNAGEEGGEAPQEPQS\n+>sp|P31947-2|1433S_HUMAN Isoform 2 of 14-3-3 protein sigma OS=Homo sapiens GN=SFN\n+MERASLIQKAKLAEQAERYEDMAAFMKGAVEKGEELSCEERNLLSVAYKNVVGGQRAAWRVLSSIEQKSNEEGSEEKGPEVREYRVFYLKMKGDYYRYLAEVATGDDKKRIIDSARSAYQEAMDISKKEMPPTNPIRLGLALNFSVFHYEIANSPEEAISLAKTTFDEAMADLHTLSEDSYKDSTLIMQLLRDNLTLWTADNAGEEGGEAPQEPQS\n+>sp|P27348|1433T_HUMAN 14-3-3 protein theta OS=Homo sapiens GN=YWHAQ PE=1 SV=1\n+MEKTELIQKAKLAEQAERYDDMATCMKAVTEQGAELSNEERNLLSVAYKNVVGGRRSAWRVISSIEQKTDTSDKKLQLIKDYREKVESELRSICTTVLELLDKYLIANATNPESKVFYLKMKGDYFRYLAEVACGDDRKQTIDNSQGAYQEAFDISKKEMQPTHPIRLGLALNFSVFYYEILNNPELACTLAKTAFDEAIAELDTLNEDSYKDSTLIMQLLRDNLTLWTSDSAGEECDAAEGAEN\n+>sp|P63104|1433Z_HUMAN 14-3-3 protein zeta/delta OS=Homo sapiens GN=YWHAZ PE=1 SV=1\n+MDKNELVQKAKLAEQAERYDDMAACMKSVTEQGAELSNEERNLLSVAYKNVVGARRSSWRVVSSIEQKTEGAEKKQQMAREYREKIETELRDICNDVLSLLEKFLIPNASQAESKVFYLKMKGDYYRYLAEVAAGDDKKGIVDQSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDTQGDEAEAGEGGEN\n+>sp|P63104-2|1433Z_HUMAN Isoform 2 of 14-3-3 protein zeta/delta OS=Homo sapiens GN=YWHAZ\n+MSQPCRKLWRHNYETSSCIEFLKSLLEKFLIPNASQAESKVFYLKMKGDYYRYLAEVAAGDDKKGIVDQSQQAYQEAFEISKKEMQPTHPIRLGLALNFSVFYYEILNSPEKACSLAKTAFDEAIAELDTLSEESYKDSTLIMQLLRDNLTLWTSDTQGDEAEAGEGGEN\n+>sp|P30443|1A01_HUMAN HLA class I histocompatibility antigen, A-1 alpha chain OS=Homo sapiens GN=HLA-A PE=1 SV=1\n+MAVMAPRTLLLLLSGALALTQTWAGSHSMRYFFTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASQKMEPRAPWIEQEGPEYWDQETRNMKAHSQTDRANLGTLRGYYNQSEDGSHTIQIMYGCDVGPDGRFLRGYRQDAYDGKDYIALNEDLRSWTAADMAAQITKRKWEAVHAAEQRRVYLEGRCVDGLRRYLENGKETLQRTDPPKTHMTHHPISDHEATLRCWALGFYPAEITLTWQRDGEDQTQDTELVETRPAGDGTFQKWAAVVVPSGEEQRYTCHVQHEGLPKPLTLRWELSSQPTIPIVGIIAGLVLLGAVIT'..b'KELSDIAHRIVAPGKGILAADESTGSIAKRLQSIGTENTEENRRFYRQLLLTADDRVNPCIGGVILFHETLYQKADDGRPFPQVIKSKGGVVGIKVDKGVVPLAGTNGETTTQGLDGLSERCAQYKKDGADFAKWRCVLKIGEHTPSALAIMENANVLARYASICQQNGIVPIVEPEILPDGDHDLKRCQYVTEKVLAAVYKALSDHHIYLEGTLLKPNMVTPGHACTQKYSHEEIAMATVTALRRTVPPAVTGVTFLSGGQSEEEASINLNAINKCPLLKPWALTFSYGRALQASALKAWGGKKENLKAAQEEYVKRALANSLACQGKYTPSGQAGAAASESLFIS\n+>sp|LYSC_CHICK|\n+MRSLLILVLCFLPLAALGKVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQATNRNTDGSTDYGILQINSRWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDGNGMNAWVAWRNRCKGTDVQAWIRGCRL\n+>sp|MYG_HORSE|\n+MGLSDGEWQQVLNVWGKVEADIAGHGQEVLIRLFTGHPETLEKFDKFKHLKTEAEMKASEDLKKHGTVVLTALGGILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISDAIIHVLHSKHPGDFGADAQGAMTKALELFRNDIAAKYKELGFQG\n+>sp|OVAL_CHICK|\n+MGSIGAASMEFCFDVFKELKVHHANENIFYCPIAIMSALAMVYLGAKDSTRTQINKVVRFDKLPGFGDSIEAQCGTSVNVHSSLRDILNQITKPNDVYSFSLASRLYAEERYPILPEYLQCVKELYRGGLEPINFQTAADQARELINSWVESQTNGIIRNVLQPSSVDSQTAMVLVNAIVFKGLWEKAFKDEDTQAMPFRVTEQESKPVQMMYQIGLFRVASMASEKMKILELPFASGTMSMLVLLPDEVSGLEQLESIINFEKLTEWTSSNVMEERKIKVYLPRMKMEEKYNLTSVLMAMGITDVFSSSANLSGISSAESLKISQAVHAAHAEINEAGREVVGSAEAGVDAASVSEEFRADHPFLFCIKHIATNAVLFFGRCVSP\n+>sp|BGAL_ECOLI|\n+MTMITDSLAVVLQRRDWENPGVTQLNRLAAHPPFASWRNSEEARTDRPSQQLRSLNGEWRFAWFPAPEAVPESWLECDLPEADTVVVPSNWQMHGYDAPIYTNVTYPITVNPPFVPTENPTGCYSLTFNVDESWLQEGQTRIIFDGVNSAFHLWCNGRWVGYGQDSRLPSEFDLSAFLRAGENRLAVMVLRWSDGSYLEDQDMWRMSGIFRDVSLLHKPTTQISDFHVATRFNDDFSRAVLEAEVQMCGELRDYLRVTVSLWQGETQVASGTAPFGGEIIDERGGYADRVTLRLNVENPKLWSAEIPNLYRAVVELHTADGTLIEAEACDVGFREVRIENGLLLLNGKPLLIRGVNRHEHHPLHGQVMDEQTMVQDILLMKQNNFNAVRCSHYPNHPLWYTLCDRYGLYVVDEANIETHGMVPMNRLTDDPRWLPAMSERVTRMVQRDRNHPSVIIWSLGNESGHGANHDALYRWIKSVDPSRPVQYEGGGADTTATDIICPMYARVDEDQPFPAVPKWSIKKWLSLPGETRPLILCEYAHAMGNSLGGFAKYWQAFRQYPRLQGGFVWDWVDQSLIKYDENGNPWSAYGGDFGDTPNDRQFCMNGLVFADRTPHPALTEAKHQQQFFQFRLSGQTIEVTSEYLFRHSDNELLHWMVALDGKPLASGEVPLDVAPQGKQLIELPELPQPESAGQLWLTVRVVQPNATAWSEAGHISAWQQWRLAENLSVTLPAASHAIPHLTTSEMDFCIELGNKRWQFNRQSGFLSQMWIGDKKQLLTPLRDQFTRAPLDNDIGVSEATRIDPNAWVERWKAAGHYQAEAALLQCTADTLADAVLITTAHAWQHQGKTLFISRKTYRIDGSGQMAITVDVEVASDTPHPARIGLNCQLAQVAERVNWLGLGPQENYPDRLTAACFDRWDLPLSDMYTPYVFPSENGLRCGTRELNYGPHQWRGDFQFNISRYSQQQLMETSHRHLLHAEEGTWLNIDGFHMGIGGDDSWSPSVSAEFQLSAGRYHYQLVWCQK\n+>sp|DHE3_BOVIN|\n+MYRYLGEALLLSRAGPAALGSASADSAALLGWARGQPAAAPQPGLVPPARRHYSEAAADREDDPNFFKMVEGFFDRGASIVEDKLVEDLKTRETEEQKRNRVRSILRIIKPCNHVLSLSFPIRRDDGSWEVIEGYRAQHSQHRTPCKGGIRYSTDVSVDEVKALASLMTYKCAVVDVPFGGAKAGVKINPKNYTDNELEKITRRFTMELAKKGFIGPGVDVPAPDMSTGEREMSWIADTYASTIGHYDINAHACVTGKPISQGGIHGRISATGRGVFHGIENFINEASYMSILGMTPGFGDKTFVVQGFGNVGLHSMRYLHRFGAKCITVGESDGSIWNPDGIDPKELEDFKLQHGTILGFPKAKIYEGSILEVDCDILIPAASEKQLTKSNAPRVKAKIIAEGANGPTTPEADKIFLERNIMVIPDLYLNAGGVTVSYFEWLNNLNHVSYGRLTFKYERDSNYHLLMSVQESLERKFGKHGGTIPIVPTAEFQDRISGASEKDIVHSGLAYTMERSARQIMRTAMKYNLGLDLRTAAYVNAIEKVFRVYNEAGVTFT\n+>sp|GFP_AEQVI|\n+MSKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKQHDFFKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYIMADKQKNGIKVNFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK\n+>sp|SRPP_HEVBR|\n+MAEEVEEERLKYLDFVRAAGVYAVDSFSTLYLYAKDISGPLKPGVDTIENVVKTVVTPVYYIPLEAVKFVDKTVDVSVTSLDGVVPPVIKQVSAQTYSVAQDAPRIVLDVASSVFNTGVQEGAKALYANLEPKAEQYAVITWRALNKLPLVPQVANVVVPTAVYFSEKYNDVVRGTTEQGYRVSSYLPLLPTEKITKVFGDEAS\n+>sp|REF_HEVBR|\n+MAEDEDNQQGQGEGLKYLGFVQDAATYAVTTFSNVYLFAKDKSGPLQPGVDIIEGPVKNVAVPLYNRFSYIPNGALKFVDSTVVASVTIIDRSLPPIVKDASIQVVSAIRAAPEAARSLASSLPGQTKILAKVFYGEN\n+>sp|PLMP_GRIFR|\n+MFSSVMVALVSLAVAVSANPGLSLKVSGPEAVDGVNNLKVVTTITNTGDETLKLLNDPRGALHTMPTDTFAITNESGETPSFIGVKVKYVPSMAAKSTGENVFAVIAPGQSVNVEHDLSAAYNFTSSGAGTYALEALNVFNYIDPETNEPVEIWADAEAHTTAVSGKLAVVRATPTLTRPVTYNGCSSSEQSALAAAASAAQSYVAESLSYLQTHTAATPRYTTWFGSYISSRHSTVLQHYTDMNSNDFSSYSFDCTCTAAGTFAYVYPNRFGTVYLCGAFWKAPTTGTDSQAGTLVHESSHFTRNGGTKDYAYGQAAAKSLATMDPDKAVMNADNHEYFSENNPAQS\n+>KKA1_ECOLX\n+MSHIQRETSCSRPRLNSNLDADLYGYKWARDNVGQSGATIYRLYGKPDAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGKTAFQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDASDFDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGIADRYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF\n'
b
diff -r 000000000000 -r 67635b462045 KinaMine-Galaxy-7-7/test/llparker_perez512_20160618_15616_FLT3WT-PLUS-R3-25.mgf)__FDR.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/KinaMine-Galaxy-7-7/test/llparker_perez512_20160618_15616_FLT3WT-PLUS-R3-25.mgf)__FDR.txt Tue Feb 20 14:31:15 2018 -0500
b
b'@@ -0,0 +1,234606 @@\n+Peptide Locus\tBest N (Peptide)\tAll N\tAccessions\tNames\tStart Position\tBest Conf (Peptide)\tBest Hypoth Conf\tSequence\tModifications\tProtein Modifications\tCleavages\tdMass\tObs MW\tObs m/z\tTheor MW\tTheor m/z\tTheor z\tRedundant Acqs\tBest Spectrum\tScore\tFeature Prob\tAcq Time\tIntensity (Peptide)\tIntensity at Acq\tApex Time (Peptide)\tElution Peak Width (Peptide)\tSum MS2 Counts\tf Seq Signal\tf Seq Fam Signal\tMax Peptide in Seq Fam\tSpecific\tUsed for Quant\tQuant Annotation\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+1.001\t1\t1; 80\tsp|P08238|HS90B_HUMAN; sp|P07900|HS90A_HUMAN; sp|P07900-2|HS90A_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1 PE=1 SV=5; Isoform 2 of Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1\t26\t94\t93.98\tSLIINTFYSNK\tPhospho(Y)@8\tPhospho(Y)@33\tcleaved M-S@N-term\t0.00271863\t1378.656128\t690.3353\t1378.653442\t690.3339844\t2\t2\t1.1.1.27095.1\t9\t0.0192\t43.26708\t298797.5\t\t\t\t\t0.3359\t0.2799\tTRUE\t0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+1.002\t1\t1; 80\tsp|P08238|HS90B_HUMAN; sp|P07900|HS90A_HUMAN; sp|P07900-2|HS90A_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1 PE=1 SV=5; Isoform 2 of Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1\t26\t94\t50.59\tSLIINTFYSNK\tPhospho(S)@9\tPhospho(S)@34\tcleaved M-S@N-term\t0.000643439\t1378.654053\t690.3343\t1378.653442\t690.3339844\t2\t2\t2.1.1.27261.1\t8\t0.5415\t43.08825\t291851.6\t\t\t\t\t0.3281\t0.2734\tFALSE\t0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+1.003\t1\t1; 80\tsp|P08238|HS90B_HUMAN; sp|P07900|HS90A_HUMAN; sp|P07900-2|HS90A_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1 PE=1 SV=5; Isoform 2 of Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1\t26\t94\t17.97\tSLIINTFYSNK\tPhospho(T)@6\tPhospho(T)@31\tcleaved M-S@N-term\t0.00271863\t1378.656128\t690.3353\t1378.653442\t690.3339844\t2\t1\t1.1.1.27095.1\t7\t0.5395\t43.26708\t298797.5\t\t\t\t\t0.3359\t0.2799\tTRUE\t0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+3.001\t1\t1; 29\tsp|P08238|HS90B_HUMAN; sp|P14625|ENPL_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Endoplasmin OS=Homo sapiens GN=HSP90B1 PE=1 SV=1\t42\t98.8\t98.81\tELISNASDALDK\t\t\t\t0.00128149\t1274.636719\t638.3256\t1274.635376\t638.3250122\t2\t5\t1.1.1.17949.1\t10\t1\t30.55683\t266479.1\t\t\t\t\t1\t1\tTRUE\t0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+4.001\t1\t1; 80\tsp|P08238|HS90B_HUMAN; sp|P07900|HS90A_HUMAN; sp|P07900-2|HS90A_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1 PE=1 SV=5; Isoform 2 of Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1\t56\t99\t99\tYESLTDPSK\t\t\t\t2.03E-03\t1038.489014\t520.2518\t1038.486938\t520.2507324\t2\t2\t1.1.1.9743.1\t9\t1\t19.15072\t321876.8\t\t\t\t\t0.5247\t0.5247\tFALSE\t0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+5.001\t1\t1; 80\tsp|P08238|HS90B_HUMAN; sp|P07900|HS90A_HUMAN; sp|P07900-2|HS90A_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1 PE=1 SV=5; Isoform 2 of Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1\t56\t99\t99\tYESLTDPSK\tPhospho(Y)@1\tPhospho(Y)@56\t\t-6.54E-05\t1118.453247\t560.2339\t1118.453247\t560.2339478\t2\t5\t2.1.1.9333.1\t10\t0.0486\t18.38703\t945565.4\t\t\t\t\t1.5414\t1.5414\tFALSE\t0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+6.001\t1\t1\tsp|P08238|HS90B_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4\t73\t99\t99\tIDIIPNPQER\t\t\t\t0.00138263\t1193.641846\t597.8282\t1193.640381\t597.8275146\t2\t2\t1.1.1.21087.1\t8\t1\t34.93665\t426070.5\t\t\t\t\t1\t1\tTRUE\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+7.001\t1\t1; 80\tsp|P08238|HS90B_HUMAN; sp|P07900|HS90A_HUMAN; sp|P07900-2|HS90A_HUMAN\tHeat shock protein HSP 90-beta OS=Homo sapiens GN=HSP90AB1 PE=1 SV=4; Heat shock protein HSP 90-alpha OS=Homo sapiens GN=HSP90AA1 PE=1 SV=5; Isoform 2 of Heat shock protein HSP 90-alpha OS=Homo sapi'..b'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n'