Repository 'ucsb_phylogenetics'
hg clone https://toolshed.g2.bx.psu.edu/repos/ucsb-phylogenetics/ucsb_phylogenetics

Changeset 4:5b23f3eb3f09 (2012-06-24)
Previous changeset 3:3db16e8335e1 (2012-06-21) Next changeset 5:eb55013e0f28 (2012-06-24)
Commit message:
Added sequence gap remover and Trimming Reads.
modified:
ucsb_phylogenetics/phylobayes/pb.xml
ucsb_phylogenetics/phylomatic/phylomatic.xml
added:
ucsb_phylogenetics/gap-rem/gap-rem.xml
ucsb_phylogenetics/gap-rem/gap_rem_README.txt
ucsb_phylogenetics/gap-rem/seqfill.pl
ucsb_phylogenetics/trimmingreads/TrimmingReads.pl
ucsb_phylogenetics/trimmingreads/TrimmingReads.xml
ucsb_phylogenetics/trimmingreads/TrimmingReads_README.txt
removed:
ucsb_phylogenetics/phylobayes/phylobayes_wrapper.tar.bz2
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/gap-rem/gap-rem.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ucsb_phylogenetics/gap-rem/gap-rem.xml Sun Jun 24 16:02:29 2012 -0400
b
@@ -0,0 +1,29 @@
+<tool id="gap-rem" name="Sequence Gap Remover" version="1.0.1">
+ <description>Removes gap in sequences</description>
+ <command interpreter="perl">seqfill.pl $file $question_mark $hyphen $N $usePart $pfile</command>
+ <inputs>
+ <param format="phylipnon" name="file" type="data" label="File" />
+ <param type ="boolean" name="usePart" truevalue="true" falsevalue="false" label="Also use Partition File -- if unchecked, it will be ignored." />
+ <param format="txt" name="pfile" type="data" label="Partition file" />
+ <param type="boolean" name="question_mark" truevalue="true" falsevalue="false" label="'?' signifies gap" />
+ <param type="boolean" name="hyphen" truevalue="true" falsevalue="false" label="'-' signifies gap" />
+ <param type="boolean" name="N" truevalue="true" falsevalue="false" label="'N' signifies gap"/>
+ </inputs>
+
+ <outputs>
+ <data from_work_dir="out.phy" format="phylipnon" name="out1" />
+ <data from_work_dir="partOut.txt" format="txt" name="out2" />
+ </outputs>
+
+ <help>
+ http://labs.eemb.ucsb.edu/oakley/todd/
+
+ Sequence Gap Remover
+
+ Takes an input phylip file and removes any specified gap characters that exist in the same
+ columns of containing sequences.
+
+ Output will be a text file.
+ </help>
+
+</tool>
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/gap-rem/gap_rem_README.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ucsb_phylogenetics/gap-rem/gap_rem_README.txt Sun Jun 24 16:02:29 2012 -0400
b
@@ -0,0 +1,30 @@
+Sequence Gap Remover
+ http://labs.eemb.ucsb.edu/oakley/todd/
+
+ Sequence Gap Remover
+
+ Takes an input phylip file and removes any specified gap characters that exist in the same
+ columns of containing sequences.
+
+ Output will be a text file.
+
+Original Perl and Galaxy script implemented by: Roger Ngo and Todd H. Oakley, UCSB
+
+Sequence Gap Remover will remove any common gaps within a sequence in a phylip file.
+
+The package includes:
+
+* gap-rem.xml - the Galaxy tool
+* seqfill.pl - the Perl script
+* gap_rem_README.txt - the documentation file
+
+To install, copy the seqfill.pl and gap-rem.xml to a folder in the /galaxy-dist/tools/
+directory and add the XML file to tool_conf.xml. 
+
+Restart the Galaxy instance with:
+
+./run.sh --stop-daemon
+
+and then
+
+./run.sh --reload --daemon
\ No newline at end of file
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/gap-rem/seqfill.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ucsb_phylogenetics/gap-rem/seqfill.pl Sun Jun 24 16:02:29 2012 -0400
[
@@ -0,0 +1,147 @@
+#!/usr/bin/perl
+
+# Sequence Gap Remover
+
+# Todd H. Oakley and Roger Ngo, UCSB
+
+# 2012
+
+# Removes gaps in sequences from a phylip file.
+
+my $file = $ARGV[0];
+my $q_mark = $ARGV[1];
+my $hyphen = $ARGV[2];
+my $N = $ARGV[3];
+my $usePartFile = $ARGV[4];
+my $partFile = $ARGV[5];
+
+my $out = "out.phylipnon"; # output file
+
+open(FILE, $file);
+ my @speciesNames;
+ my @sequenceLines;
+
+ my @currentLineContent;
+
+ my $i = 0;
+ while($currentLine = <FILE>) {
+ chomp($currentLine);
+ @currentLineContent = split(/\t/, $currentLine);
+ $speciesNames[$i] = $currentLineContent[0];
+ $sequenceLines[$i] = $currentLineContent[1];
+ $i++;
+ }
+
+ my $dataInfo = $speciesNames[1]; # gets num of species and sequence length
+ my @numbers = split(/ /, $dataInfo);
+
+ my $numberOfSpecies = $numbers[0];
+ my $sequenceLength = $numbers[1];
+
+close(FILE);
+
+open(OUT, '>'.$out);
+ my @columnData; # this will have $sequenceLength elements
+ for($j = 0; $j < $numberOfSpecies+2; $j++) {
+ for($k = 0; $k < $sequenceLength; $k++) {
+ $currChar = substr($sequenceLines[$j], $k, 1);
+ $columnData[$k] = $columnData[$k].$currChar;
+ }
+ }
+
+ # mark locations that will be removed
+ my @flagMap;
+ for($i = 0; $i < $sequenceLength; $i++) {
+ $flagMap[$i] = 0;
+ }
+ my $index = 0;
+ foreach $el(@columnData) {
+ my $tot = 0;
+ my $q_mark_occur = 0;
+ my $hyphen_occur = 0;
+ my $N_occur = 0;
+
+ if($q_mark eq "true") {
+ $q_mark_occur = ($el =~ tr/?//);
+ }
+ if($hyphen eq "true") {
+ $hyphen_occur = ($el =~ tr/-//);
+ }
+ if($N eq "true") {
+ $N_occur = ($el =~ tr/N//);
+ }
+
+ $tot = $q_mark_occur + $hyphen_occur + $N_occur;
+ if($tot == $numberOfSpecies) {
+ $flagMap[$index] = 1;
+ }
+ $index++;
+ }
+
+ my $newSequenceLength = $sequenceLength;
+ foreach $el(@flagMap) {
+ if($el == 1) {
+ $newSequenceLength--;
+ }
+ }
+
+ print OUT $speciesNames[0]."\n";
+ print OUT $numberOfSpecies." ".$newSequenceLength."\n";
+ for($i = 2; $i < $numberOfSpecies+3; $i++) {
+ print OUT $speciesNames[$i]."\t";
+ for($j = 0; $j < $sequenceLength; $j++) {
+ if($flagMap[$j] == 0) {
+ my $character = substr($sequenceLines[$i], $j, 1);
+ print OUT $character;
+ }
+ }
+ print OUT "\n"; 
+ }
+
+close(OUT);
+
+my $partOut = "partOut.txt";
+
+if($usePartFile eq "true") {
+ # update the partition file
+ open(PART, $partFile);
+ my @data;
+ my @ranges;
+ my @names;
+ $i = 0;
+ while($currentLine = <PART>) {
+ @data = split(/=/, $currentLine);
+ $names[$i] = $data[0];
+ $ranges[$i] = $data[1];
+ $i++;
+ }
+ close(PART);
+
+ my $firstFlag = 1;
+ open(PARTOUT, '>'.$partOut);
+ $j = 0;
+ my $newLower;
+ foreach $el(@ranges) {
+ print PARTOUT $names[$j]." = ";
+ @lowerUpper = split(/-/, $el);
+ if($firstFlag == 1) {
+ $newLower = $lowerUpper[0];
+ $firstFlag = 0;
+ }
+ my $currUpper = $lowerUpper[1];
+ my $newUpper = $currUpper;
+
+
+
+ for($i = $currLower; $i < $currUpper; $i++) {
+ if($flagMap[$i] == 1) {
+ $newUpper--;
+ }
+ }
+
+ print PARTOUT $newLower." - ".$newUpper."\n";
+ $newLower = $newUpper + 1;
+ $j++;
+ }
+ close(PARTOUT);
+}
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/phylobayes/pb.xml
--- a/ucsb_phylogenetics/phylobayes/pb.xml Thu Jun 21 17:48:46 2012 -0400
+++ b/ucsb_phylogenetics/phylobayes/pb.xml Sun Jun 24 16:02:29 2012 -0400
b
@@ -1,5 +1,8 @@
-<tool id="phylobayes" name="Phylobayes">
+<tool id="phylobayes" name="Phylobayes" version="1.0.1">
  <description>Runs phylobayes</description>
+ <requirements>
+ <requirement type="binary">Phylobayes 3.3b</requirement>
+ </requirements>
  <command interpreter="perl">pb.pl $filename $nchain $cycles $discrepancies $effectivesize $burnin $sampleInterval</command>
  <inputs>
  <param name="filename" type="data" format="txt" label="Input file (ali)" />
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/phylobayes/phylobayes_wrapper.tar.bz2
b
Binary file ucsb_phylogenetics/phylobayes/phylobayes_wrapper.tar.bz2 has changed
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/phylomatic/phylomatic.xml
--- a/ucsb_phylogenetics/phylomatic/phylomatic.xml Thu Jun 21 17:48:46 2012 -0400
+++ b/ucsb_phylogenetics/phylomatic/phylomatic.xml Sun Jun 24 16:02:29 2012 -0400
b
@@ -1,5 +1,8 @@
-<tool id="phylomatic" name="Phylomatic">
+<tool id="phylomatic" name="Phylomatic" version="1.0.1">
  <description>Run Phylomatic</description>
+ <requirements>
+ <requirement type="binary">Phylocom Phylomatic</requirement>
+ </requirements>
  <command interpreter="perl">./phylomatic.pl $input1 $input2</command>
  <inputs>
  <param name="input1" type="data" format="txt" label="Phylogenetic Tree" />
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/trimmingreads/TrimmingReads.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ucsb_phylogenetics/trimmingreads/TrimmingReads.pl Sun Jun 24 16:02:29 2012 -0400
[
b'@@ -0,0 +1,310 @@\n+#! /usr/bin/perl\n+\n+use strict;\n+use warnings;\n+use Getopt::Long;\n+use File::Basename;\n+use List::Util qw(sum min max);\n+\n+my $seqFormat = "a";\t\t# 1: Sanger; 2: Solexa; 3: Illumina 1.3+; 4: Illumina 1.5+;\n+my $subVal;\n+\n+# Parameter variables\n+my $file;\n+my $helpAsked;\n+my $rTrimBases = 0;\n+my $lTrimBases = 0;\n+my $qCutOff = 0;\n+my $lenCutOff = -1;\n+my $outFile = "";\n+my $isQualTrimming = 1;\n+\n+GetOptions(\n+\t\t\t"i=s" => \\$file,\n+\t\t\t"h|help" => \\$helpAsked,\n+\t\t\t"l|leftTrimBases=i" => \\$lTrimBases,\n+\t\t\t"o|outputFile=s" => \\$outFile,\n+\t\t\t"r|rightTrimBases=i" => \\$rTrimBases,\n+\t\t\t"q|qualCutOff=i" => \\$qCutOff,\n+\t\t\t"n|lenCutOff=i" => \\$lenCutOff,\n+\t\t  );\n+if(defined($helpAsked)) {\n+\tprtUsage();\n+\texit;\n+}\n+if(!defined($file)) {\n+\tprtError("No input files are provided");\n+}\n+\n+my ($fileName, $filePath) = fileparse($file);\n+$outFile = $file . "_trimmed" if($outFile eq "");\n+\n+open(I, "$file") or die "Can not open file $file\\n";\n+open(O, ">$outFile") or die "Can not create file $outFile\\n";\n+my $tmpLine = <I>;\n+close(I);\n+if($tmpLine =~ /^@/) {\n+\tprint "Input read/sequence format: FASTQ\\n";\n+\tif($lTrimBases == 0 && $rTrimBases == 0 && $qCutOff == 0 && $lenCutOff == -1) {\n+\t\tprint "Trimming parameters are not set.\\nNothing to do.\\nExiting...\\n";\n+\t\tunlink($outFile);\n+\t\texit;\n+\t}\n+\tprint "Checking FASTQ variant: File $file...\\n";\n+\tmy $nLines = checkFastQFormat($file, 1);\n+\tif($seqFormat == 1) {\n+\t\t$subVal = 33;\n+\t\tprint "Input FASTQ file format: Sanger\\n";\n+\t}\n+\tif($seqFormat == 2) {\n+\t\t$subVal = 64;\n+\t\tprint "Input FASTQ file format: Solexa\\n";\n+\t}\n+\tif($seqFormat == 3) {\n+\t\t$subVal = 64;\n+\t\tprint "Input FASTQ file format: Illumina 1.3+\\n";\n+\t}\n+\tif($seqFormat == 4) {\n+\t\t$subVal = 64;\n+\t\tprint "Input FASTQ file format: Illumina 1.5+\\n";\n+\t}\n+\tif($seqFormat == 5) {\n+\t\t$subVal = 33;\n+\t\tprint "Input FASTQ file format: Illumina 1.8+\\n";\n+\t}\n+\tif($lTrimBases != 0 || $rTrimBases != 0) {\n+\t\tprint "Trimming $lTrimBases bases from left end and $rTrimBases bases from right end";\n+\t\t$isQualTrimming = 0;\n+\t}\n+\telse {\n+\t\tprint "Trimming based on PHRED quality score (< $qCutOff)";\n+\t}\n+\tprint " followed by length filtering (< $lenCutOff bp)\\n";\n+\n+\topen(I, "$file") or die "Can not open file $file\\n";\t\n+\tmy $c = 0;\n+\tmy $currId1 = "";\n+\tmy $currId2 = "";\n+\tmy $currSeq = "";\n+\tmy $currQual = "";\n+\t\n+\t\n+\twhile(my $line = <I>) {\n+\t\tchomp $line;\n+        $c++;\n+        if($c == 5) {\n+                $c = 1;\n+        }\n+        if($c == 1) {\n+        \t$currId1 = $line;\n+        }\n+        if($c == 3) {\n+        \t$currId2 = $line;\n+        }\n+        if($isQualTrimming == 0) {\n+\t        if($c == 2) {\n+\t        \t$currSeq = trimSeq($line);\n+\t        }\n+\t        elsif($c == 4) {\n+\t        \t$currQual = trimSeq($line);\n+\t        \tprint O "$currId1\\n$currSeq\\n$currId2\\n$currQual\\n" if(length $currSeq >= $lenCutOff);\n+\t        }\n+        }\n+        else {\n+\t        if($c == 4) {\n+\t\t\t\t$currQual = trimSeq4Qual($line);\n+\t\t\t\tif(defined($currQual)) {\n+\t\t\t\t\tmy $len = length $currQual;\n+\t\t\t\t\t$currSeq =~ /^(.{$len})/;\n+\t\t\t\t\t$currSeq = $1;\n+\t\t        \tprint O "$currId1\\n$currSeq\\n$currId2\\n$currQual\\n" if(length $currSeq >= $lenCutOff);\n+\t\t\t\t}\n+\t        }\n+\t        elsif($c == 2) {\n+\t        \t$currSeq = $line;\n+\t        }\n+        }\n+\t}\n+\tprint "Trimmed file is generated: $outFile\\n";\n+}\n+else {\n+\tprint "Input read/sequence format: FASTA\\n";\n+\tif($qCutOff != 0) {\n+\t\tprint "Warning: Quality trimming can not be performed for FASTA files\\n";\n+\t\t$qCutOff = 0;\n+\t}\n+\tif($lTrimBases == 0 && $rTrimBases == 0 && $lenCutOff == -1) {\n+\t\tprint "Trimming parameters are not set.\\nNothing to do.\\nExiting...\\n";\n+\t\tunlink($outFile);\n+\t\texit;\n+\t}\n+\tprint "Trimming $lTrimBases bases from left end and $rTrimBases bases from right end followed by length filtering (< $lenCutOff bp)\\n";\n+\topen(I, "$file") or die "Can not open file $file\\n";\n+\tmy $prevFastaSeqId = "";\n+\tmy $fastaSeqId = "";\n+\tmy $fastaSeq = "";\n+\t\n+\twhile(my $line = <I>) {\n+\t\tchomp $line;\n+\t\tif($line =~ /^>/'..b'\n+        $newSeq .= substr($seq, $i, $ch) . "\\n";\n+    }\n+    chomp($newSeq);         # To remove \\n at the end of the whole sequence..\n+    return $newSeq;\n+}\n+\n+sub prtHelp {\n+\tprint "\\n$0 options:\\n\\n";\n+\tprint "### Input reads/sequences (FASTQ/FASTA) (Required)\\n";\n+\tprint "  -i <Read/Sequence file>\\n";\n+\tprint "    File containing reads/sequences in either FASTQ or FASTA format\\n";\n+\tprint "\\n";\n+\tprint "### Other options [Optional]\\n";\n+\tprint "  -h | -help\\n";\n+\tprint "    Prints this help\\n";\n+\tprint "--------------------------------- Trimming Options ---------------------------------\\n";\n+\tprint "  -l | -leftTrimBases <Integer>\\n";\n+\tprint "    Number of bases to be trimmed from left end (5\' end)\\n";\n+\tprint "    default: 0\\n";\n+\tprint "  -r | -rightTrimBases <Integer>\\n";\n+\tprint "    Number of bases to be trimmed from right end (3\' end)\\n";\n+\tprint "    default: 0\\n";\n+\tprint "  -q | -qualCutOff <Integer> (Only for FASTQ files)\\n";\n+\tprint "    Cut-off PHRED quality score for trimming reads from right end (3\' end)\\n";\n+\tprint "      For eg.: -q 20, will trim bases having PHRED quality score less than 20 at 3\' end of the read\\n";\n+\tprint "      Note: Quality trimming can be performed only if -l and -r are not used\\n";\n+\tprint "    default: 0 (i.e. quality trimming is OFF)\\n";\n+\tprint "  -n | -lenCutOff <Integer>\\n";\n+\tprint "    Read length cut-off\\n";\n+\tprint "    Reads shorter than given length will be discarded\\n";\n+\tprint "    default: -1 (i.e. length filtering is OFF)\\n";\n+\tprint "--------------------------------- Output Options ---------------------------------\\n";\n+\tprint "  -o | -outputFile <Output file name>\\n";\n+\tprint "    Output will be stored in the given file\\n";\n+\tprint "    default: By default, output file will be stored where the input file is\\n";\n+\tprint "\\n";\n+}\n+\n+sub prtError {\n+\tmy $msg = $_[0];\n+\tprint STDERR "+======================================================================+\\n";\n+\tprintf STDERR "|%-70s|\\n", "  Error:";\n+\tprintf STDERR "|%-70s|\\n", "       $msg";\n+\tprint STDERR "+======================================================================+\\n";\n+\tprtUsage();\n+\texit;\n+}\n+\n+sub prtUsage {\n+\tprint "\\nUsage: perl $0 <options>\\n";\n+\tprtHelp();\n+}\n+\n+sub checkFastQFormat {\t\t\t\t# Takes FASTQ file as an input and if the format is incorrect it will print error and exit, otherwise it will return the number of lines in the file.\n+\tmy $file = $_[0];\n+\tmy $isVariantIdntfcntOn = $_[1];\n+\tmy $lines = 0;\n+\topen(F, "<$file") or die "Can not open file $file\\n";\n+\tmy $counter = 0;\n+\tmy $minVal = 1000;\n+\tmy $maxVal = 0;\n+\twhile(my $line = <F>) {\n+\t\t$lines++;\n+\t\t$counter++;\n+\t\tnext if($line =~ /^\\n$/);\n+\t\tif($counter == 1 && $line !~ /^\\@/) {\n+\t\t\tprtErrorExit("Invalid FASTQ file format.\\n\\t\\tFile: $file");\n+\t\t}\n+\t\tif($counter == 3 && $line !~ /^\\+/) {\n+\t\t\tprtErrorExit("Invalid FASTQ file format.\\n\\t\\tFile: $file");\n+\t\t}\n+\t\tif($counter == 4 && $lines < 1000000) {\n+\t\t\tchomp $line;\n+\t\t\tmy @ASCII = unpack("C*", $line);\n+\t\t\t$minVal = min(min(@ASCII), $minVal);\n+\t\t\t$maxVal = max(max(@ASCII), $maxVal);\n+\t\t}\n+\t\tif($counter == 4) {\n+\t\t\t$counter = 0;\n+\t\t}\n+\t}\n+\tclose(F);\n+\tmy $tseqFormat = 0;\n+\tif($minVal >= 33 && $minVal <= 73 && $maxVal >= 33 && $maxVal <= 73) {\n+\t\t$tseqFormat = 1;\n+\t}\n+\telsif($minVal >= 66 && $minVal <= 105 && $maxVal >= 66 && $maxVal <= 105) {\n+\t\t$tseqFormat = 4;\t\t\t# Illumina 1.5+\n+\t}\n+\telsif($minVal >= 64 && $minVal <= 105 && $maxVal >= 64 && $maxVal <= 105) {\n+\t\t$tseqFormat = 3;\t\t\t# Illumina 1.3+\n+\t}\n+\telsif($minVal >= 59 && $minVal <= 105 && $maxVal >= 59 && $maxVal <= 105) {\n+\t\t$tseqFormat = 2;\t\t\t# Solexa\n+\t}\n+\telsif($minVal >= 33 && $minVal <= 74 && $maxVal >= 33 && $maxVal <= 74) {\n+\t\t$tseqFormat = 5;\t\t\t# Illumina 1.8+\n+\t}\n+\tif($isVariantIdntfcntOn) {\n+\t\t$seqFormat = $tseqFormat;\n+\t}\n+\telse {\n+\t\tif($tseqFormat != $seqFormat) {\n+\t\t\tprint STDERR "Warning: It seems the specified variant of FASTQ doesn\'t match the quality values in input FASTQ files.\\n";\n+\t\t}\n+\t}\n+\treturn $lines;\n+}\n+\n'
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/trimmingreads/TrimmingReads.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ucsb_phylogenetics/trimmingreads/TrimmingReads.xml Sun Jun 24 16:02:29 2012 -0400
b
@@ -0,0 +1,33 @@
+<tool id="trimming_reads" name="TrimmingReads">
+ <description>Runs TrimmingReads</description>
+ <command interpreter="perl">TrimmingReads.pl -i $input -l $l_int -o out.fastq -r $r_int -q $q_int -n $len_int</command>
+ <inputs>
+ <param name="input" label="Input file" type="data" format="fastq"/>
+ <param name="l_int" label="Left Trim Bases" type="integer" value="0" />
+ <param name="r_int" label="Right Trim Bases" type="integer" value="0" />
+ <param name="q_int" label="Qual Cut Off" type="integer" value="0"/>
+ <param name="len_int" label="Length Cut Off" type="integer" value="0"/>
+ </inputs>
+ <outputs>
+ <data from_work_dir="out.fastq" format="fastq" />
+ </outputs>
+
+ <help>
+
+ Trimming Reads is a part of the NGS QC Toolkit.
+
+ This tool trims the reads/sequences and their quality scores (in case of FASTQ file) in two ways. 
+ First, it trims fixed (user-specified) number of bases from 5� and/or 3� end of the reads and corresponding qualities from the input FASTQ file. 
+ Second, it trims low quality bases from 3� end of the read using user-defined threshold value of quality score. 
+ Input to this tool is either FASTQ or FASTA format file. 
+ Options are provided to specify the number of bases to be trimmed and the quality threshold for quality based trimming.
+ (http://59.163.192.90:8080/ngsqctoolkit/NGSQCToolkitv2.2.3_manual.pdf)
+
+ http://59.163.192.90:8080/ngsqctoolkit/
+
+ http://www.plosone.org/article/info:doi/10.1371/journal.pone.0030619
+ Patel RK, Jain M (2012). NGS QC Toolkit: A toolkit for quality control of next generation sequencing data. PLoS ONE, 7(2): e30619.
+
+ Left Trim 
+ </help>
+</tool>
b
diff -r 3db16e8335e1 -r 5b23f3eb3f09 ucsb_phylogenetics/trimmingreads/TrimmingReads_README.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ucsb_phylogenetics/trimmingreads/TrimmingReads_README.txt Sun Jun 24 16:02:29 2012 -0400
b
@@ -0,0 +1,29 @@
+Trimming Reads is a part of NGS QC Toolkit.
+
+Original script written by: Mukesh Jain, and Ravi Patel
+
+Galaxy tool wrapper written by: Roger Ngo and Todd H. Oakley, UCSB
+
+Required files included in this package:
+
+* TrimmingReads.xml - Galaxy tool file for the Perl script
+* TrimmingReads_README.txt - Documentation file
+
+Dependencies:
+
+TrimmingReads.pl from the NGS QC Toolkit is required to be installed
+in the Galaxy user account.
+
+Installation and Configuration Instructions:
+
+1. Copy TrimmingReads.xml to a folder in /galaxy-dist/tools/
+2. Add the XML tool to tool_conf.xml in /galaxy-dist/
+3. Add the TrimmingReads.pl to your path variable in .bashrc
+4. Type: source .bashrc
+5. Restart Galaxy using:
+
+./run.sh --stop-reload
+
+and then
+
+./run.sh --reload --daemon