Repository 'fastaptamer_compare'
hg clone https://toolshed.g2.bx.psu.edu/repos/fastaptamer/fastaptamer_compare

Changeset 0:5d0073cbe61e (2015-02-10)
Next changeset 1:4795b8673e75 (2015-02-10)
Commit message:
Uploaded
added:
fastaptamer_compare
b
diff -r 000000000000 -r 5d0073cbe61e fastaptamer_compare
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fastaptamer_compare Tue Feb 10 14:27:51 2015 -0500
[
b'@@ -0,0 +1,417 @@\n+#!/usr/bin/env perl\n+\n+## Last Modified January 19th, 2015 22:22 CST\n+\n+## Citation:\n+## Khalid K. Alam, Jonathan L. Chang & Donald H. Burke. \n+## "FASTAptamer: A Bioinformatic Toolkit for High-Throughput Sequence Analysis of \n+## Combinatorial Selections." Molecular Therapy \xe2\x80\x94 Nucleic Acids. 2015.\n+## DOI: 10.1038/mtna.2015.4\n+\n+## Distributed under GNU General Public License v3\n+\n+use Getopt::Long;    ## Core Perl module for command line options/arguments\n+\n+my $fileX_fh;     ## Variable for input file X\n+my $fileY_fh;     ## Variable for input file Y\n+my $output_fh;    ## Variable for output file\n+my $help;         ## true/false variable for help screen\n+my $all;          ## true/false variable for displaying all values\n+my $version;      ## true/false variable for displaying help screen\n+\n+                                           ## Take command line arguments for...\n+GetOptions (    "X_file=s" => \\$fileX_fh,     ## ... input file X\n+\t\t"Y_file=s" => \\$fileY_fh,     ## ... input file Y\n+\t\t"output=s" => \\$output_fh,    ## ... output file\n+\t\t"help" => \\$help,             ## ... help screen\n+\t\t"quiet" => \\$quiet,           ## ... supress standard output\n+        "version" => \\$version,       ## ... version screen\n+\t\t"all" => \\$all);              ## ... displaying all sequences\n+\t\t\n+if (defined $help){            ## Prints help screen if $help returns as true\n+    print <<"HELP";\n+\t\n+--------------------------------------------------------------------------------\n+                               FASTAptamer-Compare\n+--------------------------------------------------------------------------------\n+\n+Usage: fastaptamer_compare [-h] [-x INFILE] [-y INFILE] [-o OUTFILE] [-q] [-a]\n+                           [-v]\n+\n+    [-h]            = Help screen.\n+    [-x INFILE]     = Input file (from FASTAptamer-Count). REQUIRED.\n+    [-y INFILE]     = Input file (from FASTAptamer-Count). REQUIRED.\n+    [-o OUTFILE]    = Plain text output file with tab separated values. REQUIRED\n+    [-q]            = Quiet mode.  Suppresses standard output of file I/O \n+                      and execution time.\n+    [-a]            = Output all sequences, including those present in only\n+                      one input file.  Default behavior suppresses output \n+                      of sequences without a match.\n+    [-v]            = Display version.\n+\n+FASTAptamer-Compare facilitates statistical analysis of two populations by rapi-\n+dly generating a tab-delimited output file that lists each unique sequence along\n+with RPM (reads per million) in each population file (if available) and log(bas-\n+e 2) of the ratio of their RPM values in each population. \n+\n+RPM data for both populations can be utilized to generate an XY-scatter plot of\n+sequence distribution across two populations.  FASTAptamer-Compare also facilit-\n+ates the generation of a histogram of the sequence distribution by creating 102 \n+bins for the log(base2) values.  This histogram can provide a quick visual comp-\n+arison of the two populations: distributions centered around 0 indicate similar \n+populations, while distributions shifted to the left or right indicate overall \n+enrichment or depletion.\n+\n+Input for FASTAptamer-Compare MUST come from FASTAptamer-Count output files.\n+\n+HELP\n+exit;\n+}\n+\n+if (defined $version){                     ## Print version screen if -v is true\n+    print <<"VERSION";\n+\t\n+FASTAptamer v1.0.2\n+\t\n+VERSION\n+exit;\n+}\n+\n+##########################################\t\n+## Open input file or exit with warning  #\n+##########################################\n+\n+open X_file, \'<\', $fileX_fh or die \n+"\\nCould not open input file x, or no input file was specified.\\n\n+See help documentation [-h], README, or User\'s Guide for program usage.\\n";\n+\n+##########################################\t\n+## Open input file or exit with warning  #\n+##########################################\n+\n+open Y_file, \'<\', $fileY_fh or die \n+"\\nCould not open input file y, or no input fi'..b' -1.2 ){ $bin_38++ ;}\n+    elsif ( $log_val > -1.2 && $log_val <= -1.1 ){ $bin_39++ ;}\n+    elsif ( $log_val > -1.1 && $log_val <= -1.0 ){ $bin_40++ ;}\n+    elsif ( $log_val > -1.0 && $log_val <= -0.9 ){ $bin_41++ ;}\n+    elsif ( $log_val > -0.9 && $log_val <= -0.8 ){ $bin_42++ ;}\n+    elsif ( $log_val > -0.8 && $log_val <= -0.7 ){ $bin_43++ ;}\n+    elsif ( $log_val > -0.7 && $log_val <= -0.6 ){ $bin_44++ ;}\n+    elsif ( $log_val > -0.6 && $log_val <= -0.5 ){ $bin_45++ ;}\n+    elsif ( $log_val > -0.5 && $log_val <= -0.4 ){ $bin_46++ ;}\n+    elsif ( $log_val > -0.4 && $log_val <= -0.3 ){ $bin_47++ ;}\n+    elsif ( $log_val > -0.3 && $log_val <= -0.2 ){ $bin_48++ ;}\n+    elsif ( $log_val > -0.2 && $log_val <= -0.1 ){ $bin_49++ ;}\n+    elsif ( $log_val > -0.1 && $log_val <= 0.0 ){ $bin_50++ ;}\n+    elsif ( $log_val > 0.0 && $log_val <= 0.1 ){ $bin_51++ ;}\n+    elsif ( $log_val > 0.1 && $log_val <= 0.2 ){ $bin_52++ ;}\n+    elsif ( $log_val > 0.2 && $log_val <= 0.3 ){ $bin_53++ ;}\n+    elsif ( $log_val > 0.3 && $log_val <= 0.4 ){ $bin_54++ ;}\n+    elsif ( $log_val > 0.4 && $log_val <= 0.5 ){ $bin_55++ ;}\n+    elsif ( $log_val > 0.5 && $log_val <= 0.6 ){ $bin_56++ ;}\n+    elsif ( $log_val > 0.6 && $log_val <= 0.7 ){ $bin_57++ ;}\n+    elsif ( $log_val > 0.7 && $log_val <= 0.8 ){ $bin_58++ ;}\n+    elsif ( $log_val > 0.8 && $log_val <= 0.9 ){ $bin_59++ ;}\n+    elsif ( $log_val > 0.9 && $log_val <= 1.0 ){ $bin_60++ ;}\n+    elsif ( $log_val > 1.0 && $log_val <= 1.1 ){ $bin_61++ ;}\n+    elsif ( $log_val > 1.1 && $log_val <= 1.2 ){ $bin_62++ ;}\n+    elsif ( $log_val > 1.2 && $log_val <= 1.3 ){ $bin_63++ ;}\n+    elsif ( $log_val > 1.3 && $log_val <= 1.4 ){ $bin_64++ ;}\n+    elsif ( $log_val > 1.4 && $log_val <= 1.5 ){ $bin_65++ ;}\n+    elsif ( $log_val > 1.5 && $log_val <= 1.6 ){ $bin_66++ ;}\n+    elsif ( $log_val > 1.6 && $log_val <= 1.7 ){ $bin_67++ ;}\n+    elsif ( $log_val > 1.7 && $log_val <= 1.8 ){ $bin_68++ ;}\n+    elsif ( $log_val > 1.8 && $log_val <= 1.9 ){ $bin_69++ ;}\n+    elsif ( $log_val > 1.9 && $log_val <= 2.0 ){ $bin_70++ ;}\n+    elsif ( $log_val > 2.0 && $log_val <= 2.1 ){ $bin_71++ ;}\n+    elsif ( $log_val > 2.1 && $log_val <= 2.2 ){ $bin_72++ ;}\n+    elsif ( $log_val > 2.2 && $log_val <= 2.3 ){ $bin_73++ ;}\n+    elsif ( $log_val > 2.3 && $log_val <= 2.4 ){ $bin_74++ ;}\n+    elsif ( $log_val > 2.4 && $log_val <= 2.5 ){ $bin_75++ ;}\n+    elsif ( $log_val > 2.5 && $log_val <= 2.6 ){ $bin_76++ ;}\n+    elsif ( $log_val > 2.6 && $log_val <= 2.7 ){ $bin_77++ ;}\n+    elsif ( $log_val > 2.7 && $log_val <= 2.8 ){ $bin_78++ ;}\n+    elsif ( $log_val > 2.8 && $log_val <= 2.9 ){ $bin_79++ ;}\n+    elsif ( $log_val > 2.9 && $log_val <= 3.0 ){ $bin_80++ ;}\n+    elsif ( $log_val > 3.0 && $log_val <= 3.1 ){ $bin_81++ ;}\n+    elsif ( $log_val > 3.1 && $log_val <= 3.2 ){ $bin_82++ ;}\n+    elsif ( $log_val > 3.2 && $log_val <= 3.3 ){ $bin_83++ ;}\n+    elsif ( $log_val > 3.3 && $log_val <= 3.4 ){ $bin_84++ ;}\n+    elsif ( $log_val > 3.4 && $log_val <= 3.5 ){ $bin_85++ ;}\n+    elsif ( $log_val > 3.5 && $log_val <= 3.6 ){ $bin_86++ ;}\n+    elsif ( $log_val > 3.6 && $log_val <= 3.7 ){ $bin_87++ ;}\n+    elsif ( $log_val > 3.7 && $log_val <= 3.8 ){ $bin_88++ ;}\n+    elsif ( $log_val > 3.8 && $log_val <= 3.9 ){ $bin_89++ ;}\n+    elsif ( $log_val > 3.9 && $log_val <= 4.0 ){ $bin_90++ ;}\n+    elsif ( $log_val > 4.0 && $log_val <= 4.1 ){ $bin_91++ ;}\n+    elsif ( $log_val > 4.1 && $log_val <= 4.2 ){ $bin_92++ ;}\n+    elsif ( $log_val > 4.2 && $log_val <= 4.3 ){ $bin_93++ ;}\n+    elsif ( $log_val > 4.3 && $log_val <= 4.4 ){ $bin_94++ ;}\n+    elsif ( $log_val > 4.4 && $log_val <= 4.5 ){ $bin_95++ ;}\n+    elsif ( $log_val > 4.5 && $log_val <= 4.6 ){ $bin_96++ ;}\n+    elsif ( $log_val > 4.6 && $log_val <= 4.7 ){ $bin_97++ ;}\n+    elsif ( $log_val > 4.7 && $log_val <= 4.8 ){ $bin_98++ ;}\n+    elsif ( $log_val > 4.8 && $log_val <= 4.9 ){ $bin_99++ ;}\n+    elsif ( $log_val > 4.9 && $log_val <= 5.0 ){ $bin_100++ ;}\n+    elsif (\t$log_val > 5) { $bin_high++ ;}\n+}\n'