changeset 5:ff91e78b5c5c draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/msi_combine commit 8087490eb4dcaf4ead0f03eae4126780d21e5503
author galaxyp
date Fri, 06 Jul 2018 14:13:08 -0400
parents d05bd881af3d
children f4aafc565aa3
files msi_combine.xml test-data/112_auto_combined.RData test-data/112_auto_combined_QC.pdf test-data/123_combined.RData test-data/123_combined_QC.pdf test-data/123_combined_matrix.tabular test-data/123_no_combi_QC.pdf test-data/12_combined_QC.pdf test-data/12_combined_matrix.tabular
diffstat 9 files changed, 74 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/msi_combine.xml	Tue Jun 19 18:07:04 2018 -0400
+++ b/msi_combine.xml	Fri Jul 06 14:13:08 2018 -0400
@@ -1,4 +1,4 @@
-<tool id="mass_spectrometry_imaging_combine" name="MSI combine" version="1.10.0.2">
+<tool id="mass_spectrometry_imaging_combine" name="MSI combine" version="1.10.0.3">
     <description>
         combine several mass spectrometry imaging datasets into one
     </description>
@@ -67,13 +67,18 @@
 
 #for $i, $infile in enumerate($infiles):
 
-    #if $infile.ext == 'imzml'
-        msidata_$i <- readImzML('infile_${i}', mass.accuracy=$accuracy, units.accuracy = "$units")
-    #elif $infile.ext == 'analyze75'
+#if $infile.ext == 'imzml'
+    #if str($processed_cond.processed_file) == "processed":
+        msidata_$i <- readImzML('infile_${i}', mass.accuracy=$processed_cond.accuracy, units.accuracy = "$processed_cond.units")
+    #else
+        msidata <- readImzML('infile')
+    #end if
+#elif $infile.ext == 'analyze75'
         msidata_$i <- readAnalyze('infile_${i}')
-    #else
+#else
         msidata_$i = loadRData('infile_${i}.RData')
-    #end if
+#end if
+
 
         sampleNames(msidata_$i) = "msidata" ## same name necessary to combine data in one single coordinate system
 
@@ -84,7 +89,7 @@
         coord(msidata_$i)\$x = coord(msidata_$i)\$x + input_list[$i+1,$combine_conditional.column_x] ## shifts x coordinates according to tabular file
         coord(msidata_$i)\$y = coord(msidata_$i)\$y + input_list[$i+1,$combine_conditional.column_y] ## shifts y coordinates according to tabular file
         pixel_vector = append(pixel_vector, rep(paste($i+1, input_list[$i+1,$combine_conditional.column_names], sep="_"),times=ncol(msidata_$i))) ## stores file name for each pixel
-
+        msidata_$i\$combined_sample = rep(paste($i+1, input_list[$i+1,$combine_conditional.column_names], sep="_"),times=ncol(msidata_$i))
         pixelcoords_$i = cbind(coord(msidata_$i)[,1:2], rep($i+1,ncol(msidata_$i)))
         #silent $pixelcoords.append('pixelcoords_'+str($i))
         colnames(pixelcoords_$i)[3] = "file_number"
@@ -94,7 +99,7 @@
     #elif str( $combine_conditional.combine_method ) == 'automatic_combine':
         names_vector = character()
         #set escaped_element_identifier = re.sub('[^\w\-\s\[/]]', '_', str($infile.element_identifier)) ## use name of inputfile from Galaxy
-        if (sum(spectra(msidata_$i))>0) ## use only valid files
+        if (sum(spectra(msidata_$i)[],na.rm=TRUE)>0) ## use only valid files
         {
             if (is.null(levels(msidata_$i\$combined_sample))) ### if the file was not combined before use input file name, otherwise keep combined_sample name which was assigned before
             {
@@ -123,7 +128,7 @@
 
     #silent $msidata.append('msidata_'+str($i))
     valid_dataset = append(valid_dataset, 
-         (ncol(msidata_$i)>0 & nrow(msidata_$i)>0 & sum(spectra(msidata_$i))>0))
+         (ncol(msidata_$i)>0 & nrow(msidata_$i)>0 & sum(spectra(msidata_$i)[], na.rm=TRUE)>0))
 
 #end for
 
@@ -154,7 +159,7 @@
            theme(text=element_text(family="ArialMT", face="bold", size=15))+
            theme(legend.position="bottom",legend.direction="vertical")+
            guides(fill=guide_legend(ncol=4,byrow=TRUE))
-    coord_labels = aggregate(cbind(x,y)~sample_name, data=position_df, mean)
+    coord_labels = aggregate(cbind(x,y)~sample_name, data=position_df, mean, na.rm=TRUE, na.action="na.pass")
     coord_labels\$file_number = gsub( "_.*$", "", coord_labels\$sample_name)
     for(file_count in 1:nrow(coord_labels))
     {combine_plot = combine_plot + annotate("text",x=coord_labels[file_count,"x"],
@@ -177,9 +182,23 @@
     #if str($combine_conditional.combination_true) == "yes_combi":
         print("combination with xy shifts")
 
-        msidata_combined = do.call(combine, list(#echo ','.join($msidata)#))
-        sample_names = as.factor(pixel_vector) ## the sample names are assigned to each pixel
-        msidata_combined\$combined_sample = sample_names ## sample names are stored in $combined_sample slot
+        ## find duplicated coordinates
+        all_coordinates = do.call(rbind, list(#echo ','.join($pixelcoords)#))
+        duplicated_coordinates= duplicated(all_coordinates[,1:2])| duplicated(all_coordinates[,1:2], fromLast=TRUE)
+print(paste0("Number of removed duplicated coordinates: ", sum(duplicated_coordinates)/2))
+        unique_coordinates = all_coordinates[!duplicated_coordinates,]
+
+        ## remove duplicated coordinates
+        datasetlist = list()
+        count = 1
+        for (usable_dataset in list(#echo ','.join($msidata)#)){
+            pixelsofinterest = pixels(usable_dataset)[names(pixels(usable_dataset)) %in% rownames(unique_coordinates)]
+            filtered_dataset = usable_dataset[,pixelsofinterest]
+            if (ncol(filtered_dataset) > 0 ){
+                datasetlist[[count]] = filtered_dataset}
+            count = count +1}
+
+        msidata_combined = do.call(combine, datasetlist)
 
         ## save as (.RData)
 
@@ -197,6 +216,8 @@
         position_df = do.call(rbind, list(#echo ','.join($pixelcoords)#))
         position_df\$sample_name = as.factor(pixel_vector)
 
+print(paste0("Number of duplicated coordinates: ", sum(duplicated(position_df[,1:2]))))
+
     #end if
 
     ## create PDF to show all pixels in PDF as QC
@@ -209,7 +230,6 @@
            theme_bw()+
            theme(text=element_text(family="ArialMT", face="bold", size=15))+
            theme(legend.position="bottom",legend.direction="vertical")+
-           theme(legend.key.size = unit(0.2, "line"), legend.text = element_text(size = 6))+
            guides(fill=guide_legend(ncol=5,byrow=TRUE))
     coord_labels = aggregate(cbind(x,y)~sample_name, data=position_df, mean)
     coord_labels\$file_number = gsub( "_.*$", "", coord_labels\$sample_name)
@@ -225,15 +245,15 @@
 
 #if $output_matrix:
 
-    if (length(features(msidata_combined))> 0 & length(pixels(msidata_combined)) > 0)
-    {
-        spectramatrix = spectra(msidata_combined)
-        rownames(spectramatrix) = mz(msidata_combined)
-        newmatrix = rbind(pixels(msidata_combined), spectramatrix)
-        write.table(newmatrix[2:nrow(newmatrix),], file="$matrixasoutput", quote = FALSE, row.names = TRUE, col.names=NA, sep = "\t")
+    if (length(features(msidata))> 0 & length(pixels(msidata)) > 0){
+        spectramatrix = spectra(msidata)[]
+        spectramatrix = cbind(mz(msidata),spectramatrix)
+        newmatrix = rbind(c("mz | spectra", names(pixels(msidata))), spectramatrix)
+        write.table(newmatrix, file="$matrixasoutput", quote = FALSE, row.names = FALSE, col.names=FALSE, sep = "\t")
     }else{
         print("file has no features or pixels left")
     }
+
 #end if
 
     ]]></configfile>
@@ -242,11 +262,20 @@
         <param name="infiles" type="data" multiple="true" format="imzml,rdata,analyze75"
             label="MSI data as imzml, analyze7.5 or Cardinal MSImageSet saved as RData"
             help="load imzml and ibd file by uploading composite datatype imzml"/>
-        <param name="accuracy" type="float" value="50" label="Only for processed imzML files: enter mass accuracy to which the m/z values will be binned" help="This should be set to the native accuracy of the mass spectrometer, if known"/>
-        <param name="units" display="radio" type="select" label="Only for processed imzML files: unit of the mass accuracy" help="either m/z or ppm">
-            <option value="mz" >mz</option>
-            <option value="ppm" selected="True" >ppm</option>
-        </param>
+        <conditional name="processed_cond">
+            <param name="processed_file" type="select" label="Is the input file a processed imzML file ">
+                <option value="no_processed" selected="True">not a processed imzML</option>
+                <option value="processed">processed imzML</option>
+            </param>
+            <when value="no_processed"/>
+            <when value="processed">
+                <param name="accuracy" type="float" value="50" label="Mass accuracy to which the m/z values will be binned" help="This should be set to the native accuracy of the mass spectrometer, if known"/>
+                <param name="units" display="radio" type="select" label="Unit of the mass accuracy" help="either m/z or ppm">
+                    <option value="mz" >mz</option>
+                    <option value="ppm" selected="True" >ppm</option>
+                </param>
+            </when>
+        </conditional>
         <conditional name="combine_conditional">
             <param name="combine_method" type="select" label="Select the way you want to combine multiple files" help="More detailed help can be found in the help section at the bottom">
                 <option value="automatic_combine" selected="True" >automatic combination</option>
@@ -259,7 +288,7 @@
                 <param name="column_x" data_ref="coordinates_file" label="Column with values for shift in x direction" type="data_column"/>
                 <param name="column_y" data_ref="coordinates_file" label="Column with values for shift in y direction" type="data_column"/>
                 <param name="column_names" data_ref="coordinates_file" label="Column with dataset names" type="data_column"/>
-                <param name="combination_true" type="boolean" display="radio" truevalue="yes_combi" falsevalue="no_combi" label="Combine datasets" help = "Combination only works if x and y-shifts lead to unique pixel positions. If this is unknown use the No option to get an idea about the pixel overlap"/>
+                <param name="combination_true" type="boolean" display="radio" truevalue="yes_combi" falsevalue="no_combi" label="Combine datasets" help = "If there are duplicated pixels they will be deleted. If it is not clear if there are duplicated pixels, select No to get an idea about the pixel overlap"/>
             </when>
         </conditional>
     <param name="output_matrix" type="boolean" display="radio" label="Intensity matrix output"/>
@@ -333,7 +362,7 @@
 
 - "automatic combination": files are automatically arranged in a grid, subfiles are named according to input file name
 - "xy shifts by hand": each file can be moved in x and y direction according to the users need (define one tabular file in the order in which the files are loaded in the history (bottom to top) and define for each file the x and y coordinates shifts in separate columns and the file name in a third column). To test if the pixels are correctly shifted use "combine datasets: No".
-
+Combine datasets: Yes - Combines all datasets and removes all duplicated pixels (same x and y coordinates).
 
 Output: 
 
Binary file test-data/112_auto_combined.RData has changed
Binary file test-data/112_auto_combined_QC.pdf has changed
Binary file test-data/123_combined.RData has changed
Binary file test-data/123_combined_QC.pdf has changed
--- a/test-data/123_combined_matrix.tabular	Tue Jun 19 18:07:04 2018 -0400
+++ b/test-data/123_combined_matrix.tabular	Fri Jul 06 14:13:08 2018 -0400
@@ -1,4 +1,4 @@
-	x = 1, y = 1	x = 1, y = 2	x = 1, y = 3	x = 3, y = 1	x = 4, y = 1	x = 3, y = 2	x = 4, y = 2	x = 3, y = 3	x = 4, y = 3	x = 9, y = 1	x = 9, y = 2	x = 9, y = 3
+mz | spectra	x = 1, y = 1	x = 1, y = 2	x = 1, y = 3	x = 3, y = 1	x = 4, y = 1	x = 3, y = 2	x = 4, y = 2	x = 3, y = 3	x = 4, y = 3	x = 9, y = 1	x = 9, y = 2	x = 9, y = 3
 100.083335876465	0	0	0	0	0	0	0	0	0	0	0	0
 100.166664123535	0	0	0	0	0	0	0	0	0	0	0	0
 100.25	0	0	0	0	0	0	0	0	0	0	0	0
@@ -360,7 +360,7 @@
 129.91667175293	0	1.94567542632917e-10	1.59268598309836e-09	0	5.13584648548097e-22	0	0.285675346851349	6.18760043202826e-11	0	5.13584648548097e-22	0.285675346851349	0
 130	0	2.69103206385068e-09	2.6957396315197e-09	0	8.40260872994678e-23	0	0.0922771617770195	0	0	8.40260872994678e-23	0.0922771617770195	0
 130.08332824707	0	6.79609923892599e-10	6.08401329316166e-10	0	0	1.82470871745721e-09	0.00885347183793783	0.00702123576775193	1.43794914539954e-38	0	0.00885347183793783	1.43794914539954e-38
-130.16667175293	3.95536225994420e-09	3.47967765712554e-11	1.6302821939651e-11	3.29609384230878e-09	0	1.25451604660043e-09	0	0.231073617935181	0	0	0	0
+130.16667175293	3.9553622599442e-09	3.47967765712554e-11	1.6302821939651e-11	3.29609384230878e-09	0	1.25451604660043e-09	0	0.231073617935181	0	0	0	0
 130.25	1.24890042751957e-09	0	0	9.79382352994662e-10	0	2.27010202302758e-10	0	0.324241071939468	0	0	0	0
 130.33332824707	1.15216870766321e-10	0	0	8.02890184892213e-11	0	0	0	0.0853684470057487	0	0	0	0
 130.41667175293	0	0	0	0	5.85355437642995e-26	0	1.80171464307932e-05	0.00508514558896422	0	5.85355437642995e-26	1.80171464307932e-05	0
@@ -794,7 +794,7 @@
 166.08332824707	0	0	0.319614619016647	2.57848675744299e-09	0.0693006962537766	0	0	4.62811399113267e-18	0	0.0693006962537766	0	0
 166.16667175293	0	1.14715126287024e-09	0.0724143385887146	6.56307730384498e-10	0.62439638376236	0	0	6.8736165322773e-19	0	0.62439638376236	0	0
 166.25	0	3.14622244923513e-10	0.00200480571947992	3.46551710939114e-11	0.351666212081909	0	0	0	0	0.351666212081909	0	0
-166.33332824707	0	2.12185061188030e-11	0	0	0.0523218922317028	0	0	0	2.5666432422075e-34	0.0523218922317028	0	2.5666432422075e-34
+166.33332824707	0	2.1218506118803e-11	0	0	0.0523218922317028	0	0	0	2.5666432422075e-34	0.0523218922317028	0	2.5666432422075e-34
 166.41667175293	0	0	0	0	0	0	0	0	1.79175357793123e-34	0	0	1.79175357793123e-34
 166.5	0	0	0	0	0	0	0	1.22833481064866e-22	3.2627696766292e-35	0	0	3.2627696766292e-35
 166.58332824707	0	0	3.00022511510178e-05	2.19008174768241e-13	0	0	0	5.49785513354013e-22	0	0	0	0
@@ -1966,7 +1966,7 @@
 263.75	2.63480720471276e-30	0	4.1755133465381e-23	8.50994199119877e-36	0	9.20938646231662e-07	0	0	0	0	0	0
 263.833343505859	3.01601969354601e-31	1.17162197196341e-21	0	0	0	0	0	0.038629338145256	2.08870987172816e-09	0	0	2.08870987172816e-09
 263.916656494141	0	5.18109302264956e-22	0	0	0	0	0	0.422133505344391	6.11632078317825e-10	0	0	6.11632078317825e-10
-264	0	7.21028586138357e-23	0	0	0	0	1.77109493838301e-17	0.321338444948196	4.85728748889080e-11	0	1.77109493838301e-17	4.85728748889080e-11
+264	0	7.21028586138357e-23	0	0	0	0	1.77109493838301e-17	0.321338444948196	4.8572874888908e-11	0	1.77109493838301e-17	4.8572874888908e-11
 264.083343505859	0	0	0	2.12008540316021e-38	0	1.39839351209758e-09	4.7550163183978e-18	0.29814937710762	0	0	4.7550163183978e-18	0
 264.166656494141	3.57819194693358e-34	0	3.05432367063757e-26	1.33085785299029e-38	0	1.14420406482907e-09	3.01339363912442e-19	0.143617242574692	0	0	3.01339363912442e-19	0
 264.25	3.4164795105152e-34	0	7.88911364585555e-27	0	0	2.2081882156133e-10	0	0.02104945294559	0	0	0	0
@@ -6926,7 +6926,7 @@
 677.083374023438	0	0	0	0	7.30603211826078e-23	1.47505618830479e-09	0.0081722866743803	0	0	7.30603211826078e-23	0.0081722866743803	0
 677.166687011719	0	1.26987231841014e-09	9.69976057235506e-18	0	0	3.15919790327968e-10	0.306170374155045	0	0	0	0.306170374155045	0
 677.25	8.39507946281412e-22	6.14907513796226e-10	7.10216281321294e-18	0	0	4.56711187965531e-12	0.433688700199127	0	0	0	0.433688700199127	0
-677.333374023438	7.26906016400812e-22	9.18221887413750e-11	1.3178190705761e-18	0	0	0	0.121825225651264	0	1.60062588412301e-38	0	0.121825225651264	1.60062588412301e-38
+677.333374023438	7.26906016400812e-22	9.1822188741375e-11	1.3178190705761e-18	0	0	0	0.121825225651264	0	1.60062588412301e-38	0	0.121825225651264	1.60062588412301e-38
 677.416687011719	1.42817839527236e-22	0	0.0119308065623045	0	0	0	0.00875996984541416	1.28492006173211e-25	0	0	0.00875996984541416	0
 677.5	0	0	0.297131985425949	0	5.35820581103113e-26	0	0	3.49355402709364e-26	0	5.35820581103113e-26	0	0
 677.583374023438	0	0	0.361047953367233	0	1.38180989944874e-26	1.44302172750028e-13	0	2.29867192211501e-27	0	1.38180989944874e-26	0	0
@@ -7061,7 +7061,7 @@
 688.333374023438	0	7.61132855468166e-30	0	6.68223207886745e-14	1.18118812257248e-13	0.287733644247055	0	0	0	1.18118812257248e-13	0	0
 688.416687011719	0	4.11288997623897e-30	0	6.69271351866666e-15	1.37688771584894e-14	0.156375765800476	0	0	0	1.37688771584894e-14	0	0
 688.5	0	6.59867280317144e-31	0	0	0	0.0225699674338102	0	0	0	0	0	0
-688.583374023438	0	0	1.99697860764491e-17	0	0	0	0	1.60386848246930e-09	0	0	0	0
+688.583374023438	0	0	1.99697860764491e-17	0	0	0	0	1.6038684824693e-09	0	0	0	0
 688.666687011719	0	0	8.9694701064922e-18	0	0	0	0	6.4029098689744e-10	0	0	0	0
 688.75	0	0	1.26445940701911e-18	1.21439221181329e-17	1.52452447461789e-17	0	0	8.10332217993093e-11	0	1.52452447461789e-17	0	0
 688.833374023438	0	0	0	8.97011199864754e-18	1.52370258796126e-17	6.25170878265635e-06	0	0	0	1.52370258796126e-17	0	0
@@ -7285,11 +7285,11 @@
 707	0	0	1.90136440834245e-34	0	0	5.59408872504719e-05	0	3.3411272837961e-16	0	0	0	0
 707.083374023438	0	0	1.07956551701179e-34	0	0	4.78216497867834e-05	0	0	0	0	0	0
 707.166687011719	0	1.44754397357616e-09	1.78201528452145e-35	0	0	9.35875232244143e-06	3.66076603820446e-26	0	0	0	3.66076603820446e-26	0
-707.25	0	1.44369982635340e-09	0	0	0	0	2.11649639830128e-26	0	0	0	2.11649639830128e-26	0
+707.25	0	1.4436998263534e-09	0	0	0	0	2.11649639830128e-26	0	0	0	2.11649639830128e-26	0
 707.333374023438	0	2.95030971875221e-10	0	0	0	0	3.52831752481302e-27	1.35318104176274e-17	0	0	3.52831752481302e-27	0
 707.416687011719	0	8.37653676890454e-13	0	0	0	0	0	4.7182009908749e-18	0	0	0	0
 707.5	0	0	0	0	0	0	0	5.0838644524601e-19	0	0	0	0
-707.583374023438	0	0	1.22540327718737e-38	0	0	4.96039964659190e-09	0	0	0	0	0	0
+707.583374023438	0	0	1.22540327718737e-38	0	0	4.9603996465919e-09	0	0	0	0	0	0
 707.666687011719	0	0	0	0	0	1.58059820787315e-09	0	0	0	0	0	0
 707.75	0	1.45760302699277e-13	0	0	0	1.4816918525451e-10	2.39135122799079e-30	0	0	0	2.39135122799079e-30	0
 707.833374023438	0	4.87719673675224e-14	0	0	0	0	6.47778684492383e-31	7.42344819487779e-22	0	0	6.47778684492383e-31	0
@@ -7410,7 +7410,7 @@
 717.416687011719	0	0	2.87730783643525e-10	0	0	0.00435880431905389	0	1.18917693075517e-13	0.0155197065323591	0	0	0.0155197065323591
 717.5	0	0	0	0	1.90891480400524e-09	0.302602857351303	0	4.75057242621448e-14	0.239752173423767	1.90891480400524e-09	0	0.239752173423767
 717.583374023438	1.04398098239172e-14	0	0	0	6.93524460082529e-10	0.280596673488617	0	6.01629291226364e-15	0.265576779842377	6.93524460082529e-10	0	0.265576779842377
-717.666687011719	5.57169158629366e-14	4.45572581888228e-30	0	0	7.88731371881290e-11	0.0627823546528816	0	0	0.0709678903222084	7.88731371881290e-11	0	0.0709678903222084
+717.666687011719	5.57169158629366e-14	4.45572581888228e-30	0	0	7.8873137188129e-11	0.0627823546528816	0	0	0.0709678903222084	7.8873137188129e-11	0	0.0709678903222084
 717.75	1.37390514343507e-14	1.24232139274563e-30	2.21830393680802e-13	0	0	0.00155708997044712	0	0	0.0044330176897347	0	0	0.0044330176897347
 717.833374023438	6.35356025603662e-16	8.76120977697523e-32	2.86438299294811e-13	0	0	0	0	0	0	0	0	0
 717.916687011719	0	0	6.19216659826678e-14	0	0	0	0	4.59384968861889e-18	0	0	0	0
Binary file test-data/123_no_combi_QC.pdf has changed
Binary file test-data/12_combined_QC.pdf has changed
--- a/test-data/12_combined_matrix.tabular	Tue Jun 19 18:07:04 2018 -0400
+++ b/test-data/12_combined_matrix.tabular	Fri Jul 06 14:13:08 2018 -0400
@@ -1,4 +1,4 @@
-	x = 1, y = 1	x = 1, y = 2	x = 1, y = 3	x = 7, y = 1	x = 8, y = 1	x = 7, y = 2	x = 8, y = 2	x = 7, y = 3	x = 8, y = 3
+mz | spectra	x = 1, y = 1	x = 1, y = 2	x = 1, y = 3	x = 7, y = 1	x = 8, y = 1	x = 7, y = 2	x = 8, y = 2	x = 7, y = 3	x = 8, y = 3
 100.083335876465	0	0	0	0	0	0	0	0	0
 100.166664123535	0	0	0	0	0	0	0	0	0
 100.25	0	0	0	0	0	0	0	0	0
@@ -360,7 +360,7 @@
 129.91667175293	0	1.94567542632917e-10	1.59268598309836e-09	0	5.13584648548097e-22	0	0.285675346851349	6.18760043202826e-11	0
 130	0	2.69103206385068e-09	2.6957396315197e-09	0	8.40260872994678e-23	0	0.0922771617770195	0	0
 130.08332824707	0	6.79609923892599e-10	6.08401329316166e-10	0	0	1.82470871745721e-09	0.00885347183793783	0.00702123576775193	1.43794914539954e-38
-130.16667175293	3.95536225994420e-09	3.47967765712554e-11	1.6302821939651e-11	3.29609384230878e-09	0	1.25451604660043e-09	0	0.231073617935181	0
+130.16667175293	3.9553622599442e-09	3.47967765712554e-11	1.6302821939651e-11	3.29609384230878e-09	0	1.25451604660043e-09	0	0.231073617935181	0
 130.25	1.24890042751957e-09	0	0	9.79382352994662e-10	0	2.27010202302758e-10	0	0.324241071939468	0
 130.33332824707	1.15216870766321e-10	0	0	8.02890184892213e-11	0	0	0	0.0853684470057487	0
 130.41667175293	0	0	0	0	5.85355437642995e-26	0	1.80171464307932e-05	0.00508514558896422	0
@@ -794,7 +794,7 @@
 166.08332824707	0	0	0.319614619016647	2.57848675744299e-09	0.0693006962537766	0	0	4.62811399113267e-18	0
 166.16667175293	0	1.14715126287024e-09	0.0724143385887146	6.56307730384498e-10	0.62439638376236	0	0	6.8736165322773e-19	0
 166.25	0	3.14622244923513e-10	0.00200480571947992	3.46551710939114e-11	0.351666212081909	0	0	0	0
-166.33332824707	0	2.12185061188030e-11	0	0	0.0523218922317028	0	0	0	2.5666432422075e-34
+166.33332824707	0	2.1218506118803e-11	0	0	0.0523218922317028	0	0	0	2.5666432422075e-34
 166.41667175293	0	0	0	0	0	0	0	0	1.79175357793123e-34
 166.5	0	0	0	0	0	0	0	1.22833481064866e-22	3.2627696766292e-35
 166.58332824707	0	0	3.00022511510178e-05	2.19008174768241e-13	0	0	0	5.49785513354013e-22	0
@@ -1966,7 +1966,7 @@
 263.75	2.63480720471276e-30	0	4.1755133465381e-23	8.50994199119877e-36	0	9.20938646231662e-07	0	0	0
 263.833343505859	3.01601969354601e-31	1.17162197196341e-21	0	0	0	0	0	0.038629338145256	2.08870987172816e-09
 263.916656494141	0	5.18109302264956e-22	0	0	0	0	0	0.422133505344391	6.11632078317825e-10
-264	0	7.21028586138357e-23	0	0	0	0	1.77109493838301e-17	0.321338444948196	4.85728748889080e-11
+264	0	7.21028586138357e-23	0	0	0	0	1.77109493838301e-17	0.321338444948196	4.8572874888908e-11
 264.083343505859	0	0	0	2.12008540316021e-38	0	1.39839351209758e-09	4.7550163183978e-18	0.29814937710762	0
 264.166656494141	3.57819194693358e-34	0	3.05432367063757e-26	1.33085785299029e-38	0	1.14420406482907e-09	3.01339363912442e-19	0.143617242574692	0
 264.25	3.4164795105152e-34	0	7.88911364585555e-27	0	0	2.2081882156133e-10	0	0.02104945294559	0
@@ -6926,7 +6926,7 @@
 677.083374023438	0	0	0	0	7.30603211826078e-23	1.47505618830479e-09	0.0081722866743803	0	0
 677.166687011719	0	1.26987231841014e-09	9.69976057235506e-18	0	0	3.15919790327968e-10	0.306170374155045	0	0
 677.25	8.39507946281412e-22	6.14907513796226e-10	7.10216281321294e-18	0	0	4.56711187965531e-12	0.433688700199127	0	0
-677.333374023438	7.26906016400812e-22	9.18221887413750e-11	1.3178190705761e-18	0	0	0	0.121825225651264	0	1.60062588412301e-38
+677.333374023438	7.26906016400812e-22	9.1822188741375e-11	1.3178190705761e-18	0	0	0	0.121825225651264	0	1.60062588412301e-38
 677.416687011719	1.42817839527236e-22	0	0.0119308065623045	0	0	0	0.00875996984541416	1.28492006173211e-25	0
 677.5	0	0	0.297131985425949	0	5.35820581103113e-26	0	0	3.49355402709364e-26	0
 677.583374023438	0	0	0.361047953367233	0	1.38180989944874e-26	1.44302172750028e-13	0	2.29867192211501e-27	0
@@ -7061,7 +7061,7 @@
 688.333374023438	0	7.61132855468166e-30	0	6.68223207886745e-14	1.18118812257248e-13	0.287733644247055	0	0	0
 688.416687011719	0	4.11288997623897e-30	0	6.69271351866666e-15	1.37688771584894e-14	0.156375765800476	0	0	0
 688.5	0	6.59867280317144e-31	0	0	0	0.0225699674338102	0	0	0
-688.583374023438	0	0	1.99697860764491e-17	0	0	0	0	1.60386848246930e-09	0
+688.583374023438	0	0	1.99697860764491e-17	0	0	0	0	1.6038684824693e-09	0
 688.666687011719	0	0	8.9694701064922e-18	0	0	0	0	6.4029098689744e-10	0
 688.75	0	0	1.26445940701911e-18	1.21439221181329e-17	1.52452447461789e-17	0	0	8.10332217993093e-11	0
 688.833374023438	0	0	0	8.97011199864754e-18	1.52370258796126e-17	6.25170878265635e-06	0	0	0
@@ -7285,11 +7285,11 @@
 707	0	0	1.90136440834245e-34	0	0	5.59408872504719e-05	0	3.3411272837961e-16	0
 707.083374023438	0	0	1.07956551701179e-34	0	0	4.78216497867834e-05	0	0	0
 707.166687011719	0	1.44754397357616e-09	1.78201528452145e-35	0	0	9.35875232244143e-06	3.66076603820446e-26	0	0
-707.25	0	1.44369982635340e-09	0	0	0	0	2.11649639830128e-26	0	0
+707.25	0	1.4436998263534e-09	0	0	0	0	2.11649639830128e-26	0	0
 707.333374023438	0	2.95030971875221e-10	0	0	0	0	3.52831752481302e-27	1.35318104176274e-17	0
 707.416687011719	0	8.37653676890454e-13	0	0	0	0	0	4.7182009908749e-18	0
 707.5	0	0	0	0	0	0	0	5.0838644524601e-19	0
-707.583374023438	0	0	1.22540327718737e-38	0	0	4.96039964659190e-09	0	0	0
+707.583374023438	0	0	1.22540327718737e-38	0	0	4.9603996465919e-09	0	0	0
 707.666687011719	0	0	0	0	0	1.58059820787315e-09	0	0	0
 707.75	0	1.45760302699277e-13	0	0	0	1.4816918525451e-10	2.39135122799079e-30	0	0
 707.833374023438	0	4.87719673675224e-14	0	0	0	0	6.47778684492383e-31	7.42344819487779e-22	0
@@ -7410,7 +7410,7 @@
 717.416687011719	0	0	2.87730783643525e-10	0	0	0.00435880431905389	0	1.18917693075517e-13	0.0155197065323591
 717.5	0	0	0	0	1.90891480400524e-09	0.302602857351303	0	4.75057242621448e-14	0.239752173423767
 717.583374023438	1.04398098239172e-14	0	0	0	6.93524460082529e-10	0.280596673488617	0	6.01629291226364e-15	0.265576779842377
-717.666687011719	5.57169158629366e-14	4.45572581888228e-30	0	0	7.88731371881290e-11	0.0627823546528816	0	0	0.0709678903222084
+717.666687011719	5.57169158629366e-14	4.45572581888228e-30	0	0	7.8873137188129e-11	0.0627823546528816	0	0	0.0709678903222084
 717.75	1.37390514343507e-14	1.24232139274563e-30	2.21830393680802e-13	0	0	0.00155708997044712	0	0	0.0044330176897347
 717.833374023438	6.35356025603662e-16	8.76120977697523e-32	2.86438299294811e-13	0	0	0	0	0	0
 717.916687011719	0	0	6.19216659826678e-14	0	0	0	0	4.59384968861889e-18	0