Mercurial > repos > petr-novak > re_utils
changeset 17:d14b68e9fd1d draft
Uploaded - new tools added
author | petr-novak |
---|---|
date | Wed, 28 Apr 2021 08:37:20 +0000 |
parents | 5376e1c9adec |
children | d7f3eff34c27 |
files | ChipSeqRatioReport Galaxy_integration.org README.html __init__.py annot2krona.py clean_repository_tarball.sh cluster_table2krona_format.py cluster_table2krona_format.xml example1.sh example2.sh extract_files_from_re_archive.xml fasta_tmp_single plot_comparative_clustering_summary.R plot_comparative_clustering_summary.xml sampleFasta.xml tmp.RData tmp/.dummy |
diffstat | 14 files changed, 570 insertions(+), 433 deletions(-) [+] |
line wrap: on
line diff
--- a/ChipSeqRatioReport Fri Apr 24 08:54:30 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,265 +0,0 @@ - - <html xmlns:mml="http://www.w3.org/1998/Math/MathML"> - <head> - <title> ChIP-Seq Mapper Output </title> - <style> - <!-- - table { background:#FFFFFF; - border:1px solid gray; - border-collapse:collapse; - color:#fff; - font:normal 13px verdana, arial, helvetica, sans-serif; - width: 100%; - - } - caption { border:1px solid #5C443A; - color:#5C443A; - font-weight:bold; - font-size:20pt - padding:6px 4px 8px 0px; - text-align:center; - - } - td, th { color:#363636; - padding:.4em; - } - tr { border:1px dotted gray; - } - thead th, tfoot th { background:#5C443A; - color:#FFFFFF; - padding:3px 10px 3px 10px; - text-align:left; - text-transform:uppercase; - } - tbody td a { color:#3636FF; - text-decoration:underline; - } - tbody td a:visited { color:gray; - text-decoration:line-through; - } - tbody td a:hover { text-decoration:underline; - } - tbody th a { color:#3636FF; - font-weight:normal; - text-decoration:none; - } - tbody th a:hover { color:#363636; - } - tbody td+td+td+td a { background-image:url('bullet_blue.png'); - background-position:left center; - background-repeat:no-repeat; - color:#FFFFFF; - padding-left:15px; - } - tbody td+td+td+td a:visited { background-image:url('bullet_white.png'); - background-position:left center; - background-repeat:no-repeat; - } - tbody th, tbody td { text-align:left; - vertical-align:top; - } - tfoot td { background:#5C443A; - color:#FFFFFF; - padding-top:3px; - } - .odd { background:#fff; - } - tbody tr:hover { background:#EEEEEE; - border:1px solid #03476F; - color:#000000; - } - --> - </style> - - </head> - - -<p class='character'><img src="data:image/png;base64 , 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+fyDBw+ePXs2MzNTIpGQ7bq6uhMmTHB1dZ07dy5DacWQ4Y5AIBAqRCQS1dXVDR48mG1FEAgEggZkuKsSgUBQXFzc2Nioo6PTt2/fESNGMF2kGhnuCATrpKWl7dmzp7y8/Kuvvlq5cuXXX3/NtkasIRKJjh49evPmTRzHeTyen59fz549aXteu3bt1KlTzc3Nv/7668qVK4Hg0Zqamm3btmVmZvbq1cvV1XXKlClEe1lZ2bZt2168eDFw4MCFCxeampoS7a9evdq+fXtBQcGQIUOWLFnyxx9/MHqY0khJSdm7d29FRcXo0aNXrVr11VdfUbfy+fx9+/bdvXu3tbVVLBZ379596NChS5YsmTBhAtHh2bNnu3btevv27eeff75ixYrvv/9eodELCgq2bdtWWFj4ySefLF26dMyYMTt37kxJSenRo8f06dNnzZpFOA5VVVVt3749MzOzT58+bm5u8gd+XLly5fTp062trb/99tvKlSvfvHmza9eu0tLSL774YsWKFd999x3tXm/fvt22bVtWVtagQYO8vLy4XC7Q4fLly2fOnGltbR0/fvyKFSsGDBhAK+f+/fv79++vrKz85ptvVq1aRUafx8TEHDlypKamRiQSde/eXSKREHM7bNiwpUuXfvPNNzt37nz06JFAIBCLxT169BgxYsSKFSvGjh1LO0pJScm2bduys7MHDRrk4+NjbGwMdLh06VJYWFhjY2NbW9uHH34oFouJ4YRCYbdu3Xr27GloaLh06VLiA7tQKAwJCYmJicFx3MLCwtvbG8gumpeXt3379qKiIkLb3377rZ1zAGm7devWnJycwYMH+/j4/P7773v27Ll37163bt3s7e3nzp175cqVsLAwPp8/YcKEFStWFBYWBgUFlZWVjRw5cuXKld9++608o7S0tOzZsycxMZHP5xMHO3z4cH9//19++YW2f0VFxbZt254+fdq3b98FCxZYWVkBHaKioo4dO9bQ0PDzzz+vWrXq448/pm6tq6vbsWNHWlqaQCCQSCTUuTU2Nl6yZElaWlpwcHBVVdWYMWNWr179+eef06qRk5Ozffv24uLitra2bt26ffjhhxMmTFi+fDkR6CUWi0+cOHHt2jWxWEyITU1NDQ4Orq6uHjt27KpVqyQSydatW/Py8j7++GM/P79ffvklKCgoOTlZV1fXwcHBxcXl0qVL586d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 " alt="image" /></p> - - -<p align= center > -<table cellspacing=0 border=1> -<caption align=bottom class=captiondataframe></caption> -<tr><td> - <table border=0 class=dataframe> - <tbody> - <tr class= firstline > - <th>Cluster </th> - <th>Chip_Hits </th> - <th>Input_Hits </th> - <th>Ratio Chip/Input </th> - <th>Normalized ratio Chip/Input </th> - <th>Ratio Chip/(Chip+Input) </th> - <th>Normalized ratio Chip/(Chip+Input)</th> - </tr> -<tr> -<td class=cellinside> 73 -</td> -<td class=cellinside> 5171 -</td> -<td class=cellinside> 91 -</td> -<td class=cellinside> 56.8 -</td> -<td class=cellinside> 56.8 -</td> -<td class=cellinside>0.98 -</td> -<td class=cellinside>0.98 -</td></tr> - -<tr> -<td class=cellinside>112 -</td> -<td class=cellinside>15274 -</td> -<td class=cellinside>240 -</td> -<td class=cellinside> 63.6 -</td> -<td class=cellinside> 63.6 -</td> -<td class=cellinside>0.98 -</td> -<td class=cellinside>0.98 -</td></tr> - -<tr> -<td class=cellinside>160 -</td> -<td class=cellinside> 1 -</td> -<td class=cellinside> 0 -</td> -<td class=cellinside> Inf -</td> -<td class=cellinside> Inf -</td> -<td class=cellinside>1.00 -</td> -<td class=cellinside>1.00 -</td></tr> - -<tr> -<td class=cellinside>168 -</td> -<td class=cellinside> 1306 -</td> -<td class=cellinside> 25 -</td> -<td class=cellinside> 52.2 -</td> -<td class=cellinside> 52.2 -</td> -<td class=cellinside>0.98 -</td> -<td class=cellinside>0.98 -</td></tr> - -<tr> -<td class=cellinside>208 -</td> -<td class=cellinside> 3134 -</td> -<td class=cellinside> 25 -</td> -<td class=cellinside>125.4 -</td> -<td class=cellinside>125.4 -</td> -<td class=cellinside>0.99 -</td> -<td class=cellinside>0.99 -</td></tr> - -<tr> -<td class=cellinside>213 -</td> -<td class=cellinside> 1 -</td> -<td class=cellinside> 0 -</td> -<td class=cellinside> Inf -</td> -<td class=cellinside> Inf -</td> -<td class=cellinside>1.00 -</td> -<td class=cellinside>1.00 -</td></tr> - -<tr> -<td class=cellinside>225 -</td> -<td class=cellinside> 409 -</td> -<td class=cellinside> 1 -</td> -<td class=cellinside>409.0 -</td> -<td class=cellinside>409.0 -</td> -<td class=cellinside>1.00 -</td> -<td class=cellinside>1.00 -</td></tr> - -<tr> -<td class=cellinside>236 -</td> -<td class=cellinside> 4638 -</td> -<td class=cellinside> 55 -</td> -<td class=cellinside> 84.3 -</td> -<td class=cellinside> 84.3 -</td> -<td class=cellinside>0.99 -</td> -<td class=cellinside>0.99 -</td></tr> - -<tr> -<td class=cellinside>250 -</td> -<td class=cellinside> 1 -</td> -<td class=cellinside> 0 -</td> -<td class=cellinside> Inf -</td> -<td class=cellinside> Inf -</td> -<td class=cellinside>1.00 -</td> -<td class=cellinside>1.00 -</td></tr> - -<tr> -<td class=cellinside>294 -</td> -<td class=cellinside> 11 -</td> -<td class=cellinside> 5 -</td> -<td class=cellinside> 2.2 -</td> -<td class=cellinside> 2.2 -</td> -<td class=cellinside>0.69 -</td> -<td class=cellinside>0.69 -</td></tr> - - </tbody> -</table> - </td></table> - <br> - -<hr size=1> -<font size=-1> - Generated on: <i>Fri Nov 22 12:59:10 2019</i> - <b>R2HTML</b> -<hr size=1> - </body> -</html> \ No newline at end of file
--- a/Galaxy_integration.org Fri Apr 24 08:54:30 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ - -#+BEGIN_SRC sh -/home/petr/anaconda3/bin/planemo shed_init --name=repeatexplorer_utilities \ - --owner=repeatexplorer \ - --description="some utilities for data preprocessing" \ - --long_description="some utilities for data preprocessing" \ - --category="Fasta Manipulation" -#+END_SRC -# this create file .shed.yml - - -# create repository manualy: -#+BEGIN_SRC sh -planemo shed_build . -#+END_SRC - -#+RESULTS: -: Created: /mnt/raid/users/petr/workspace/re_utilities.tar.gz - -this creates archive: ../re_utilities.tar.gz -unecessary file from archive are deleted; - -#+BEGIN_SRC bash :tangle clean_repository_tarball.sh - #!/bin/bash - containsElement () { - local e match="$1" - shift - for e; do [[ "$e" == "$match" ]] && return 0; done - return 1 - } - ARCHIVE_GZ=../re_utilities.tar.gz - TMP_TAR=`mktemp` - echo $TMP_TAR - ARCHIVE_GZ_CLEAN=../re_utilities_clean.tar.gz - zcat $ARCHIVE_GZ > $TMP_TAR - ARCHIVE_FILE_LIST=`tar -tz -f ../re_utilities.tar.gz` - ls -l $TMP_TAR - GIT_LIST=`git ls-files` - - for FILE in $ARCHIVE_FILE_LIST - do - containsElement $FILE ${GIT_LIST[@]} - if [ $? != 0 ] - then - echo "Deleting ${FILE}" - tar --delete -f $TMP_TAR $FILE - fi - done - ls -l $TMP_TAR - echo "compressing.." - gzip -c $TMP_TAR > $ARCHIVE_GZ_CLEAN - echo "output in ${ARCHIVE_GZ_CLEAN}" - -#+END_SRC - - - -
--- a/README.html Fri Apr 24 08:54:30 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml"> - -<head> -<title>README.html</title> - -</head> - -<body> - -<h1>RepeatExplorer utilities</h1> -<p>This repository include utilities for preprocessing of NGS data to suitable format for RepeatExplorer and TAREAN -analysis. Each tool include also XML file which define tool interface for Galaxy environment</p> -<h2>Available tools</h2> -<h3>Paired fastq reads filtering and interlacing</h3> -<p>tool definition file: <code>paired_fastq_filtering.xml</code></p> -<p>This tool is designed to make memory efficient preprocessing of two fastq files. Output of this file can be used as input of RepeatExplorer clustering. Input files can be in GNU zipped archive (.gz extension). Reads are filtered based on the quality, presence of N bases and adapters. Two input fastq files are procesed in parallel. Only complete pair are kept. As the input files are process in chunks, it is required that pair reads are complete and in the same order in both input files. All reads which pass the quality filter fill be writen into output files. If sampling is specified, only sample of sequences will be returned. Cutadapt us run with this options:</p> -<p><code>--anywhere='AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT' ---anywhere='AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT' ---anywhere='GATCGGAAGAGCACACGTCTGAACTCCAGTCAC' ---anywhere='ATCTCGTATGCCGTCTTCTGCTTG' ---anywhere='CAAGCAGAAGACGGCATACGAGAT' ---anywhere='GTGACTGGAGTTCAGACGTGTGCTCTTCCGATC' ---error-rate=0.05 ---times=1 --overlap=15 --discard</code></p> -<p>Order of fastq files processing</p> -<ol> -<li>Trimming (optional)</li> -<li>Filter by quality</li> -<li>Discard single reads, keep complete pairs</li> -<li>Cutadapt filtering</li> -<li>Discard single reads, keep complete pairs</li> -<li>Sampling (optional)</li> -<li>Interlacing two fasta files</li> -</ol> -<h3>single fastq reads filtering</h3> -<p>tool definition file: <code>single_fastq_filtering.xml</code></p> -<p>This tool is designed to perform preprocessing -of fastq file. Input files can be in GNU zipped archive (.gz extension). Reads -are filtered based on the quality, presence of N bases and adapters. All reads -which pass the quality filter fill be writen into output files. If sampling is -specified, only sample of sequences will be returned. </p> -<h3>fasta afixer</h3> -<p>tool definition file: <code>fasta_affixer.xml</code></p> -<p>Tool for appending prefix and suffix to sequences names in fasta formated sequences. This tool is useful -if you want to do comparative analysis with RepeatExplorer and need to -append sample codes to sequence identifiers</p> -<h2>Dependencies</h2> -<p>R programming environment with installed packages <em>optparse</em> and <em>ShortRead</em> (Bioconductor) -python3 -cutadapt</p> -<h2>License</h2> -<p>Copyright (c) 2012 Petr Novak (petr@umbr.cas.cz), Jiri Macas and Pavel Neumann, -Laboratory of Molecular Cytogenetics(http://w3lamc.umbr.cas.cz/lamc/) -Institute of Plant Molecular Biology, Biology Centre AS CR, Ceske Budejovice, Czech Republic</p> -<p>This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version.</p> -<p>This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.</p> -</body> -</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/annot2krona.py Wed Apr 28 08:37:20 2021 +0000 @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +''' +take various inputs and convert it to krona tabular format for visualization +supported inputs: +- DANTE gff3 +- TODO PROFREP gff3 +- TODO RE archive - normal run +- TODO RE archive - comparative +- +''' +import argparse +import re +import collections + + +def parse_dante_gff(f): + '''load gff3 file and return classification with counts''' + r = re.compile("Final_Classification=") + cls_count = collections.defaultdict(int) + for line in f: + if re.match("#", line.strip()): + continue + attributes = line.split("\t")[8].split(";") + cls_raw = list(filter(r.match, attributes))[0] + cls = re.sub(r, "",cls_raw) + cls_count[cls] += 1 + + return cls_count + + +def export_classification(cls, f): + '''save classification to tab delimited file''' + for i in cls: + f.write('{}\t{}\n'.format(cls[i], i.replace("|","\t"))) + + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('-f', '--format', choices=['dante', 'profrep', 're']) + parser.add_argument('-i', '--input', type=argparse.FileType('r')) + parser.add_argument('-o', '--output', type=argparse.FileType('w')) + + args = parser.parse_args() + + if args.format == "dante": + classification = parse_dante_gff(args.input) + + if args.format in ["profrep" 're']: + print("Not implemented") + exit(0) + + export_classification(classification, args.output)
--- a/clean_repository_tarball.sh Fri Apr 24 08:54:30 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -#!/bin/bash -containsElement () { - local e match="$1" - shift - for e; do [[ "$e" == "$match" ]] && return 0; done - return 1 -} -ARCHIVE_GZ=../re_utilities.tar.gz -TMP_TAR=`mktemp` -echo $TMP_TAR -ARCHIVE_GZ_CLEAN=../re_utilities_clean.tar.gz -zcat $ARCHIVE_GZ > $TMP_TAR -ARCHIVE_FILE_LIST=`tar -tz -f ../re_utilities.tar.gz` -ls -l $TMP_TAR -GIT_LIST=`git ls-files` - -for FILE in $ARCHIVE_FILE_LIST -do - containsElement $FILE ${GIT_LIST[@]} - if [ $? != 0 ] - then - echo "Deleting ${FILE}" - tar --delete -f $TMP_TAR $FILE - fi -done -ls -l $TMP_TAR -echo "compressing.." -gzip -c $TMP_TAR > $ARCHIVE_GZ_CLEAN -echo "output in ${ARCHIVE_GZ_CLEAN}"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cluster_table2krona_format.py Wed Apr 28 08:37:20 2021 +0000 @@ -0,0 +1,44 @@ +#!/usr/bin/env python +import sys +import re +from collections import defaultdict +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("-i" ,"--input", type=argparse.FileType('r'), help="path to file CLUSTER_table.csv") +parser.add_argument("-o" ,"--output", type=argparse.FileType('w'), help="output file name") +parser.add_argument("-m", "--use_manual", action='store_true', default=False) + +args = parser.parse_args() + +column = 6 if args.use_manual else 4 + + +header = False +clust_info = {} +counts = defaultdict(lambda: 0) +top_clusters = 0 +with open(args.input.name, 'r') as f: + for l in f: + parts = l.split() + if re.match('.*Cluster.+Supercluster.+Size.+Size_adjusted.+Automatic_annotation.+TAREAN_annotation.+Final_annotation', l): + print("header detected") + header = True + continue + if header: + classification = "Top_clusters\t" + "\t".join(parts[column].split("/")[1:]).replace('"','') + counts[classification] += int(parts[3]) + top_clusters += int(parts[3]) + + elif len(parts) >= 2: + clust_info[parts[0].replace('"', '')] = int(parts[1]) + +counts['Singlets'] = clust_info['Number_of_singlets'] +counts['Small_cluster'] = int(clust_info['Number_of_reads_in_clusters']) - top_clusters + +with open(args.output.name, 'w') as fout: + for cls_line, nreads in counts.items(): + fout.write(str(nreads) +"\t" + cls_line + "\n") + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cluster_table2krona_format.xml Wed Apr 28 08:37:20 2021 +0000 @@ -0,0 +1,45 @@ +<tool id="cluster_table2krona_format" name="Convert RepeatExplorer2 CLUSTER_table.csv to Krona formatted input " version="1.0.0" python_template_version="3.5"> + <command detect_errors="exit_code"><![CDATA[ + $__tool_directory__/cluster_table2krona_format.py --input ${input} --output ${output} + #if $column == "Final_annotation" + -m + #end if + ]]></command> + <inputs> + <param type="data" name="input" format="txt" label="CLUSTER_table.csv" /> + <param name="column" type="select" label="What annotation column do you want to include in the output?"> + <option value="Final_annotation" >Final_annotation </option> + <option value="Automatic_annotation" selected="true" >Automatic_annotation </option> + </param> + </inputs> + <outputs> + <data format="tabular" name="output" label="RepeatExplorer cluster annotation formatted for Krona visualization from data ${input.hid}"/> + </outputs>/ + <help><![CDATA[ + This tool converts CLUSTER_table.csv RepeatExplorer2 output to file which can be visualized with Krona. As input use CLUSTER_table.csv obtained from RepeatExplorer2 analysis. Example of CLUSTER_table.csv:: + + + '"Number_of_reads_in_clusters" 3002 ' + '"Number_of_clusters" 895 ' + '"Number_of_superclusters" 895 ' + '"Number_of_singlets" 6998 ' + '"Number_of_analyzed_reads" 10000 ' + '"Cluster" "Supercluster" "Size" "Size_adjusted" "Automatic_annotation" "TAREAN_annotation" "Final_annotation"' + '1 1 61 61 "All" "Other" ""' + '2 2 59 59 "All/repeat/satellite" "Putative satellites (high confidence)" ""' + '3 3 45 45 "All/repeat/satellite" "Putative satellites (low confidence)" ""' + '4 4 38 38 "All" "Other" ""' + '5 5 32 32 "All" "Other" ""' + '6 6 28 28 "All" "Other" ""' + '7 7 25 25 "All" "Other" ""' + '8 8 24 24 "All" "Other" ""' + '9 9 23 23 "All" "Other" ""' + '10 10 22 22 "All/repeat/mobile_element/Class_I/LTR/Ty3_gypsy/non-chromovirus/OTA/Tat/Ogre" "Other" ""' + '11 11 20 20 "All" "Other" ""' + + + +Last column "Final_annotation" is intended to be filled manually based on the curation of the automatic anotation results. If you obtain CLUSTER_table.csv directly from RepeatExplorer2 output, you can convert only automatic annotation table. + + ]]></help> +</tool>
--- a/example1.sh Fri Apr 24 08:54:30 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -#!/bin/sh -# minimal example : -./ChipSeqRatioAnalysis.py -c test_data/seq_C_10k -i test_data/seq_I_10k -k test_data/VTS_contigs.info.minRD5 -o tmp/chi_seq_ratio.csv -ht tmp/html_report.html -# output goes to current directory
--- a/example2.sh Fri Apr 24 08:54:30 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -#!/bin/sh -# minimal example2 : -./ChipSeqRatioAnalysis.py -c test_data/seq_C_20k -i test_data/seq_I_10k -k test_data/VTS_contigs.info.minRD5 -o tmp/chi_seq_ratio2.csv -ht tmp/html_report2.html --max_cl 300 -# output goes to current directory
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extract_files_from_re_archive.xml Wed Apr 28 08:37:20 2021 +0000 @@ -0,0 +1,49 @@ +<tool id="extract_var_files_from_re" name="Extract various files from RepeatExplorer2 archive"> + <command detect_errors="exit_code"> + + #for $sf in $file: + + #if $sf == "CLUSTER_TABLE.csv" + unzip -p -j ${RepeatExplorer_archive} ${sf} > ${cluster_table} + ; + #end if + + #if $sf == "COMPARATIVE_ANALYSIS_COUNTS.csv" + unzip -p -j ${RepeatExplorer_archive} ${sf} > ${comparative_analysis_count} + ; + #end if + + #if $sf == "SUPERCLUSTER_TABLE.csv" + unzip -p -j ${RepeatExplorer_archive} ${sf} > ${supercluster_table} + ; + #end if + + #end for + + + + </command> + + <inputs> + <param name="RepeatExplorer_archive" label="Archive with RepeatExplorer2 results" type="data" format="zip"/> + + <param name="file" type="select" label="select files you want to extract" multiple="true" optional="false"> + <option value="CLUSTER_TABLE.csv">CLUSTER_TABLE.csv</option> + <option value="COMPARATIVE_ANALYSIS_COUNTS.csv">COMPARATIVE_ANALYSIS_COUNTS.csv</option> + <option value="SUPERCLUSTER_TABLE.csv">SUPERCLUSTER_TABLE.csv</option> + </param> + </inputs> + + <outputs> + <data format="tabular" name="cluster_table" label="CLUSTER_TABLE.csv from ${RepeatExplorer_archive.hid}" > + <filter>"CLUSTER_TABLE.csv" in file</filter> + </data> + <data format="tabular" name="supercluster_table" label="SUPERCLUSTER_TABLE.csv from ${RepeatExplorer_archive.hid}"> + <filter>"SUPERCLUSTER_TABLE.csv" in file</filter> + </data> + <data format="tabular" name="comparative_analysis_count" label="COMPARATIVE_ANALYSIS_COUNTS.csv from ${RepeatExplorer_archive.hid}"> + <filter>"COMPARATIVE_ANALYSIS_COUNTS.csv" in file</filter> + </data> + </outputs> +</tool> +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plot_comparative_clustering_summary.R Wed Apr 28 08:37:20 2021 +0000 @@ -0,0 +1,304 @@ +#!/usr/bin/env Rscript +library(optparse) +## TODO - add scale to legend! +twenty_colors = c( + '#e6194b', '#3cb44b', '#ffe119', '#4363d8', '#f58231', + '#911eb4', '#46f0f0', '#f032e6', '#bcf60c', '#fabebe', + '#008080', '#e6beff', '#9a6324', '#fffac8', '#800000', + '#aaffc3', '#808000', '#ffd8b1', '#000075', "#000000" +) + +get_color = function(classification, size){ + ## 20 of unique colors, first is black + unique_colors = twenty_colors[1:opt$number_of_colors] + Ncol = length(unique_colors) + ## rest wil be grey: + grey_color = "#a9a9a9" + ## unique repeats without All + include = !classification %in% "All" + unique_repeats = names(c(sort(by(size[include], INDICES = classification[include], FUN = sum), decreasing = TRUE))) + color_table = unique_colors[1:min(Ncol,length(unique_repeats))] + names(color_table) = unique_repeats[1:min(Ncol,length(unique_repeats))] + color = rep(grey_color, length(classification)) + names(color) = classification + for (ac in names(color_table)){ + color[names(color) %in% ac] = color_table[ac] + } + return(color) +} + + +make_legend = function(color){ + ## simplify description: + names(color) = gsub(".+/","",names(color)) + description = sapply(split(names(color), color), function(x) paste(unique(x), collapse=";")) + description = gsub(".+;.+", "Other", description) + description = gsub("All", "Other", description) + if ("Other" %in% description & length(description) > 1){ + description = c(description[! description %in% "Other"], description[description %in% "Other"]) + } + ord = order(factor(names(description), levels = twenty_colors)) + legend_info = list(name = gsub("All", "NA", description)[ord], color = names(description)[ord]) +} + +plot_rect_map = function(read_counts,cluster_annotation, output_file,GS, RL, Xcoef=1,Ycoef=1){ + ## read_counts : correspond to COMPARATIVE_ANALYSIS_COUNTS.csv + ## cluster annotation : CLUSTER_TABLE.csv + counts = read.table(read_counts,header=TRUE,as.is=TRUE) + input_read_counts = unlist(read.table(read_counts, nrows = 1, comment.char = "",sep="\t")[-(1:2)]) + + counts_file_valid = ncol(counts) == (length(input_read_counts) + 2) & all(colnames(input_read_counts)[1:2]==c("cluster", "supercluster")) + ## find which line is header + header_line = grep(".*Cluster.*Supercluster.*Size", readLines(cluster_annotation)) + annot = read.table(cluster_annotation, sep="\t",header=TRUE,as.is=TRUE, skip = header_line - 1) + ## validate + annot_file_valid = all(colnames(annot)==c("Cluster","Supercluster","Size","Size_adjusted","Automatic_annotation","TAREAN_annotation","Final_annotation")) + + + if (!annot_file_valid | !counts_file_valid){ + pdf(output_file) + plot.new() + text(0.5,0.5,"Input is not valid, check input files!") + dev.off() + stop("Input files are not valid!") + } + print(annot_file_valid) + print(counts_file_valid) + ## remove counts which are not in annotation - only clusters in annot will be plotted! + counts = counts[annot$Cluster,] + N = nrow(annot) + + counts_automatic = counts + annot_automatic = annot + input_read_counts_automatic = input_read_counts + # remove organelar and contamination if required make count correction + if (opt$nuclear_only){ + exclude=grep("contamination|organelle",annot$Automatic_annotation) + if (length(exclude)>0){ + counts_automatic = counts[-exclude, , drop=FALSE] + annot_automatic = annot[-exclude, ,drop=FALSE] + input_read_counts_automatic = input_read_counts - colSums(counts[exclude,-c(1:2) , drop=FALSE]) + } + } + color_auto = get_color(annot_automatic$Automatic_annotation, annot_automatic$Size) + + legend_info = make_legend(color_auto) + params = list(Automatic_annotation = list( + color = color_auto, + legend = legend_info, + counts = counts_automatic, + annot = annot_automatic, + input_read_counts = input_read_counts_automatic + ) + ) + + + if (!is.null(annot$Final_annotation)){ + + ## column with manual annotation exist - check if correct + if (any(annot$Final_annotation %in% "" | any(is.na(annot$Final_annotation)))){ + message("Final annotation is not complete, skipping") + }else{ + + counts_manual = counts + annot_manual = annot + input_read_counts_manual = input_read_counts + ## correction must be done idependetly in case manual and automatic classification differ in annotation + if (opt$nuclear_only){ + exclude=grep("contamination|organelle",annot$Final_annotation) + if (length(exclude)>0){ + counts_manual = counts[-exclude, , drop=FALSE] + annot_manual = annot[-exclude, ,drop=FALSE] + input_read_counts_manual = input_read_counts - colSums(counts[exclude,-c(1:2) , drop=FALSE]) + } + } + ## append + color_manual = get_color(annot_manual$Final_annotation, annot_manual$Size) + legend_info_manual = make_legend(color_manual) + + params$Final_annotation = list( + color = color_manual, + legend = legend_info_manual, + counts = counts_manual, + annot = annot_manual, + input_read_counts = input_read_counts_manual + + ) + } + } + + ## set size of pdf output + wdth = (3 + N*0.03 ) * Xcoef + hgt = (2.2 + ncol(counts)*0.20) * Ycoef + if (!any(is.na(GS))){ + hgt = hgt + ncol(counts)*0.20 * Ycoef + } + ptsize = round((wdth*hgt)^(1/4))*5 + + + pdf(output_file, width=wdth,height=hgt, pointsize = ptsize) # was 50 + ## originaly - printing of both automatic and final annotation + ## now - print only final_annotation if available + if (length(params) == 2){ + ## remove automatic + params$Automatic_annotation = NULL + } + ## + + for (j in seq_along(params)){ + Nclust = nrow(params[[j]]$annot) + ##prepare matrix for plotting + M = as.matrix(params[[j]]$counts[1:Nclust,-(1:2)]) + rownames(M) = paste0("CL",rownames(M)) + Mn1=(M)/apply(M,1,max) + Mn2=M/max(M) + ord1 = hclust(dist(Mn1),method = "ward.D")$order + ord2 = hclust(dist(t(Mn2)))$order + + ploting_area_width = 3 + log10(Nclust)*3 + ploting_area_sides = 1.5 + legend_width = 3 + title_height = 0.5 + if (any(is.na(GS))){ + layout(matrix(c(0,0,0,3,0,2,0,3,0,1,0,3),ncol=4,byrow = TRUE), + width=c(ploting_area_sides,ploting_area_width,ploting_area_sides, legend_width), + height=c(title_height, 3,ncol(M)*0.8)) + }else{ + ## extra row for legends + + + layout(matrix(c(0,0,0,3,0,2,0,3,0,1,0,3,0,0,0,4),ncol=4,byrow = TRUE), + width=c(ploting_area_sides,ploting_area_width,ploting_area_sides, legend_width), + height=c(title_height, 3,ncol(M)*0.8,ncol(M)*0.8 )) + } + + + par(xaxs='i', yaxs = 'i') + par(las=2,mar=c(4,0,0,0),cex.axis=0.5) + + if (any(is.na(GS))){ + rectMap(Mn2[ord1,ord2],scale.by='row',col=params[[j]]$color[ord1], grid=TRUE) + }else{ + # use genomic sizes + Mn3 = t(t(M) * (GS[colnames(M),] / params[[j]]$input_read_counts))[ord1,ord2] + ## rescale + MaxGS = max(Mn3) + Mn3 = Mn3/max(Mn3) + rectMap(Mn3,scale.by='none',col=params[[j]]$color[ord1], grid=TRUE) + } + par(las=2,mar=c(1,0,1,0), mgp = c(2,1,0)) + barplot(params[[j]]$annot$Size[ord1], col = 1) + mtext(side = 2, "Cluster size", las = 3, line = 2.5, cex = 0.5) + mtext(side=3, names(params)[j], las=0, line=1) + plot.new() + legend("topleft", col= params[[j]]$legend$color, legend=params[[j]]$legend$name, pch=15, cex=0.7, bty="n", pt.cex=1) + } + + if (!any(is.na(GS))){ + ## plot GS scale + par(xaxs='i', yaxs = 'i') + print(log(nrow(Mn3))) + par(las=2,mar=c(4,0,0,log(nrow(Mn3))),cex.axis=0.5) # same par as recplot above to keep the scale + Mn3scale = Mn3 + Mn3scale[,] = 0 + colnames(Mn3scale)=rep("", ncol(Mn3scale)) + rownames(Mn3scale)=rep("", nrow(Mn3scale)) + Mn3scale[,1] = seq(0,1, length.out = nrow(Mn3)) + rectMap(Mn3scale,scale.by='none',col="grey", grid=FALSE, boxlab="", draw_box=FALSE, center=FALSE) + slabels = pretty(c(0,MaxGS), n = 10) + sat = slabels/MaxGS * nrow(Mn3scale) + axis(side=1, at= sat, labels = slabels, line = 0) + mtext(side = 1, text = "Repeat abundance", las=1, line=2.5,cex=0.4) + mtext(side = 2, text = "Rectangle\n height", las=1, line=2,cex=0.4, at=1) + + axis(2, at=c(0.5, 1, 1.5), labels=c(0,0.5,1),line=0) + } + st = dev.off() +} + +rectMap=function(x,scale.by='row',col=1,xlab="",ylab="",grid=TRUE,axis_pos=c(1,4),boxlab = "Cluster Id", cexx=NULL,cexy=NULL, draw_box=TRUE, center=TRUE){ + if (scale.by=='row'){ + #x=(x)/rowSums(x) + x=(x)/apply(x,1,sum) + } + if (scale.by=='column'){ + x=t(t(x)/apply(x,2,max)) + } + nc=ncol(x) + nr=nrow(x) + coords=expand.grid(1:nr,1:nc) + plot(coords[,1],coords[,2],type='n',axes=F,xlim=range(coords[,1])+c(-.5,.5),ylim=range(coords[,2])+c(-.5,.5),xlab=xlab,ylab=ylab) + axis(axis_pos[1],at=1:nr,labels=rownames(x),lty=0,tick=FALSE,line=0,cex.axis=0.5/log10(nr)) + axis(axis_pos[2],at=1:nc,labels=colnames(x),lty=0,tick=FALSE,las=2,line=0 ,hadj=0, cex.axis=0.7) + axis(2,at=1:nc,labels=colnames(x),lty=0,tick=FALSE,las=2,line=0 ,hadj=1, cex.axis=0.7) + + mtext(side = 1, boxlab, las=1, line = 3, cex = 0.5) + line = 1.5 + log10(nr) + #mtext(side = 2, "Proportions of individual samples", las =0, line = line, cex = 0.5) + s=x/2 + w = c(x)/2 + if(center){ + rect(coords[,1]-0.5,coords[,2]-s,coords[,1]+0.5,coords[,2]+s,col=col,border=NA) + }else{ + rect(coords[,1]-0.5,coords[,2]-0.5,coords[,1]+0.5,coords[,2]+x-0.5,col=col,border=NA) + } + if (grid){ + abline(v=0:(nr)+.5,h=0:(nc)+.5,lty=2,col="#60606030",lwd=0.2) + } + if(draw_box){ + box(col="#60606030",lty=2, lwd=0.2) + } +} + + option_list <- list( + make_option(c("-c", "--cluster_table"), default=NA, type = "character", + help="file from RepeatExplorer2 clustering - CLUSTER_TABLE.csv"), + + make_option(c("-m", "--comparative_counts"),default = NA,type = "character", + help="file from RepeatExplorer2 output - COMPARATIVE_ANALYSIS_COUNTS.csv"), + + make_option(c("-o", "--output"), type="character", + default="comparative_analysis_summary.pdf", + help="File name for output figures (pdf document)"), + make_option(c("-N", "--number_of_colors"), type="integer", default=10, + help="Number of unique colors used from plotting (2-20, default is 10)"), + + make_option(c("-g", "--genome_size"),default = NA,type = "character", + help="file from genome sizes of species provided in tab delimited file in the format: + + species_code1 GenomeSize1 + species_code2 GenomeSize2 + species_code3 GenomeSize3 + species_code4 GenomeSize4 + + provide the same codes for species as in file COMPARATIVE_ANALYSIS_COUNTS.csv. The use of genome + sizes file imply the --nuclear_only option. If genome sizes are used, genomic abundance scale is added. + "), + make_option(c("-n", "--nuclear_only"), default = FALSE, type="logical", + action = "store_true", + help="remove all non-nuclear sequences (organelle and contamination). ") +) + + +opt = parse_args(OptionParser(option_list = option_list)) + +if (any(is.na(c(opt$cluster_table, opt$comparative_counts)))){ + message("\nBoth files: CLUSTER_TABLE.csv and COMPARATIVE_ANALYSIS_COUNTS.csv must be provided\n") + q() +} + +if (!opt$number_of_colors %in% 1:20){ + message("number of color must be in range 1..20") + stop() +} + +if (!is.na(opt$genome_size)){ + GS = read.table(opt$genome_size, header=FALSE, as.is=TRUE, row.names = 1) + opt$nuclear_only=TRUE +}else{ + GS = NA + RL = NA +} + +plot_rect_map(opt$comparative_counts, opt$cluster_table, opt$output, GS, RL) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plot_comparative_clustering_summary.xml Wed Apr 28 08:37:20 2021 +0000 @@ -0,0 +1,71 @@ +<tool id="plot_comparative" name="Visualization of comparative clustering" version="1.0.0"> + <description> Simple utility to create visualization of RepeatExplorer conmparative analysis</description> + <requirements> + <requirement type="package">r-optparse</requirement> + </requirements> + + <command interpreter="Rscript" detect_errors="exit_code" > + $__tool_directory__/plot_comparative_clustering_summary.R + --cluster_table=$cluster_table + --comparative_counts=$counts + --number_of_colors=$number_of_colors + --output=$outpdf + $nuclear_only + + #if $normalization.use_genome_size: + --genome_size $normalization.genome_size_table + #end if + </command> + + <inputs> + <param format="txt" type="data" name="cluster_table" label="file from RepeatExplorer2 clustering - CLUSTER_TABLE.csv"/> + <param format="txt" type="data" name="counts" label="file from RepeatExplorer2 output - COMPARATIVE_ANALYSIS_COUNTS.csv"/> + <param value="10" min="2" max="20" type="integer" name="number_of_colors" label="Maximum number of color used for plottting"/> + <param value="false" type="boolean" truevalue="--nuclear_only" falsevalue="" name="nuclear_only" label="Remove all non-nuclear sequences (organel and contamination)"/> + <conditional name="normalization"> + <param name="use_genome_size" type="boolean" checked="False" label="Normalize to genome size" help="Note that if this option is used, non-nuclear sequences are always removed."/> + <when value="false"> + <!-- pass --> + </when> + <when value="true"> + <param name="genome_size_table" type="data" format="txt" label="table with genome sizes"/> + + </when> + + </conditional> + </inputs> + + <outputs> + <data format="pdf" name="outpdf" label="Comparative analysis summary"/> + </outputs> + <help> + **Visualization of comparative clustering** + Visualization can be created two output files from RepeatExplorer pipeline. + + Input file CLUSTER_TABLE.csv contains automatic annotation, information about cluster sizes and the total number of reads used for analysis + Example of CLUSTER_TABLE.csv: :: + + "Number_of_reads_in_clusters" 3002 + "Number_of_clusters" 895 + "Number_of_superclusters" 895 + "Number_of_singlets" 6998 + + "Number_of_analyzed_reads" 10000 + + "Cluster" "Supercluster" "Size" "Size_adjusted" "Automatic_annotation" "TAREAN_classification" "Final_annotation" + 1 1 61 61 "All" "Other" + 2 2 59 59 "All/repeat/satellite" "Putative satellites (high confidence)" + 3 3 45 45 "All/repeat/satellite" "Putative satellites (low confidence)" + 4 4 38 38 "All" "Other" + 5 5 32 32 "All" "Other" + 6 6 28 28 "All" "Other" + 7 7 25 25 "All" "Other" + 8 8 24 24 "All" "Other" + 9 9 23 23 "All" "Other" + 10 10 22 22 "All/repeat/mobile_element/Class_I/LTR/Ty3_gypsy/non-chromovirus/OTA/Tat/Ogre" "Other" + 11 11 20 20 "All" "Other" + 12 12 20 20 "All" "Other" + + + </help> +</tool>
--- a/sampleFasta.xml Fri Apr 24 08:54:30 2020 -0400 +++ b/sampleFasta.xml Wed Apr 28 08:37:20 2021 +0000 @@ -1,5 +1,5 @@ <tool id="sampler" name="Read sampling" version="1.0.1"> - <description> Tool for random sampling subsets of reads from larger dataset</description> + <description> Tool for randomly sampling subsets of reads from large datasets</description> <requirements> <requirement type="package">seqkit</requirement> </requirements> @@ -40,8 +40,9 @@ <help> **What it does** - This tools is intended to create sample of sequences from by taking 'random' sample from larger data sets. - Using a same seed parameter make sampling reproducible. + This tools randomly samples the specified number of reads from larger datasets. + Using the same random number generator seed with the same dataset results in sampling the same set of reads, while + using different seeds generates different subsets of reads. </help>