Metadata-Version: 2.1
Name: chiplot-analyze
Version: 0.9.8
Summary: A general purpose GUI application used to analyze chiplots.
Home-page: https://github.com/biocatiit/Chiplot-analyze
Author: BioCAT
Author-email: biocat@lethocerus.biol.iit.edu
Keywords: chiplot analyze
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
License-File: LICENSE.txt


Chiplot-analyze
===============

Chiplot Analyze is a general purpose GUI application used to split chiplots from peak
reflections, Subtract the background using a smoothed convex hull and analyze peaks
using the trapezoidal rule.

----

To run the program start it from the command line as follows "chiplot-analyze [-d -c
<center error range in float format> -z <smallest zoom range in pixels> -b <base
movement per keystroke in float format> -s <width in pixels,height in pixels(no
spaces)>", follow the prompts below the graph display as shown below:

.. image:: https://github.com/biocatiit/Chiplot-analyze/raw/master/chi.analyze.documentation.pages/Snapshot.tiff
   :align: center

As describe above, there are three routines that this application can accomplish,
these are selectable from the buttons at the top of the window, these are available at all
times, you can easily switch between any at all times. After selecting one of the
functions you will be prompted for an input file to work with, there are conventions to
filenames, however this program will work any file correctly formatted. Each routine is
described below.

1) **Splitter** (split):

  This routine is used to split chiplots using pairs of reflection peaks within the chiplot.
  The input for this program is a space delimitated set of evenly spaced points. The
  program is preprimed and ready for input as soon as the user has selected a chiplot.
  Following onscreen instructions the user is to set the number of reflections used in the
  splitting routine, along with a checkbox marking it to have a valid center peak. Once
  done, upper and lower bounds for each of the peaks are to be selected, the program
  only uses the x coordinates of the clicks, so it is not necessary to accurately click. Once
  the required peaks have been set, the routine will automagically split it and display the
  peaks discovered and mark the center of the chiplot with a green line. The algorithm
  checks for the range of centers calculated from the peaks for accuracy. This accuracyrange is
  set when starting the program from the command line, see above for starting details. When
  done, it will prompt the user to save the split chiplots using filenames specified. If the
  graph is not split correctly, select redo and re-split the chiplot. When the center is
  correctly identified, output the chiplots using standard or custom filenames. It is
  convention to label the split files by adding ʻl.xyʼ and ʻr.xyʼ to the left and right split
  files respectively.

2) **Background Subtraction** (BGSub):

  This routine is used to subtract the background from supplied chiplots using a
  convex hull that is optionally smoothed by a variety of interpolating functions. The input
  for this program is a space delimitated set of evenly spaced points. Following the
  onscreen instructions the user will give left and right bounds on the region of the plot
  that will be used to generate a background function. A vertical red line will appear on
  the screen wherever the user clicks, indicating the cutoff points for the interpolation.
  Once these have been successfully set the user has the option to ignore parts of the
  graph that have large negative peaks which would mess up the convex hull algorithm.
  By selecting eliminate peaks, the user then selects to the left and right of each peak,
  order is important. These areas will be ignored by the convex hull algorithm. When all
  such points have been marked, Select Convex Hull from the commands below the
  prompt to run the convex hull algorithm. If the algorithm is not successful or a large
  negative peak was missed, simply reset the current chiplot and try again. When the
  Convex hull is correct, you can output these values into a non uniform chiplot, which is
  usually denoted by a ʻ.hullʼ. From here optionally smooth the convex hull points using a
  variety of interpolating functions selected by radio buttons below the command buttons.
  There are currently two options Spline fitting curves and Pchip Curves. When a
  reasonable curve has been set, or the convex hull is what is wanted, run the subtraction
  routine from the commands below the prompt. This will subtract the background and
  output the data to the place you choose. It is convention to add .bak to these files as the
  standard files indicate.

3) **Peak Analysis** (Centroid):

  This routine is used to analyze peaks from the supplied chiplots using a trapezoid
  area integrating function and a determine the center of the peak by finding its centroid.
  The input for this program is a space delimitated set of evenly spaced points. Following
  the onscreen instructions the user is prompted to select a log file to output the peak
  data to. The logfile is appended to so there is no worry about overwriting old data, and
  you can simply select the same log file for the entire data set to make it work wonders.
  This point is not clear from the onscreen instructions as it prompts you that it will
  overwrite the old file, it is ok to output to more than one file, however unnecessary.
  Once the output file has been selected, the user is left to pick a function to perform. A
  zoom function or an analyzation function. The zoom function is acomplished by a
  dragging a box on the screen, it is fairly laggy and may be changed soon, however it
  works, thus two lines are drug across the screen to zoom into that region. Once done,
  the user can select Analyze from the commands below the prompt. When selected, the
  user moves the baseline which is provided (the green line on the picture) by the arrow
  keys or manually setting it in the text box below the prompt. When the baseline hasbeen
  set, the upper and lower bounds of the peak are determined by user input on
  either side of the peak. When done, select run analyze from the commands to
  determine the centroid and area of the peak, these are displayed on screen and written
  to the log file. To run an analyzation on another peak from the same file, simply ʻreset
  (analyze new peak)ʼ the graph and repeat the above instructions.





