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' |