Repository 'argalaxy_tools'
hg clone https://toolshed.g2.bx.psu.edu/repos/davidvanzessen/argalaxy_tools

Changeset 54:81b3eb11ed2c (2021-11-16)
Previous changeset 53:0ef7f80ea061 (2021-02-25) Next changeset 55:2a7dc86d8f85 (2021-11-19)
Commit message:
"planemo upload commit 6c0195cc4de6a34e2c46d875be4fc2157a21cdf6"
modified:
LICENSE
README.md
complete.sh
complete_immunerepertoire.xml
experimental_design/experimental_design.r
experimental_design/experimental_design.sh
igblast/igblast.r
igblast/igblast.sh
imgt_loader/imgt_loader.r
imgt_loader/imgt_loader.sh
report_clonality/IGH_junctie_analyse.png
report_clonality/RScript.r
report_clonality/circos/circos.conf
report_clonality/circos/etc/LTe50046.ttf
report_clonality/circos/etc/LTe50048.ttf
report_clonality/circos/etc/LTe50050.ttf
report_clonality/circos/etc/LTe50054.ttf
report_clonality/circos/etc/pragmata.ttf
report_clonality/circos/etc/wingding.ttf
report_clonality/circos/etc_colors.conf
report_clonality/circos/fonts.conf
report_clonality/circos/housekeeping.conf
report_clonality/circos/ideogram.conf
report_clonality/circos/parse-table.conf
report_clonality/circos/ticks.conf
report_clonality/genes.txt
report_clonality/jquery-1.11.0.min.js
report_clonality/naive_cdr3_char.htm
report_clonality/naive_circos.htm
report_clonality/naive_clonality.htm
report_clonality/naive_compare.htm
report_clonality/naive_downloads.htm
report_clonality/naive_gene_freq.htm
report_clonality/naive_heatmap.htm
report_clonality/naive_junction.htm
report_clonality/naive_overview.htm
report_clonality/pure-min.css
report_clonality/r_wrapper.sh
report_clonality/script.js
report_clonality/style.css
report_clonality/tabber.js
added:
CHANGES.md
removed:
.gitattributes
.gitignore
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c .gitattributes
--- a/.gitattributes Thu Feb 25 13:39:50 2021 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,4 +0,0 @@
-# Auto detect text files and perform LF normalization
-* text=auto
-# Convert to LF line endings on checkout.
-*.sh text eol=lf
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c .gitignore
--- a/.gitignore Thu Feb 25 13:39:50 2021 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,2 +0,0 @@
-
-argalaxy\.tar\.gz
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c CHANGES.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CHANGES.md Tue Nov 16 15:42:32 2021 +0000
b
@@ -0,0 +1,3 @@
+version 1.0.1
+---------------
++ Quote some variables to prevent ambiguous redirects
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c LICENSE
--- a/LICENSE Thu Feb 25 13:39:50 2021 +0000
+++ b/LICENSE Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,21 +1,21 @@
-MIT License
-
-Copyright (c) 2018 David van Zessen
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+MIT License
+
+Copyright (c) 2018 David van Zessen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
\ No newline at end of file
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c README.md
--- a/README.md Thu Feb 25 13:39:50 2021 +0000
+++ b/README.md Tue Nov 16 15:42:32 2021 +0000
[
@@ -1,123 +1,123 @@
-# ARGalaxy Immune Repertoire
-This is the GitHub repository for the ARGalaxy Immune repertoire pipeline.  
-The Galaxy tool version can be found [here](https://toolshed.g2.bx.psu.edu/repository/browse_repositories_i_own?sort=name&operation=view_or_manage_repository&id=2e457d63170a4b1c).  
-The docker version can be found [here](https://github.com/ErasmusMC-Bioinformatics/ARGalaxy-docker).
-
-## Overview
-
-In execution order:
-
-#### imgt_loader or igblast
-
-###### imgt_loader (Recommended)
-Start the analysis with [IMGT HighV Quest](https://www.imgt.org/HighV-QUEST/) archives.  
-An IMGT archive file holds [multiple tabular files](http://www.imgt.org/IMGT_vquest/share/textes/imgtvquest.html#output3), this script extracts the specific columns relevant to the analysis from several of these files.
-
-`Rscript imgt_loader.r 1_Summary.txt 3_Nt-sequences.txt 5_AA-sequences.txt 6_Junction.txt 4_IMGT-gapped-AA-sequences.txt /path/to/output.txt`
-
-
-###### igblast
-Start the analysis with FASTA files that are aligned with [igblast](https://www.ncbi.nlm.nih.gov/igblast/).  
-Note that this method will provide less information than the IMGT archive.
-
-`sh igblast.sh /path/to/sequences.fasta species locus /path/to/output.txt`
-
-#### experimental_design
-This script will merge multiple result files (from the last step) into a single file with an additional ID and Replicate column to differentiate the individual samples during the analysis and to allow for analysis across samples.
-
-`Rscript experimental_design.r /path/to/input_1 id_1 [/path/to/input_2 id_2] [/path/to/input_n id_n] /path/to/output`
-
-#### report_clonality
-The R script that creates the analysis result.
-
-`sh r_wrapper.sh /path/to/experimental_design/output.txt /path/to/output_dir/output.html /path/to/output_dir "clonaltype" "species" "locus" "filter_productive" "clonality_method"`  
-
-###### parameters
-Clonaltype:  
-- none
-- Top.V.Gene,CDR3.Seq
-- Top.V.Gene,CDR3.Seq.DNA
-- Top.V.Gene,Top.J.Gene,CDR3.Seq
-- Top.V.Gene,Top.J.Gene,CDR3.Seq.DNA
-- Top.V.Gene,Top.D.Gene,Top.J.Gene,CDR3.Seq.DNA
-
-Species:
-- Homo sapiens functional
-- Homo sapiens
-- Homo sapiens non-functional
-- Bos taurus
-- Bos taurus functional
-- Bos taurus non-functional
-- Camelus dromedarius
-- Camelus dromedarius functional
-- Camelus dromedarius non-functional
-- Canis lupus familiaris
-- Canis lupus familiaris functional
-- Canis lupus familiaris non-functional
-- Danio rerio
-- Danio rerio functional
-- Danio rerio non-functional
-- Macaca mulatta
-- Macaca mulatta functional
-- Macaca mulatta non-functional
-- Mus musculus
-- Mus musculus functional
-- Mus musculus non-functional
-- Mus spretus
-- Mus spretus functional
-- Mus spretus non-functional
-- Oncorhynchus mykiss
-- Oncorhynchus mykiss functional
-- Oncorhynchus mykiss non-functional
-- Ornithorhynchus anatinus
-- Ornithorhynchus anatinus functional
-- Ornithorhynchus anatinus non-functional
-- Oryctolagus cuniculus
-- Oryctolagus cuniculus functional
-- Oryctolagus cuniculus non-functional
-- Rattus norvegicus
-- Rattus norvegicus functional
-- Rattus norvegicus non-functional
-- Sus scrofa
-- Sus scrofa functional
-- Sus scrofa non-functional
-
-Locus:
-- TRA
-- TRD
-- TRG
-- TRB
-- IGH
-- IGI
-- IGK
-- IGL
-
-Filter productive:
-- yes
-- no
-
-Clonality Method:
-- none
-- old
-- boyd
-
-## complete.sh
-This script will run all of the above for you, it will detect if you are using FASTA files or IMGT archives and use the appropriate tools.
-
-`sh complete.sh /path/to/input_1 id_1 [/path/to/input_n id_n] /path/to/out_dir/out.html /path/to/out_dir clonaltype species locus filter_productive clonality_method`  
-See "report_clonality" for the parameter options.
-
-## Dependencies
-- Linux
-- R
-  - gridExtra
-  - ggplot2
-  - plyr
-  - data.table
-  - reshape2
-  - lymphclon
-
-#### optional
-- Circos
-- IgBlast
-- igblastwrp
+# ARGalaxy Immune Repertoire
+This is the GitHub repository for the ARGalaxy Immune repertoire pipeline.  
+The Galaxy tool version can be found [here](https://toolshed.g2.bx.psu.edu/repository/browse_repositories_i_own?sort=name&operation=view_or_manage_repository&id=2e457d63170a4b1c).  
+The docker version can be found [here](https://github.com/ErasmusMC-Bioinformatics/ARGalaxy-docker).
+
+## Overview
+
+In execution order:
+
+#### imgt_loader or igblast
+
+###### imgt_loader (Recommended)
+Start the analysis with [IMGT HighV Quest](https://www.imgt.org/HighV-QUEST/) archives.  
+An IMGT archive file holds [multiple tabular files](http://www.imgt.org/IMGT_vquest/share/textes/imgtvquest.html#output3), this script extracts the specific columns relevant to the analysis from several of these files.
+
+`Rscript imgt_loader.r 1_Summary.txt 3_Nt-sequences.txt 5_AA-sequences.txt 6_Junction.txt 4_IMGT-gapped-AA-sequences.txt /path/to/output.txt`
+
+
+###### igblast
+Start the analysis with FASTA files that are aligned with [igblast](https://www.ncbi.nlm.nih.gov/igblast/).  
+Note that this method will provide less information than the IMGT archive.
+
+`sh igblast.sh /path/to/sequences.fasta species locus /path/to/output.txt`
+
+#### experimental_design
+This script will merge multiple result files (from the last step) into a single file with an additional ID and Replicate column to differentiate the individual samples during the analysis and to allow for analysis across samples.
+
+`Rscript experimental_design.r /path/to/input_1 id_1 [/path/to/input_2 id_2] [/path/to/input_n id_n] /path/to/output`
+
+#### report_clonality
+The R script that creates the analysis result.
+
+`sh r_wrapper.sh /path/to/experimental_design/output.txt /path/to/output_dir/output.html /path/to/output_dir "clonaltype" "species" "locus" "filter_productive" "clonality_method"`  
+
+###### parameters
+Clonaltype:  
+- none
+- Top.V.Gene,CDR3.Seq
+- Top.V.Gene,CDR3.Seq.DNA
+- Top.V.Gene,Top.J.Gene,CDR3.Seq
+- Top.V.Gene,Top.J.Gene,CDR3.Seq.DNA
+- Top.V.Gene,Top.D.Gene,Top.J.Gene,CDR3.Seq.DNA
+
+Species:
+- Homo sapiens functional
+- Homo sapiens
+- Homo sapiens non-functional
+- Bos taurus
+- Bos taurus functional
+- Bos taurus non-functional
+- Camelus dromedarius
+- Camelus dromedarius functional
+- Camelus dromedarius non-functional
+- Canis lupus familiaris
+- Canis lupus familiaris functional
+- Canis lupus familiaris non-functional
+- Danio rerio
+- Danio rerio functional
+- Danio rerio non-functional
+- Macaca mulatta
+- Macaca mulatta functional
+- Macaca mulatta non-functional
+- Mus musculus
+- Mus musculus functional
+- Mus musculus non-functional
+- Mus spretus
+- Mus spretus functional
+- Mus spretus non-functional
+- Oncorhynchus mykiss
+- Oncorhynchus mykiss functional
+- Oncorhynchus mykiss non-functional
+- Ornithorhynchus anatinus
+- Ornithorhynchus anatinus functional
+- Ornithorhynchus anatinus non-functional
+- Oryctolagus cuniculus
+- Oryctolagus cuniculus functional
+- Oryctolagus cuniculus non-functional
+- Rattus norvegicus
+- Rattus norvegicus functional
+- Rattus norvegicus non-functional
+- Sus scrofa
+- Sus scrofa functional
+- Sus scrofa non-functional
+
+Locus:
+- TRA
+- TRD
+- TRG
+- TRB
+- IGH
+- IGI
+- IGK
+- IGL
+
+Filter productive:
+- yes
+- no
+
+Clonality Method:
+- none
+- old
+- boyd
+
+## complete.sh
+This script will run all of the above for you, it will detect if you are using FASTA files or IMGT archives and use the appropriate tools.
+
+`sh complete.sh /path/to/input_1 id_1 [/path/to/input_n id_n] /path/to/out_dir/out.html /path/to/out_dir clonaltype species locus filter_productive clonality_method`  
+See "report_clonality" for the parameter options.
+
+## Dependencies
+- Linux
+- R
+  - gridExtra
+  - ggplot2
+  - plyr
+  - data.table
+  - reshape2
+  - lymphclon
+
+#### optional
+- Circos
+- IgBlast
+- igblastwrp
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c complete.sh
--- a/complete.sh Thu Feb 25 13:39:50 2021 +0000
+++ b/complete.sh Tue Nov 16 15:42:32 2021 +0000
[
@@ -1,6 +1,6 @@
 #!/bin/bash
 set -e
-inputFiles=($1)
+inputFiles=("$1")
 outputDir=$3
 outputFile=$3/index.html #$1
 clonalType=$4
@@ -12,16 +12,16 @@
 html=$2
 dir="$(cd "$(dirname "$0")" && pwd)"
 array=("$@")
-echo "<html><h3>Progress</h3><table><tr><td>info</td></tr>" > $html
-echo "<tr><td>-----------------------------------</td></tr>" >> $html
+echo "<html><h3>Progress</h3><table><tr><td>info</td></tr>" > "$html"
+echo "<tr><td>-----------------------------------</td></tr>" >> "$html"
 
 #mkdir $PWD/igblastdatabase
 #unzip $dir/database.zip -d $PWD/igblastdatabase/
 #export IGDATA=$PWD/igblastdatabase/
 
-echo "python: `which python`"
-echo "R: `which R`"
-echo "Rscript: `which Rscript`"
+echo "python: $(which python)"
+echo "R: $(which R)"
+echo "Rscript: $(which Rscript)"
 
 id=""
 forwardSlash="/"
@@ -32,15 +32,15 @@
 do
  if [[ "$current" != *"$forwardSlash"* ]]; then
  id="$current"
- mergerInput+=($id)
+ mergerInput+=("$id")
  count=1
  continue
  fi
  echo "working on $current"
- fileName=$(basename $current)
+ fileName=$(basename "$current")
  fileName="${fileName%.*}"
  parsedFileName="$PWD/$fileName.parsed"
- f=$(file $current)
+ f=$(file "$current")
  zipType="Zip archive"
  zxType="XZ compressed data"
  echo "filetype of ${id}: $f"
@@ -53,7 +53,7 @@
  echo "<tr><td>Sample $count of patient $id is not a zip file so assuming fasta/fastq, using igBLASTn</td></tr>" >> $html
  bash ${dir}/igblast/igblast.sh $current "$species" $locus $parsedFileName
  fi
- mergerInput+=($parsedFileName)
+ mergerInput+=("$parsedFileName")
  count=$((count+1))
 done
 
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c complete_immunerepertoire.xml
--- a/complete_immunerepertoire.xml Thu Feb 25 13:39:50 2021 +0000
+++ b/complete_immunerepertoire.xml Tue Nov 16 15:42:32 2021 +0000
b
b'@@ -1,199 +1,199 @@\n-<tool id="complete_immunerepertoire_igg" name="Immune Repertoire pipeline" version="1.0">\r\n-\t<requirements>\r\n-        <requirement type="package" version="2.3">r-gridextra</requirement>\r\n-        <requirement type="package" version="3.0.0">r-ggplot2</requirement>\r\n-        <requirement type="package" version="1.8.4">r-plyr</requirement>\r\n-        <requirement type="package" version="1.11.4">r-data.table</requirement>\r\n-        <requirement type="package" version="1.4.3">r-reshape2</requirement>\r\n-        <requirement type="package" version="1.3.0">r-lymphclon</requirement>\r\n-        <requirement type="package" version="1.2.4">r-stringi</requirement>\r\n-        <requirement type="package" version="1.3.1">r-stringr</requirement>\r\n-        <requirement type="package" version="0.69.6">circos</requirement>\r\n-        <requirement type="package" version="0.23">circos-tools</requirement>\r\n-    </requirements>\r\n-\t<description> </description>\r\n-\t<command interpreter="bash">\r\n-complete.sh "\r\n-#for $i, $f in enumerate($patients)\r\n-\t"${f.id}"\r\n-\t#for $j, $g in enumerate($f.samples)\r\n-\t\t${g.sample}\r\n-\t#end for\r\n-#end for\r\n-" $out_file $out_file.files_path "$clonaltype"\r\n-#if $gene_selection.source == "imgtdb"\t\t\r\n-\t"${gene_selection.species}" "${gene_selection.locus}" $filterproductive ${clonality_method}\r\n-#else\r\n-\t"custom" "${gene_selection.vgenes};${gene_selection.dgenes};${gene_selection.jgenes}" $filterproductive $clonality_method\r\n-#end if\r\n-\t</command>\r\n-\t<inputs>\r\n-\t\t<repeat name="patients" title="Donor" min="1" default="1">\r\n-\t\t\t<repeat name="samples" title="Replicate" min="1" default="1">\r\n-\t\t\t\t\t<param name="sample" type="data" label="Replicate to Process" />\r\n-\t\t\t</repeat>\r\n-\t\t\t<param name="id" type="text" label="ID" />\r\n-\t\t</repeat>\r\n-\t\t<param name="clonaltype" type="select" label="Clonal Type Definition">\r\n-\t\t\t<option value="none">Don\'t remove duplicates based on clonaltype</option>\r\n-\t\t\t<option value="Top.V.Gene,CDR3.Seq">Top.V.Gene, CDR3 (AA)</option>\r\n-\t\t\t<option value="Top.V.Gene,CDR3.Seq.DNA">Top.V.Gene, CDR3 (nt)</option>\r\n-\t\t\t<option value="Top.V.Gene,Top.J.Gene,CDR3.Seq">Top.V.Gene, Top.J.Gene, CDR3 (AA)</option>\r\n-\t\t\t<option value="Top.V.Gene,Top.J.Gene,CDR3.Seq.DNA">Top.V.Gene, Top.J.Gene, CDR3 (nt)</option>\r\n-\t\t\t<option value="Top.V.Gene,Top.D.Gene,Top.J.Gene,CDR3.Seq.DNA">Top.V.Gene, Top.D.Gene, Top.J.Gene, CDR3 (nt)</option>\r\n-\t\t</param>\r\n-\t\t\r\n-\t\t<conditional name="gene_selection" >\r\n-\t\t\t<param name="source" type="select" label="Order of V(D)J genes in graphs" help="" >\r\n-\t\t\t\t\t<option value="imgtdb" selected="true">IMGT-DB</option>\r\n-\t\t\t\t\t<option value="custom">User defined</option>\r\n-\t\t\t</param>\r\n-\t\t\t<when value="imgtdb">\r\n-\t\t\t\t<param name="species" type="select" label="Species">\r\n-\t\t\t\t\t<option value="Homo sapiens functional">Homo sapiens functional</option>\r\n-\t\t\t\t\t<option value="Homo sapiens">Homo sapiens</option>\r\n-\t\t\t\t\t<option value="Homo sapiens non-functional">Homo sapiens non-functional</option>\r\n-\t\t\t\t\t<option value="Bos taurus">Bos taurus</option>\r\n-\t\t\t\t\t<option value="Bos taurus functional">Bos taurus functional</option>\r\n-\t\t\t\t\t<option value="Bos taurus non-functional">Bos taurus non-functional</option>\r\n-\t\t\t\t\t<option value="Camelus dromedarius">Camelus dromedarius</option>\r\n-\t\t\t\t\t<option value="Camelus dromedarius functional">Camelus dromedarius functional</option>\r\n-\t\t\t\t\t<option value="Camelus dromedarius non-functional">Camelus dromedarius non-functional</option>\r\n-\t\t\t\t\t<option value="Canis lupus familiaris">Canis lupus familiaris</option>\r\n-\t\t\t\t\t<option value="Canis lupus familiaris functional">Canis lupus familiaris functional</option>\r\n-\t\t\t\t\t<option value="Canis lupus familiaris non-functional">Canis lupus familiaris non-functional</option>\r\n-\t\t\t\t\t<option value="Danio rerio">Danio rerio</option>\r\n-\t\t\t\t\t<option value="Danio rerio functional">Danio rerio functional</option>\r\n-\t\t\t\t\t<option value="Danio rerio non-functional">Danio rerio non-functional</option>\r\n-\t\t\t\t\t<option value="Ma'..b'in the file names.\n+\n+-----\n+\n+**Donor and replicates**\n+\n+The immune repertoire pipeline can analyse files from multiple donors in parallel. Therefore for each analysed donor an ID has to be given. This ID can only contain letters, numbers and _. Spaces in the ID give an error when running the immune repertoire pipeline. In the default setting of the immune repertoire pipeline one donor consisting out of one replicate can be uploaded. However, multiple replicates per donor can be uploaded by using the "Add new replicate" button. In addition, multiple donors van be added by using the insert donor button. The multiple replicate option can be used when multiple data files from the same donor are available. For the calculation of the clonality score using the algorithm described by Boyd et al (PMID: 20161664) at least 3 replicates have to be included per donor. \n+\n+-----\n+\n+**Clonal Type Definition**\n+\n+Allows the selection of a single sequence per clone. Different definitions of a clone can be chosen. \n+\n+.. class:: infomark\n+\n+Note: The first sequence (in the data set) of each clone is always included in the analysis. This means that altering the data order (by for instance sorting) can change the sequence which is included in the analysis and therefore slightly influence results. \n+\n+-----\n+\n+**Order of V(D)J genes in graphs**\n+\n+This setting allows you to order the V(D)J genes in the graphs in a user defined order. When using the default \xe2\x80\x9cIMGT-DB\xe2\x80\x9d all genes in the V, D an J gene graphs will be ordered based on their IMGT numbering. By selecting user defined the order of the V, D and J genes in the graphs can be altered according to the users personal settings. For simplifying of visualizing the genes in the chromosomal order the order of V, D and J genes on the chromosome in are included at the bottom of this help page. For any other ordering please provide the order of gene names divided by commas. \n+\n+-----\n+\n+**Species**\n+\n+Enter the species of the replicates(s) you would like to analyse.\n+\n+-----\n+\n+**Locus**\n+\n+A dropdown menu to select the immune receptor locus to be analysed.\n+\n+-----\n+\n+**Remove unproductive sequences from graphs**\n+\n+This filter provides the option to only include productive sequences or both productive and unproductive sequences in the graphs.\n+\n+-----\n+\n+**Shared clonal types / clonality**\n+\n+This filter allows you do identify overlapping sequences between different replicates. If you only upload a single replicate from a replicate no sequences overlap or clonality can be determined and therefore the \xe2\x80\x9cdo not determine overlap\xe2\x80\x9d option should be selection. The \xe2\x80\x9cDetermine the number of sequences that share the same clonal type between the replicates\xe2\x80\x9d option allows the user to determine the number of overlapping sequences (based on the clonal type definition defined in the \xe2\x80\x98clonal type definition filter\xe2\x80\x99) between different replicates. This can be used to for instance look at different time point in the same donor to changes in the repertoire. When three or more replicates of the same blood same are amplified and sequences in parallel, the \xe2\x80\x9cdetermine clonality of the donor\xe2\x80\x9d function can be used to calculate the number of overlapping sequences as well as the clonality score as described by Boyd et al, PMID: 20161664.\n+\n+-----\n+\n+**Execute**\n+\n+Upon pressing the execute button a new analysis is added to your history (right side of the page). Initially this analysis will be grey, after initiating the analysis colour of the analysis in the history will change to yellow. When the analysis is finished it will turn green in the history. Now the analysis can be opened by clicking on the eye icon on the analysis of interest. When an analysis turns red an error has occurred when running the analysis. If you click on the analysis title additional information can be found on the analysis. In addition a bug icon appears. Here more information on the error can be found.\n+]]>\n+\t</help>\n+\n+</tool>\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c experimental_design/experimental_design.r
--- a/experimental_design/experimental_design.r Thu Feb 25 13:39:50 2021 +0000
+++ b/experimental_design/experimental_design.r Tue Nov 16 15:42:32 2021 +0000
[
@@ -1,43 +1,43 @@
-args <- commandArgs(trailingOnly = TRUE)
-
-print(args)
-
-inputs = args[1:(length(args) - 1)]
-output = args[length(args)]
-
-current.id = ""
-counter = 1
-
-result = NULL
-
-for(current in inputs){
- if(grepl("/", current)){ #its a path to a file
- print(paste("Adding file", counter, "to", current.id))
- dat = read.table(current, sep="\t", header=T, quote="", fill=T)
-
- if(nrow(dat) == 0){
- print(paste(counter, "of", current.id, "has no sequences, skipping"))
- next
- }
-
- #IMGT check
-
- dat$Sample = current.id
- dat$Replicate = counter
-
- if(is.null(result)){
- result = dat[NULL,]
- }
-
- result = rbind(result, dat)
-
- counter = counter + 1
-
- } else { #its an ID of a patient
- print(paste("New patient", current))
- current.id = current
- counter = 1
- }
-}
-
-write.table(result, output, sep="\t", quote=F, row.names=F, col.names=T)
+args <- commandArgs(trailingOnly = TRUE)
+
+print(args)
+
+inputs = args[1:(length(args) - 1)]
+output = args[length(args)]
+
+current.id = ""
+counter = 1
+
+result = NULL
+
+for(current in inputs){
+ if(grepl("/", current)){ #its a path to a file
+ print(paste("Adding file", counter, "to", current.id))
+ dat = read.table(current, sep="\t", header=T, quote="", fill=T)
+
+ if(nrow(dat) == 0){
+ print(paste(counter, "of", current.id, "has no sequences, skipping"))
+ next
+ }
+
+ #IMGT check
+
+ dat$Sample = current.id
+ dat$Replicate = counter
+
+ if(is.null(result)){
+ result = dat[NULL,]
+ }
+
+ result = rbind(result, dat)
+
+ counter = counter + 1
+
+ } else { #its an ID of a patient
+ print(paste("New patient", current))
+ current.id = current
+ counter = 1
+ }
+}
+
+write.table(result, output, sep="\t", quote=F, row.names=F, col.names=T)
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c igblast/igblast.r
--- a/igblast/igblast.r Thu Feb 25 13:39:50 2021 +0000
+++ b/igblast/igblast.r Tue Nov 16 15:42:32 2021 +0000
[
@@ -1,56 +1,56 @@
-args <- commandArgs(trailingOnly = TRUE)
-
-infile=args[1]
-outfile=args[2]
-
-blasted = read.table(infile, header=T, sep="\t", fill=T, stringsAsFactors=F, comment.char="")
-
-blasted$ID = 1:nrow(blasted)
-blasted$VDJ.Frame = "Out-of-frame"
-
-search = blasted$inFrame == "true" & blasted$noStop == "false"
-if(sum(search) > 0){
-  blasted[search ,]$VDJ.Frame = "In-frame with stop codon"
-}
-
-search = blasted$inFrame == "true" & blasted$noStop == "true"
-if(sum(search) > 0){
-  blasted[search ,]$VDJ.Frame = "In-frame"
-}
-
-blasted$Top.V.Gene = blasted$vSegment
-blasted$Top.D.Gene = blasted$dSegment
-blasted$Top.J.Gene = blasted$jSegment
-blasted$CDR1.Seq = blasted$cdr1aa
-blasted$CDR1.Length = nchar(blasted$CDR1.Seq)
-blasted$CDR2.Seq = blasted$cdr2aa
-blasted$CDR2.Length = nchar(blasted$CDR2.Seq)
-blasted$CDR3.Seq = blasted$cdr3aa
-blasted$CDR3.Length = nchar(blasted$CDR3.Seq)
-blasted$CDR3.Seq.DNA = blasted$cdr3nt
-blasted$CDR3.Length.DNA = nchar(blasted$CDR3.Seq.DNA)
-blasted$Strand = "+/-"
-blasted$CDR3.Found.How = "found"
-
-search = blasted$cdr3nt == ""
-if(sum(search) > 0){
-  blasted[search,]$CDR3.Found.How = "NOT_FOUND"
-}
-
-blasted$AA.JUNCTION = blasted$CDR3.Seq
-
-n = c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "Functionality", "AA.JUNCTION")
-
-n[!(n %in% names(blasted))]
-
-blasted = blasted[,c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "AA.JUNCTION")]
-
-names(blasted) = c("frequency.count", "ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION")
-
-#duplicate rows based on frequency.count
-blasted = blasted[rep(seq_len(nrow(blasted)), blasted$frequency.count),]
-blasted$ID = 1:nrow(blasted)
-
-blasted = blasted[,c("ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION")]
-
-write.table(blasted, outfile, quote=F, sep="\t", row.names=F, col.names=T)
+args <- commandArgs(trailingOnly = TRUE)
+
+infile=args[1]
+outfile=args[2]
+
+blasted = read.table(infile, header=T, sep="\t", fill=T, stringsAsFactors=F, comment.char="")
+
+blasted$ID = 1:nrow(blasted)
+blasted$VDJ.Frame = "Out-of-frame"
+
+search = blasted$inFrame == "true" & blasted$noStop == "false"
+if(sum(search) > 0){
+  blasted[search ,]$VDJ.Frame = "In-frame with stop codon"
+}
+
+search = blasted$inFrame == "true" & blasted$noStop == "true"
+if(sum(search) > 0){
+  blasted[search ,]$VDJ.Frame = "In-frame"
+}
+
+blasted$Top.V.Gene = blasted$vSegment
+blasted$Top.D.Gene = blasted$dSegment
+blasted$Top.J.Gene = blasted$jSegment
+blasted$CDR1.Seq = blasted$cdr1aa
+blasted$CDR1.Length = nchar(blasted$CDR1.Seq)
+blasted$CDR2.Seq = blasted$cdr2aa
+blasted$CDR2.Length = nchar(blasted$CDR2.Seq)
+blasted$CDR3.Seq = blasted$cdr3aa
+blasted$CDR3.Length = nchar(blasted$CDR3.Seq)
+blasted$CDR3.Seq.DNA = blasted$cdr3nt
+blasted$CDR3.Length.DNA = nchar(blasted$CDR3.Seq.DNA)
+blasted$Strand = "+/-"
+blasted$CDR3.Found.How = "found"
+
+search = blasted$cdr3nt == ""
+if(sum(search) > 0){
+  blasted[search,]$CDR3.Found.How = "NOT_FOUND"
+}
+
+blasted$AA.JUNCTION = blasted$CDR3.Seq
+
+n = c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "Functionality", "AA.JUNCTION")
+
+n[!(n %in% names(blasted))]
+
+blasted = blasted[,c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "AA.JUNCTION")]
+
+names(blasted) = c("frequency.count", "ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION")
+
+#duplicate rows based on frequency.count
+blasted = blasted[rep(seq_len(nrow(blasted)), blasted$frequency.count),]
+blasted$ID = 1:nrow(blasted)
+
+blasted = blasted[,c("ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION")]
+
+write.table(blasted, outfile, quote=F, sep="\t", row.names=F, col.names=T)
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c imgt_loader/imgt_loader.r
--- a/imgt_loader/imgt_loader.r Thu Feb 25 13:39:50 2021 +0000
+++ b/imgt_loader/imgt_loader.r Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,132 +1,132 @@\n-args <- commandArgs(trailingOnly = TRUE)\r\n-options(show.error.locations = TRUE)\r\n-\r\n-summ.file = args[1]\r\n-sequences.file = args[2]\r\n-aa.file = args[3]\r\n-junction.file = args[4]\r\n-gapped.aa.file = args[5]\r\n-out.file = args[6]\r\n-\r\n-print(summ.file)\r\n-print(out.file)\r\n-\r\n-summ = read.table(summ.file, sep="\\t", header=T, quote="", fill=T)\r\n-sequences = read.table(sequences.file, sep="\\t", header=T, quote="", fill=T)\r\n-aa = read.table(aa.file, sep="\\t", header=T, quote="", fill=T)\r\n-gapped.aa = read.table(gapped.aa.file, sep="\\t", header=T, quote="", fill=T)\r\n-junction = read.table(junction.file, sep="\\t", header=T, quote="", fill=T)\r\n-\r\n-print(paste("nrow(summ)", nrow(summ)))\r\n-\r\n-write.table(summ, out.file, sep="\\t", quote=F, row.names=F, col.names=T)\r\n-\r\n-fix_column_names = function(df){\r\n-    if("V.DOMAIN.Functionality" %in% names(df)){\r\n-        names(df)[names(df) == "V.DOMAIN.Functionality"] = "Functionality"\r\n-        print("found V.DOMAIN.Functionality, changed")\r\n-    }\r\n-    if("V.DOMAIN.Functionality.comment" %in% names(df)){\r\n-        names(df)[names(df) == "V.DOMAIN.Functionality.comment"] = "Functionality.comment"\r\n-        print("found V.DOMAIN.Functionality.comment, changed")\r\n-    }\r\n-    return(df)\r\n-}\r\n-\r\n-print_missing_columns = function(df, cols, label=""){\r\n-\tcols_in_df = cols %in% names(df)\r\n-\tif(sum(!cols_in_df) > 0){\r\n-\t\tprint("Columns are missing from summary file, don\'t have:")\r\n-\t\tprint(cols[!cols_in_df])\r\n-\t} else {\r\n-\t\tprint(paste("No missing columns for", label))\r\n-\t}\r\n-}\r\n-\r\n-summ = fix_column_names(summ)\r\n-sequences = fix_column_names(sequences)\r\n-aa = fix_column_names(aa)\r\n-gapped.aa = fix_column_names(gapped.aa)\r\n-junction = fix_column_names(junction)\r\n-\r\n-print(paste("nrow(summ)", nrow(summ)))\r\n-\r\n-old_summary_columns=c(\'Sequence.ID\',\'JUNCTION.frame\',\'V.GENE.and.allele\',\'D.GENE.and.allele\',\'J.GENE.and.allele\',\'CDR1.IMGT.length\',\'CDR2.IMGT.length\',\'CDR3.IMGT.length\',\'Orientation\')\r\n-old_sequence_columns=c(\'CDR1.IMGT\',\'CDR2.IMGT\',\'CDR3.IMGT\')\r\n-old_junction_columns=c(\'JUNCTION\')\r\n-\r\n-added_summary_columns=c(\'Functionality\',\'V.REGION.identity..\',\'V.REGION.identity.nt\',\'D.REGION.reading.frame\',\'AA.JUNCTION\',\'Functionality.comment\',\'Sequence\')\r\n-added_sequence_columns=c(\'FR1.IMGT\',\'FR2.IMGT\',\'FR3.IMGT\',\'CDR3.IMGT\',\'JUNCTION\',\'J.REGION\',\'FR4.IMGT\')\r\n-\r\n-added_junction_columns=c(\'P3.V.nt.nb\',\'N.REGION.nt.nb\',\'N1.REGION.nt.nb\',\'P5.D.nt.nb\',\'P3.D.nt.nb\',\'N2.REGION.nt.nb\',\'P5.J.nt.nb\',\'X3.V.REGION.trimmed.nt.nb\',\'X5.D.REGION.trimmed.nt.nb\',\'X3.D.REGION.trimmed.nt.nb\',\'X5.J.REGION.trimmed.nt.nb\',\'N.REGION\',\'N1.REGION\',\'N2.REGION\')\r\n-added_junction_columns=c(added_junction_columns, \'P5.D1.nt.nb\', \'P3.D1.nt.nb\', \'N2.REGION.nt.nb\', \'P5.D2.nt.nb\', \'P3.D2.nt.nb\', \'N3.REGION.nt.nb\', \'P5.D3.nt.nb\', \'P3.D2.nt.nb\', \'N4.REGION.nt.nb\', \'X5.D1.REGION.trimmed.nt.nb\', \'X3.D1.REGION.trimmed.nt.nb\', \'X5.D2.REGION.trimmed.nt.nb\', \'X3.D2.REGION.trimmed.nt.nb\', \'X5.D3.REGION.trimmed.nt.nb\', \'X3.D3.REGION.trimmed.nt.nb\', \'D.REGION.nt.nb\', \'D1.REGION.nt.nb\', \'D2.REGION.nt.nb\', \'D3.REGION.nt.nb\')\r\n-\r\n-minimum_columns=c("Sequence.ID","JUNCTION.frame","V.GENE.and.allele","D.GENE.and.allele","J.GENE.and.allele")\r\n-print_missing_columns(summ, minimum_columns)\r\n-out=summ[,minimum_columns]\r\n-\r\n-print(paste("nrow(summ)", nrow(summ)))\r\n-print(paste("nrow(aa)", nrow(aa)))\r\n-\r\n-out[,"CDR1.Seq"] = aa[,"CDR1.IMGT"]\r\n-out[,"CDR1.Length"] = summ[,"CDR1.IMGT.length"]\r\n-\r\n-out[,"CDR2.Seq"] = aa[,"CDR2.IMGT"]\r\n-out[,"CDR2.Length"] = summ[,"CDR2.IMGT.length"]\r\n-\r\n-out[,"CDR3.Seq"] = gapped.aa[,"CDR3.IMGT"]\r\n-out[,"CDR3.Length"] = summ[,"CDR3.IMGT.length"]\r\n-\r\n-out[,"CDR3.IMGT"] = out[,"CDR3.Seq"]\r\n-\r\n-out[,"CDR3.Seq.DNA"] = sequences[,"CDR3.IMGT"]\r\n-out[,"CDR3.Length.DNA"] = nchar(as.character(out[,"CDR3.Seq.DNA"]))\r\n-out[,"Strand"] = summ[,"Orientation"]\r\n-out[,"CDR3.Found.How"] = "a"\r\n-\r\n-out[,added_summary_columns] = summ[,added_summary_columns]\r\n-\r\n-out[,added_sequence_columns] = aa[,added_sequence_columns]\r\n-\r\n-out[,a'..b'th"] = summ[,"CDR1.IMGT.length"]\n+\n+out[,"CDR2.Seq"] = aa[,"CDR2.IMGT"]\n+out[,"CDR2.Length"] = summ[,"CDR2.IMGT.length"]\n+\n+out[,"CDR3.Seq"] = gapped.aa[,"CDR3.IMGT"]\n+out[,"CDR3.Length"] = summ[,"CDR3.IMGT.length"]\n+\n+out[,"CDR3.IMGT"] = out[,"CDR3.Seq"]\n+\n+out[,"CDR3.Seq.DNA"] = sequences[,"CDR3.IMGT"]\n+out[,"CDR3.Length.DNA"] = nchar(as.character(out[,"CDR3.Seq.DNA"]))\n+out[,"Strand"] = summ[,"Orientation"]\n+out[,"CDR3.Found.How"] = "a"\n+\n+out[,added_summary_columns] = summ[,added_summary_columns]\n+\n+out[,added_sequence_columns] = aa[,added_sequence_columns]\n+\n+out[,added_junction_columns] = junction[,added_junction_columns]\n+\n+out[,"Top V Gene"] = gsub(".* ", "", gsub("\\\\*.*", "", summ[,"V.GENE.and.allele"]))\n+out[,"Top D Gene"] = gsub(".* ", "", gsub("\\\\*.*", "", summ[,"D.GENE.and.allele"]))\n+out[,"Top J Gene"] = gsub(".* ", "", gsub("\\\\*.*", "", summ[,"J.GENE.and.allele"]))\n+\n+out = out[!grepl("Less than", summ[,"V.GENE.and.allele"]),]\n+out = out[!grepl("Less than", summ[,"D.GENE.and.allele"]),]\n+out = out[!grepl("Less than", summ[,"J.GENE.and.allele"]),]\n+\n+out = out[,c(\'Sequence.ID\',\'JUNCTION.frame\',\'Top V Gene\',\'Top D Gene\',\'Top J Gene\',\'CDR1.Seq\',\'CDR1.Length\',\'CDR2.Seq\',\'CDR2.Length\',\'CDR3.Seq\',\'CDR3.Length\',\'CDR3.Seq.DNA\',\'CDR3.Length.DNA\',\'Strand\',\'CDR3.Found.How\',\'Functionality\',\'V.REGION.identity..\',\'V.REGION.identity.nt\',\'D.REGION.reading.frame\',\'AA.JUNCTION\',\'Functionality.comment\',\'Sequence\',\'FR1.IMGT\',\'FR2.IMGT\',\'FR3.IMGT\',\'CDR3.IMGT\',\'JUNCTION\',\'J.REGION\',\'FR4.IMGT\',\'P3.V.nt.nb\',\'N.REGION.nt.nb\',\'N1.REGION.nt.nb\',\'P5.D.nt.nb\',\'P3.D.nt.nb\',\'N2.REGION.nt.nb\',\'P5.J.nt.nb\',\'X3.V.REGION.trimmed.nt.nb\',\'X5.D.REGION.trimmed.nt.nb\',\'X3.D.REGION.trimmed.nt.nb\',\'X5.J.REGION.trimmed.nt.nb\',\'N.REGION\',\'N1.REGION\',\'N2.REGION\', \'P5.D1.nt.nb\', \'P3.D1.nt.nb\', \'N2.REGION.nt.nb\', \'P5.D2.nt.nb\', \'P3.D2.nt.nb\', \'N3.REGION.nt.nb\', \'P5.D3.nt.nb\', \'P3.D2.nt.nb\', \'N4.REGION.nt.nb\', \'X5.D1.REGION.trimmed.nt.nb\', \'X3.D1.REGION.trimmed.nt.nb\', \'X5.D2.REGION.trimmed.nt.nb\', \'X3.D2.REGION.trimmed.nt.nb\', \'X5.D3.REGION.trimmed.nt.nb\', \'X3.D3.REGION.trimmed.nt.nb\', \'D.REGION.nt.nb\', \'D1.REGION.nt.nb\', \'D2.REGION.nt.nb\', \'D3.REGION.nt.nb\')]\n+\n+names(out) = c(\'ID\',\'VDJ Frame\',\'Top V Gene\',\'Top D Gene\',\'Top J Gene\',\'CDR1 Seq\',\'CDR1 Length\',\'CDR2 Seq\',\'CDR2 Length\',\'CDR3 Seq\',\'CDR3 Length\',\'CDR3 Seq DNA\',\'CDR3 Length DNA\',\'Strand\',\'CDR3 Found How\',\'Functionality\',\'V-REGION identity %\',\'V-REGION identity nt\',\'D-REGION reading frame\',\'AA JUNCTION\',\'Functionality comment\',\'Sequence\',\'FR1-IMGT\',\'FR2-IMGT\',\'FR3-IMGT\',\'CDR3-IMGT\',\'JUNCTION\',\'J-REGION\',\'FR4-IMGT\',\'P3V-nt nb\',\'N-REGION-nt nb\',\'N1-REGION-nt nb\',\'P5D-nt nb\',\'P3D-nt nb\',\'N2-REGION-nt nb\',\'P5J-nt nb\',\'3V-REGION trimmed-nt nb\',\'5D-REGION trimmed-nt nb\',\'3D-REGION trimmed-nt nb\',\'5J-REGION trimmed-nt nb\',\'N-REGION\',\'N1-REGION\',\'N2-REGION\', \'P5.D1.nt.nb\', \'P3.D1.nt.nb\', \'N2.REGION.nt.nb\', \'P5.D2.nt.nb\', \'P3.D2.nt.nb\', \'N3.REGION.nt.nb\', \'P5.D3.nt.nb\', \'P3.D2.nt.nb\', \'N4.REGION.nt.nb\', \'X5.D1.REGION.trimmed.nt.nb\', \'X3.D1.REGION.trimmed.nt.nb\', \'X5.D2.REGION.trimmed.nt.nb\', \'X3.D2.REGION.trimmed.nt.nb\', \'X5.D3.REGION.trimmed.nt.nb\', \'X3.D3.REGION.trimmed.nt.nb\', \'D.REGION.nt.nb\', \'D1.REGION.nt.nb\', \'D2.REGION.nt.nb\', \'D3.REGION.nt.nb\')\n+\n+out[,"VDJ Frame"] = as.character(out[,"VDJ Frame"])\n+fltr = out[,"VDJ Frame"] == "in-frame"\n+if(any(fltr, na.rm=T)){\n+\tout[fltr, "VDJ Frame"] = "In-frame"\n+}\n+fltr = out[,"VDJ Frame"] == "null"\n+if(any(fltr, na.rm = T)){\n+\tout[fltr, "VDJ Frame"] = "Out-of-frame"\n+}\n+fltr = out[,"VDJ Frame"] == "out-of-frame"\n+if(any(fltr, na.rm = T)){\n+\tout[fltr, "VDJ Frame"] = "Out-of-frame"\n+}\n+fltr = out[,"VDJ Frame"] == ""\n+if(any(fltr, na.rm = T)){\n+\tout[fltr, "VDJ Frame"] = "Out-of-frame"\n+}\n+\n+for(col in c(\'Top V Gene\',\'Top D Gene\',\'Top J Gene\')){\n+\tout[,col] = as.character(out[,col])\n+\tfltr = out[,col] == ""\n+\tfltr[is.na(fltr)] = T\n+\tif(any(fltr, na.rm = T)){\n+\t\tout[fltr,col] = "NA"\n+\t}\n+}\n+\n+write.table(out, out.file, sep="\\t", quote=F, row.names=F, col.names=T)\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/RScript.r
--- a/report_clonality/RScript.r Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/RScript.r Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,1044 +1,1044 @@\n-# ---------------------- load/install packages ----------------------\r\n-\r\n-if (!("gridExtra" %in% rownames(installed.packages()))) {\r\n-  install.packages("gridExtra", repos="http://cran.xl-mirror.nl/") \r\n-}\r\n-library(gridExtra)\r\n-if (!("ggplot2" %in% rownames(installed.packages()))) {\r\n-  install.packages("ggplot2", repos="http://cran.xl-mirror.nl/") \r\n-}\r\n-library(ggplot2)\r\n-if (!("plyr" %in% rownames(installed.packages()))) {\r\n-  install.packages("plyr", repos="http://cran.xl-mirror.nl/") \r\n-}\r\n-library(plyr)\r\n-\r\n-if (!("data.table" %in% rownames(installed.packages()))) {\r\n-  install.packages("data.table", repos="http://cran.xl-mirror.nl/") \r\n-}\r\n-library(data.table)\r\n-\r\n-if (!("reshape2" %in% rownames(installed.packages()))) {\r\n-  install.packages("reshape2", repos="http://cran.xl-mirror.nl/")\r\n-}\r\n-library(reshape2)\r\n-\r\n-if (!("lymphclon" %in% rownames(installed.packages()))) {\r\n-  install.packages("lymphclon", repos="http://cran.xl-mirror.nl/")\r\n-}\r\n-library(lymphclon)\r\n-\r\n-# ---------------------- parameters ----------------------\r\n-\r\n-args <- commandArgs(trailingOnly = TRUE)\r\n-\r\n-infile = args[1] #path to input file\r\n-outfile = args[2] #path to output file\r\n-outdir = args[3] #path to output folder (html/images/data)\r\n-clonaltype = args[4] #clonaltype definition, or \'none\' for no unique filtering\r\n-ct = unlist(strsplit(clonaltype, ","))\r\n-species = args[5] #human or mouse\r\n-locus = args[6] # IGH, IGK, IGL, TRB, TRA, TRG or TRD\r\n-filterproductive = ifelse(args[7] == "yes", T, F) #should unproductive sequences be filtered out? (yes/no)\r\n-clonality_method = args[8]\r\n-\r\n-\r\n-# ---------------------- Data preperation ----------------------\r\n-\r\n-print("Report Clonality - Data preperation")\r\n-\r\n-inputdata = read.table(infile, sep="\\t", header=TRUE, fill=T, comment.char="", stringsAsFactors=F)\r\n-\r\n-inputdata$Sample = as.character(inputdata$Sample)\r\n-\r\n-\r\n-print(paste("nrows: ", nrow(inputdata)))\r\n-\r\n-setwd(outdir)\r\n-\r\n-# remove weird rows\r\n-inputdata = inputdata[inputdata$Sample != "",]\r\n-\r\n-print(paste("nrows: ", nrow(inputdata)))\r\n-\r\n-#remove the allele from the V,D and J genes\r\n-inputdata$Top.V.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.V.Gene)\r\n-inputdata$Top.D.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.D.Gene)\r\n-inputdata$Top.J.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.J.Gene)\r\n-\r\n-print(paste("nrows: ", nrow(inputdata)))\r\n-\r\n-#filter uniques\r\n-inputdata.removed = inputdata[NULL,]\r\n-\r\n-print(paste("nrows: ", nrow(inputdata)))\r\n-\r\n-inputdata$clonaltype = 1:nrow(inputdata)\r\n-\r\n-#keep track of the count of sequences in samples or samples/replicates for the front page overview\r\n-input.sample.count = data.frame(data.table(inputdata)[, list(All=.N), by=c("Sample")])\r\n-input.rep.count = data.frame(data.table(inputdata)[, list(All=.N), by=c("Sample", "Replicate")])\r\n-\r\n-PRODF = inputdata\r\n-UNPROD = inputdata\r\n-if(filterproductive){\r\n-  if("Functionality" %in% colnames(inputdata)) { # "Functionality" is an IMGT column\r\n-    #PRODF = inputdata[inputdata$Functionality == "productive" | inputdata$Functionality == "productive (see comment)", ]\r\n-    PRODF = inputdata[inputdata$Functionality %in% c("productive (see comment)","productive"),]\r\n-    \r\n-    PRODF.count = data.frame(data.table(PRODF)[, list(count=.N), by=c("Sample")])\r\n-    \r\n-    UNPROD = inputdata[inputdata$Functionality %in% c("unproductive (see comment)","unproductive"), ]\r\n-  } else {\r\n-    PRODF = inputdata[inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" , ]\r\n-    UNPROD = inputdata[!(inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" ), ]\r\n-  }\r\n-}\r\n-\r\n-for(i in 1:nrow(UNPROD)){\r\n-    if(!is.numeric(UNPROD[i,"CDR3.Length"])){\r\n-        UNPROD[i,"CDR3.Length"] = 0\r\n-    }\r\n-}\r\n-\r\n-prod.sample.count = data.frame(data.table(PRODF)[, list(Productive=.N), by=c("Sample")])\r\n-prod.rep'..b'Afreq = AAfreq[!is.na(AAfreq$order.aa),]\n+\n+AAfreqplot = ggplot(AAfreq)\n+AAfreqplot = AAfreqplot + geom_bar(aes( x=factor(reorder(Var1, order.aa)), y = freq_perc, fill = Sample), stat=\'identity\', position=\'dodge\' )\n+AAfreqplot = AAfreqplot + annotate("rect", xmin = 0.5, xmax = 2.5, ymin = 0, ymax = Inf, fill = "red", alpha = 0.2)\n+AAfreqplot = AAfreqplot + annotate("rect", xmin = 3.5, xmax = 4.5, ymin = 0, ymax = Inf, fill = "blue", alpha = 0.2)\n+AAfreqplot = AAfreqplot + annotate("rect", xmin = 5.5, xmax = 6.5, ymin = 0, ymax = Inf, fill = "blue", alpha = 0.2)\n+AAfreqplot = AAfreqplot + annotate("rect", xmin = 6.5, xmax = 7.5, ymin = 0, ymax = Inf, fill = "red", alpha = 0.2)\n+AAfreqplot = AAfreqplot + ggtitle("Amino Acid Composition in the CDR3") + xlab("Amino Acid, from Hydrophilic (left) to Hydrophobic (right)") + ylab("Percentage") + scale_fill_manual(values=sample.colors)\n+AAfreqplot = AAfreqplot + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank())\n+\n+png("AAComposition.png",width = 1280, height = 720)\n+AAfreqplot\n+dev.off()\n+\n+ggsave("AAComposition.pdf", AAfreqplot, width=12, height=7)\n+\n+write.table(AAfreq, "AAComposition.txt" , sep="\\t",quote=F,na="-",row.names=F,col.names=T)\n+\n+# ---------------------- AA median CDR3 length ----------------------\n+\n+median.aa.l = data.frame(data.table(PRODF)[, list(median=as.double(median(as.numeric(.SD$CDR3.Length, na.rm=T), na.rm=T))), by=c("Sample")])\n+write.table(median.aa.l, "AAMedianBySample.txt" , sep="\\t",quote=F,na="-",row.names=F,col.names=F)\n+\n+if(clonaltype != "none"){\n+\t#generate the "Sequences that are present in more than one replicate" dataset\n+\tclonaltype.in.replicates = inputdata\n+\tclonaltype.in.replicates = clonaltype.in.replicates[clonaltype.in.replicates$Functionality %in% c("productive (see comment)","productive"),]\n+\tclonaltype.in.replicates = clonaltype.in.replicates[!(is.na(clonaltype.in.replicates$ID) | is.na(clonaltype.in.replicates$Top.V.Gene) | is.na(clonaltype.in.replicates$Top.J.Gene)),]\n+\tclonaltype = unlist(strsplit(clonaltype, ","))\n+\n+\tclonaltype.in.replicates$clonaltype = do.call(paste, c(clonaltype.in.replicates[clonaltype], sep = ":"))\n+\n+\tclonaltype.in.replicates = clonaltype.in.replicates[!duplicated(clonaltype.in.replicates$clonaltype),]\n+\n+\tclonaltype = clonaltype[-which(clonaltype == "Sample")]\n+\n+\tclonaltype.in.replicates$clonaltype = do.call(paste, c(clonaltype.in.replicates[clonaltype], sep = ":"))\n+\tclonaltype.in.replicates = clonaltype.in.replicates[,c("clonaltype","Replicate", "ID", "Sequence", "Sample")]\n+\n+\n+\twrite.table(clonaltype.in.replicates, "clonaltypes_replicates_before_table.txt" , sep="\\t",quote=F,na="-",row.names=F,col.names=T)\n+\n+\tclonaltype.counts = data.frame(table(clonaltype.in.replicates$clonaltype))\n+\n+\twrite.table(clonaltype.counts, "clonaltypes_counts.txt" , sep="\\t",quote=F,na="-",row.names=F,col.names=T)\n+\n+\tnames(clonaltype.counts) = c("clonaltype", "coincidence")\n+\n+\tclonaltype.counts = clonaltype.counts[clonaltype.counts$coincidence > 1,]\n+\n+\tclonaltype.in.replicates = clonaltype.in.replicates[clonaltype.in.replicates$clonaltype %in% clonaltype.counts$clonaltype,]\n+\tclonaltype.in.replicates = merge(clonaltype.in.replicates, clonaltype.counts, by="clonaltype")\n+\tclonaltype.in.replicates = clonaltype.in.replicates[order(-clonaltype.in.replicates$coincidence, clonaltype.in.replicates$clonaltype, clonaltype.in.replicates$Replicate),c("coincidence","clonaltype", "Sample", "Replicate", "ID", "Sequence")]\n+\n+\n+\twrite.table(clonaltype.in.replicates, "clonaltypes_replicates.txt" , sep="\\t",quote=F,na="-",row.names=F,col.names=T)\n+} else {\n+\tcat("No clonaltype", file="clonaltypes_replicates_before_table.txt")\n+\tcat("No clonaltype", file="clonaltypes_counts.txt")\n+\tcat("No clonaltype", file="clonaltypes_replicates.txt")\n+}\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n+\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/circos.conf
--- a/report_clonality/circos/circos.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/circos.conf Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,147 +1,147 @@
-
-# This is the main configuration file for the Circos tableviewer. This file also
-# depends on colors.conf (definition on basic colors), ideogram.conf (size and spacing of
-# row/cell segments), and ticks.conf (tick spacing and label definitions - these are turned
-# off by default).
-#
-# In addition to these configuration files, the bin/make-conf script creates 
-# colors.conf (colors of row/col segments) and colors_percentile.conf (colors based on
-# cell percentile values). These configuration files are also included via the <<include>> directive.
-#
-# Some elements of the output image are toggled off by default (e.g. row and column highlights, 
-# anchor links to segment labels, tick marks).
-
-<colors>
-<<include DATA_DIR/etc_colors.conf>>
-<<include DATA_DIR/colors.conf>>
-<<include DATA_DIR/colors_percentile.conf>>
-</colors>
-
-<fonts>
-<<include DATA_DIR/fonts.conf>>
-</fonts>
-
-<<include DATA_DIR/ideogram.conf>>
-<<include DATA_DIR/ticks.conf>>
-
-karyotype = DATA_DIR/karyotype.txt
-
-<image>
-dir   = DATA_DIR
-file  = circos.png
-24bit = yes
-svg   = yes
-png   = yes
-# radius of inscribed circle in image
-radius         = 1500p
-background     = white
-# by default angle=0 is at 3 o'clock position
-angle_offset   = -180
-auto_alpha_colors = yes
-auto_alpha_steps  = 5
-</image>
-
-chromosomes_units              = 10
-chromosomes_display_default    = yes
-chromosomes_order_by_karyotype = yes
-
-<highlights>
-
-show = yes
-
-<highlight>
-show = no
-file = DATA_DIR/row.txt
-r0 = 1r+200p
-r1 = 1r+220p
-stroke_color = black
-stroke_thickness = 2
-</highlight>
-
-<highlight>
-show = no
-file = DATA_DIR/col.txt
-r0 = 1r+230p
-r1 = 1r+250p
-stroke_color = black
-stroke_thickness = 2
-</highlight>
-
-<highlight>
-show = no
-file = DATA_DIR/all.txt
-r0 = 1r+10p
-r1 = 1r+35p
-stroke_color = black
-stroke_thickness = 2
-</highlight>
-
-</highlights>
-
-<plots>
-
-<plot>
-type = text
-file = DATA_DIR/segmentlabel.txt
-label_font = condensedbold
-color = black
-label_size = 30p
-r0   = 1r+50p
-r1   = 1r+500p
-rpadding = 0p
-padding = 0p
-
-show_links     = no
-link_dims      = 0p,10p,32p,10p,5p
-link_thickness = 3p
-link_color     = black
-
-label_snuggle             = no
-# shift label up to its height in pixels in the angular direction
-max_snuggle_distance      = 2r
-snuggle_sampling          = 2
-snuggle_tolerance         = 0.25r
-
-</plot>
-
-</plots>
-
-<links>
-
-<link cellvalues>
-ribbon        = yes
-flat          = yes
-file          = DATA_DIR/cells.txt
-bezier_radius = 0.0r
-radius        = 0.999r-15p
-thickness     = 1
-color         = grey
-stroke_color     = black
-stroke_thickness = 1
-<rules>
-
-<rule>
-importance = 95
-condition  = 1
-radius1    = 0.999r+2p
-flow       = continue
-</rule>
-
-</rules>
-
-</link>
-
-</links>
-
-#anglestep       = 0.5
-#minslicestep    = 10
-#beziersamples   = 40
-#debug           = no
-#warnings        = no
-#imagemap        = no
-
-#units_ok = bupr
-#units_nounit = n
-
-<<include DATA_DIR/housekeeping.conf>>
-
+
+# This is the main configuration file for the Circos tableviewer. This file also
+# depends on colors.conf (definition on basic colors), ideogram.conf (size and spacing of
+# row/cell segments), and ticks.conf (tick spacing and label definitions - these are turned
+# off by default).
+#
+# In addition to these configuration files, the bin/make-conf script creates 
+# colors.conf (colors of row/col segments) and colors_percentile.conf (colors based on
+# cell percentile values). These configuration files are also included via the <<include>> directive.
+#
+# Some elements of the output image are toggled off by default (e.g. row and column highlights, 
+# anchor links to segment labels, tick marks).
+
+<colors>
+<<include DATA_DIR/etc_colors.conf>>
+<<include DATA_DIR/colors.conf>>
+<<include DATA_DIR/colors_percentile.conf>>
+</colors>
+
+<fonts>
+<<include DATA_DIR/fonts.conf>>
+</fonts>
+
+<<include DATA_DIR/ideogram.conf>>
+<<include DATA_DIR/ticks.conf>>
+
+karyotype = DATA_DIR/karyotype.txt
+
+<image>
+dir   = DATA_DIR
+file  = circos.png
+24bit = yes
+svg   = yes
+png   = yes
+# radius of inscribed circle in image
+radius         = 1500p
+background     = white
+# by default angle=0 is at 3 o'clock position
+angle_offset   = -180
+auto_alpha_colors = yes
+auto_alpha_steps  = 5
+</image>
+
+chromosomes_units              = 10
+chromosomes_display_default    = yes
+chromosomes_order_by_karyotype = yes
+
+<highlights>
+
+show = yes
+
+<highlight>
+show = no
+file = DATA_DIR/row.txt
+r0 = 1r+200p
+r1 = 1r+220p
+stroke_color = black
+stroke_thickness = 2
+</highlight>
+
+<highlight>
+show = no
+file = DATA_DIR/col.txt
+r0 = 1r+230p
+r1 = 1r+250p
+stroke_color = black
+stroke_thickness = 2
+</highlight>
+
+<highlight>
+show = no
+file = DATA_DIR/all.txt
+r0 = 1r+10p
+r1 = 1r+35p
+stroke_color = black
+stroke_thickness = 2
+</highlight>
+
+</highlights>
+
+<plots>
+
+<plot>
+type = text
+file = DATA_DIR/segmentlabel.txt
+label_font = condensedbold
+color = black
+label_size = 30p
+r0   = 1r+50p
+r1   = 1r+500p
+rpadding = 0p
+padding = 0p
+
+show_links     = no
+link_dims      = 0p,10p,32p,10p,5p
+link_thickness = 3p
+link_color     = black
+
+label_snuggle             = no
+# shift label up to its height in pixels in the angular direction
+max_snuggle_distance      = 2r
+snuggle_sampling          = 2
+snuggle_tolerance         = 0.25r
+
+</plot>
+
+</plots>
+
+<links>
+
+<link cellvalues>
+ribbon        = yes
+flat          = yes
+file          = DATA_DIR/cells.txt
+bezier_radius = 0.0r
+radius        = 0.999r-15p
+thickness     = 1
+color         = grey
+stroke_color     = black
+stroke_thickness = 1
+<rules>
+
+<rule>
+importance = 95
+condition  = 1
+radius1    = 0.999r+2p
+flow       = continue
+</rule>
+
+</rules>
+
+</link>
+
+</links>
+
+#anglestep       = 0.5
+#minslicestep    = 10
+#beziersamples   = 40
+#debug           = no
+#warnings        = no
+#imagemap        = no
+
+#units_ok = bupr
+#units_nounit = n
+
+<<include DATA_DIR/housekeeping.conf>>
+
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/etc_colors.conf
--- a/report_clonality/circos/etc_colors.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/etc_colors.conf Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,142 +1,142 @@
-# RGB color definition. Colors are refered to within configuration files
-# by their name. In order to use a color, you must define it here. 
-# 
-# e.g. if you really must use 'bisque', then add
-#
-# bisque = 255,228,196
-#
-# Many useful colors are already defined. In general, given a HUE, these
-# colors are defined
-#
-# vlHUE (very light HUE, e.g. vlred)
-# lHUE  (light HUE, e.g. red)
-# HUE   (e.g. red)
-# dHUE  (dark HUE, e.g. dred)
-#
-# In addition to hues, two other color groups are defined. 
-#
-# - cytogenetic band colors (e.g. gposNNN, acen, stalk, etc.) which
-#   correspond to colors on ideogram bands
-# - UCSC chromosome color palette (e.g. chrNN, chrUn, chrNA)
-
-optblue   = 55,133,221
-optgreen  = 55,221,125
-optyellow = 221,215,55
-optorange = 221,164,55
-optred    = 221,55,55
-optviolet = 145,55,221
-optpurple = 219,55,221
-
-white     = 255,255,255
-vvvvlgrey = 250,250,250
-vvvlgrey  = 240,240,240
-vvlgrey   = 230,230,230
-vlgrey    = 220,220,220
-lgrey     = 210,210,210
-grey      = 200,200,200
-dgrey     = 170,170,170
-vdgrey    = 140,140,140
-vvdgrey   = 100,100,100
-vvvdgrey  = 70,70,70
-vvvvdgrey = 40,40,40
-black     = 0,0,0
-
-vlred   = 255,193,200
-lred    = 255,122,137
-red     = 247,42,66
-dred    = 205,51,69
-
-vlgreen = 204,255,218
-lgreen  = 128,255,164
-green   = 51,204,94
-dgreen  = 38,153,71
-
-vlblue  = 128,176,255
-lblue   = 64,137,255
-blue    = 54,116,217
-dblue   = 38,82,153
-
-vlpurple= 242,128,255
-lpurple = 236,64,255
-purple  = 189,51,204
-dpurple = 118,32,128
-
-vlyellow = 255,253,202
-lyellow  = 255,252,150
-yellow   = 255,255,0
-dyellow  = 191,186,48
-
-lime     = 186,255,0
-
-vlorange = 255,228,193
-lorange  = 255,187,110
-orange   = 255,136,0
-dorange  = 221,143,55
-
-# karyotype colors
-
-gpos100 = 0,0,0
-gpos    = 0,0,0
-gpos75  = 130,130,130
-gpos66  = 160,160,160
-gpos50  = 200,200,200
-gpos33  = 210,210,210
-gpos25  = 200,200,200
-gvar    = 220,220,220
-gneg    = 255,255,255
-acen    = 217,47,39
-stalk   = 100,127,164
-
-# others
-
-select = 135,177,255
-
-# new york times cmyk-safe
-
-# roygbiv - normal
-nyt_blue   = 104,152,178
-nyt_green  = 137,129,96
-nyt_yellow = 241,221,117
-nyt_orange = 230,146,57
-nyt_red    = 217,47,39
-
-# chromosome color map (UCSC) 
-
-chr1 = 153,102,0
-chr2 = 102,102,0
-chr3 = 153,153,30
-chr4 = 204,0,0
-chr5 = 255,0,0
-chr6 = 255,0,204
-chr7 = 255,204,204
-chr8 = 255,153,0
-chr9 = 255,204,0
-chr10 = 255,255,0
-chr11 = 204,255,0
-chr12 = 0,255,0
-chr13 = 53,128,0
-chr14 = 0,0,204
-chr15 = 102,153,255
-chr16 = 153,204,255
-chr17 = 0,255,255
-chr18 = 204,255,255
-chr19 = 153,0,204
-chr20 = 204,51,255
-chr21 = 204,153,255
-chr22 = 102,102,102
-chr23 = 153,153,153
-chrX  = 153,153,153
-chr24 = 204,204,204
-chrY = 204,204,204
-chrM = 204,204,153
-chr0 = 204,204,153
-chrUn = 121,204,61
-chrNA = 255,255,255
-
-
-
-
-
-
-
-
+# RGB color definition. Colors are refered to within configuration files
+# by their name. In order to use a color, you must define it here. 
+# 
+# e.g. if you really must use 'bisque', then add
+#
+# bisque = 255,228,196
+#
+# Many useful colors are already defined. In general, given a HUE, these
+# colors are defined
+#
+# vlHUE (very light HUE, e.g. vlred)
+# lHUE  (light HUE, e.g. red)
+# HUE   (e.g. red)
+# dHUE  (dark HUE, e.g. dred)
+#
+# In addition to hues, two other color groups are defined. 
+#
+# - cytogenetic band colors (e.g. gposNNN, acen, stalk, etc.) which
+#   correspond to colors on ideogram bands
+# - UCSC chromosome color palette (e.g. chrNN, chrUn, chrNA)
+
+optblue   = 55,133,221
+optgreen  = 55,221,125
+optyellow = 221,215,55
+optorange = 221,164,55
+optred    = 221,55,55
+optviolet = 145,55,221
+optpurple = 219,55,221
+
+white     = 255,255,255
+vvvvlgrey = 250,250,250
+vvvlgrey  = 240,240,240
+vvlgrey   = 230,230,230
+vlgrey    = 220,220,220
+lgrey     = 210,210,210
+grey      = 200,200,200
+dgrey     = 170,170,170
+vdgrey    = 140,140,140
+vvdgrey   = 100,100,100
+vvvdgrey  = 70,70,70
+vvvvdgrey = 40,40,40
+black     = 0,0,0
+
+vlred   = 255,193,200
+lred    = 255,122,137
+red     = 247,42,66
+dred    = 205,51,69
+
+vlgreen = 204,255,218
+lgreen  = 128,255,164
+green   = 51,204,94
+dgreen  = 38,153,71
+
+vlblue  = 128,176,255
+lblue   = 64,137,255
+blue    = 54,116,217
+dblue   = 38,82,153
+
+vlpurple= 242,128,255
+lpurple = 236,64,255
+purple  = 189,51,204
+dpurple = 118,32,128
+
+vlyellow = 255,253,202
+lyellow  = 255,252,150
+yellow   = 255,255,0
+dyellow  = 191,186,48
+
+lime     = 186,255,0
+
+vlorange = 255,228,193
+lorange  = 255,187,110
+orange   = 255,136,0
+dorange  = 221,143,55
+
+# karyotype colors
+
+gpos100 = 0,0,0
+gpos    = 0,0,0
+gpos75  = 130,130,130
+gpos66  = 160,160,160
+gpos50  = 200,200,200
+gpos33  = 210,210,210
+gpos25  = 200,200,200
+gvar    = 220,220,220
+gneg    = 255,255,255
+acen    = 217,47,39
+stalk   = 100,127,164
+
+# others
+
+select = 135,177,255
+
+# new york times cmyk-safe
+
+# roygbiv - normal
+nyt_blue   = 104,152,178
+nyt_green  = 137,129,96
+nyt_yellow = 241,221,117
+nyt_orange = 230,146,57
+nyt_red    = 217,47,39
+
+# chromosome color map (UCSC) 
+
+chr1 = 153,102,0
+chr2 = 102,102,0
+chr3 = 153,153,30
+chr4 = 204,0,0
+chr5 = 255,0,0
+chr6 = 255,0,204
+chr7 = 255,204,204
+chr8 = 255,153,0
+chr9 = 255,204,0
+chr10 = 255,255,0
+chr11 = 204,255,0
+chr12 = 0,255,0
+chr13 = 53,128,0
+chr14 = 0,0,204
+chr15 = 102,153,255
+chr16 = 153,204,255
+chr17 = 0,255,255
+chr18 = 204,255,255
+chr19 = 153,0,204
+chr20 = 204,51,255
+chr21 = 204,153,255
+chr22 = 102,102,102
+chr23 = 153,153,153
+chrX  = 153,153,153
+chr24 = 204,204,204
+chrY = 204,204,204
+chrM = 204,204,153
+chr0 = 204,204,153
+chrUn = 121,204,61
+chrNA = 255,255,255
+
+
+
+
+
+
+
+
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/fonts.conf
--- a/report_clonality/circos/fonts.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/fonts.conf Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,8 +1,8 @@
-
-default       = LTe50046.ttf
-normal        = LTe50046.ttf
-bold          = LTe50048.ttf
-condensed     = LTe50050.ttf
-condensedbold = LTe50054.ttf
-mono          = pragmata.ttf
-glyph         = wingding.ttf
+
+default       = LTe50046.ttf
+normal        = LTe50046.ttf
+bold          = LTe50048.ttf
+condensed     = LTe50050.ttf
+condensedbold = LTe50054.ttf
+mono          = pragmata.ttf
+glyph         = wingding.ttf
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/housekeeping.conf
--- a/report_clonality/circos/housekeeping.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/housekeeping.conf Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,230 +1,230 @@\n-# Housekeeping parameters, which must be included\r\n-# at the top level of the configuration.\r\n-#\r\n-# Don\'t adjust these, unless you know what you are doing, or\r\n-# feel like experimenting\r\n-\r\n-anglestep       = 0.5\r\n-minslicestep    = 10\r\n-beziersamples   = 40 # bezier curves are drawn piece-wise\r\n-                     # linear, with this many samples\r\n-debug           = no\r\n-warnings        = no\r\n-imagemap        = no\r\n-paranoid        = yes\r\n-\r\n-units_ok        = bupr\r\n-units_nounit    = n\r\n-\r\n-# \\t  tab\r\n-# \\s  any whitespace\r\n-file_delim = \\s\r\n-# collapse adjacent whitespace\r\n-# e.g. two spaces are treated as one, not as a missing field\r\n-file_delim_collapse = yes\r\n-\r\n-# Record delimiter for parameter values that are lists, such as\r\n-# hs1:0.25;hs2:0.10. By default, both ; and , are accepted\r\n-#\r\n-# e.g. hs1:0.25,hs2:0.10\r\n-#      hs1:0.25;hs2:0.10\r\n-list_record_delim = \\s*[;,]\\s*\r\n-# Field delimiter specifies the assignment operator, e.g.\r\n-list_field_delim  = \\s*[:=]\\s*]\r\n-\r\n-# Rule fields and other parameters accept var(VARIABLE) syntax\r\n-# to reference parameters of data points. By default, if\r\n-# VARIABLE does not exist, Circos quits with an error, unless\r\n-# the skip parameter below is set.\r\n-#\r\n-# This feature is useful when you have data that don\'t always\r\n-# have the same options. For example,\r\n-#\r\n-# chr1 10 20 a=10\r\n-# chr1 50 60 b=10\r\n-skip_missing_expression_vars = no\r\n-\r\n-# In old versions, data point parameters were referenced using _NAME_\r\n-# syntax. This has been replaced with var(NAME). The _NAME_ syntax is\r\n-# deprecated (for example, it will break when dealing with fields like\r\n-# gene_a_1). If you must use it, set the parameter below.\r\n-\r\n-legacy_underline_expression_syntax = no\r\n-\r\n-# Magnification factor for text in SVG files.\r\n-svg_font_scale = 1.3\r\n-\r\n-# default font - pick one of the keys from <fonts> block\r\n-default_font   = default\r\n-# default font name is used for SVG files for cases where\r\n-# the font definition does not include a name\r\n-# see etc/fonts.conf for details\r\n-default_font_name  = Arial\r\n-default_font_color = black\r\n-\r\n-# default color for cases when color is not specified\r\n-default_color  = black\r\n-\r\n-<guides>\r\n-thickness      = 1\r\n-size           = 5\r\n-type           = outline\r\n-<object>\r\n-all            = no\r\n-ideogram       = no\r\n-ideogram_label = no\r\n-</object>\r\n-<color>\r\n-default = lblue\r\n-text    = red\r\n-</color>\r\n-</guides>\r\n-\r\n-# Receive debug messages about actions\r\n-#\r\n-# Comma-separated list of one or more of the following\r\n-#\r\n-# summary   - top level indications of what\'s happening\r\n-# chrfilter - ideogram filtering (parsing \'chromosomes\' parameter)\r\n-# conf      - configuration file\r\n-# counter   - plot counters\r\n-# spacing   - ideogram spacing\r\n-# scale     - ideogram scaling\r\n-# ideogram  - ideogram reporting\r\n-# anglepos  - report angle positions for base pair coordinates\r\n-# zoom      - zoom regions\r\n-# layers    - specific plot z-layers\r\n-# rules     - dynamic rules\r\n-# text      - text tracks\r\n-# heatmap   - detailed heatmap reports\r\n-# brush     - brushes\r\n-# color     - color allocation and definition\r\n-# ticks     - tick marks and labels\r\n-# timers    - some benchmark timings\r\n-# cache     - caches\r\n-# _all      - turn on all groups\r\n-debug_group = summary\r\n-\r\n-# run length duration after which timing report is automatically\r\n-# generated at the end of the run\r\n-debug_auto_timer_report = 30\r\n-\r\n-debug_word_separator = " "\r\n-debug_undef_text     = _undef_\r\n-debug_empty_text     = _emptylist_\r\n-\r\n-# parameters passed to functions can be\r\n-# validated to check consistency. turn this\r\n-# off to speed things up\r\n-debug_validate       = yes\r\n-\r\n-# Reformat numbers in debug output for consistency.\r\n-# If you have a lot of debug output (e.g. -debug_group _all)\r\n-# this will slow things considerably.\r\n-debug_output_tidy    = no\r\n-\r\n-# pixel sub-sampling for text tracks\r\n-text_pixel_subsampling = 1\r\n-# array or span - use \'span\' if applying snugg'..b"e a lot of debug output (e.g. -debug_group _all)\n+# this will slow things considerably.\n+debug_output_tidy    = no\n+\n+# pixel sub-sampling for text tracks\n+text_pixel_subsampling = 1\n+# array or span - use 'span' if applying snuggle refinement\n+text_snuggle_method    = array\n+\n+# restrict names of parameters?\n+# if 'yes' then only certain named parameters are allowed within\n+# blocks and option fields for data\n+#\n+# if 'no' then you can define parameters with any name what-so-ever,\n+# useful if you wish to define states or labels for your data\n+#\n+# e.g. hs1 10 20 0.5 paired=yes,special=no,myvar=0.5\n+#\n+# ordinarily, 'paired', 'special' and 'myvar' would not be allowed\n+restrict_parameter_names = no\n+\n+# Unless set to 'yes', parameter names will be converted to lowercase\n+case_sensitive_parameter_names = no\n+\n+# The location of configuration and data files will be guessed if\n+# (a) configuration file is not specified\n+# (b) data file paths are relative\n+# Circos will look in the following locations, where\n+# SCRIPTPATH is the location of the 'circos' script (e.g. /usr/local/bin) and\n+# CWD is the current directory (where the 'circos' command was executed).\n+# All paths under CWD will be scanned first, then under SCRIPTPATH.\n+#\n+# {CWD,SCRIPTPATH}/.\n+# {CWD,SCRIPTPATH}/..\n+# {CWD,SCRIPTPATH}/etc/\n+# {CWD,SCRIPTPATH}/../etc\n+# {CWD,SCRIPTPATH}/../../etc\n+# {CWD,SCRIPTPATH}/data\n+# {CWD,SCRIPTPATH}/../data\n+# {CWD,SCRIPTPATH}/../../data\n+#\n+# If you would like to prepend this list with custom directories for\n+# data files, enter them as a CSV list here\n+# data_path = /home/martink/circos-tutorials\n+# If the cache is static, it will always be used and will not be updated\n+# unless it is deleted (use -color_cache_rebuild on the command line).\n+# Otherwise, the cache will be updated if\n+#  - config file is newer than cache file\n+#  - list of colors in config file is different than in cache file\n+color_cache_static = yes\n+color_cache_file   = circos.colorlist\n+color_lists_use    = yes\n+# if the directory is not defined, then the system will guess a temporary\n+# directory compatible with your operating system (using File::Temp)\n+# color_cache_dir    = /tmp\n+\n+# Make some functions faster. This should always be 'yes' unless you\n+# want things to run slowly or suspect deep issues.\n+memoize = yes\n+\n+# This is a debugging flag and should be set to 'no' for regular use\n+quit_on_dump = yes\n+\n+offsets = 0,0\n+\n+# Maximum number of image and data elements. If these are exceeded,\n+# Circos will quit with an error. These values are arbitrary, but in\n+# my experience images with significantly more data points than this\n+# are uninterpretable.\n+\n+max_ticks            = 5000\n+max_ideograms        = 200\n+max_links            = 25000\n+max_points_per_track = 25000\n+\n+# What to do when data is found for an ideogram that does not appear in the karyotype file.\n+\n+# Set to 'skip' or 'exit'\n+undefined_ideogram = skip\n+\n+# Number of iterations for determining ideogram sizes when\n+# relative scale is used.\n+relative_scale_iterations = 10\n+\n+# min, max, average, mode             - based on scale statistics of ALL ideograms\n+# minadj, maxadj, averageadj, modeadj - based on scale statistics of adjacent ideograms\n+#\n+# You can specify a fixed scale for spacing using a floating value\n+#\n+# e.g. relative_scale_spacing = 1.5\n+relative_scale_spacing    = mode\n+\n+# What to do with out-of-range data. Either 'clip' or 'hide'\n+data_out_of_range = clip\n+\n+# Track default directory\n+track_defaults = etc/tracks\n+\n+# Use round brushes for elements with thickness greater than round_brush_min_thickness?\n+round_brush_use           = yes\n+round_brush_min_thickness = 5\n+\n+# Use anti aliasing, where possible? I've seen bugs in some gd libraries\n+# that cause artefacts to appear when lines are anti-aliased. If your\n+# image contains unexpected elements, turn aa off.\n+anti_aliasing = yes\n+\n+# A parameter that must be set. Checks whether this file was imported.\n+housekeeping = yes\n"
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/ideogram.conf
--- a/report_clonality/circos/ideogram.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/ideogram.conf Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,37 +1,37 @@
-
-<ideogram>
-
-<spacing>
-
-default = 0.0025r
-
-</spacing>
-
-thickness        = 50p
-stroke_thickness = 0
-# ideogram border color
-stroke_color     = black
-fill             = yes
-# the default chromosome color is set here and any value
-# defined in the karyotype file overrides it
-fill_color       = black
-
-# fractional radius position of chromosome ideogram within image
-radius         = 0.85r
-show_label     = no
-label_font     = condensedbold
-label_radius   = 0.99r
-label_size     = 36
-
-# cytogenetic bands
-band_stroke_thickness = 2
-
-# show_bands determines whether the outline of cytogenetic bands
-# will be seen
-show_bands            = no
-# in order to fill the bands with the color defined in the karyotype
-# file you must set fill_bands
-fill_bands            = yes
-
-</ideogram>
-
+
+<ideogram>
+
+<spacing>
+
+default = 0.0025r
+
+</spacing>
+
+thickness        = 50p
+stroke_thickness = 0
+# ideogram border color
+stroke_color     = black
+fill             = yes
+# the default chromosome color is set here and any value
+# defined in the karyotype file overrides it
+fill_color       = black
+
+# fractional radius position of chromosome ideogram within image
+radius         = 0.85r
+show_label     = no
+label_font     = condensedbold
+label_radius   = 0.99r
+label_size     = 36
+
+# cytogenetic bands
+band_stroke_thickness = 2
+
+# show_bands determines whether the outline of cytogenetic bands
+# will be seen
+show_bands            = no
+# in order to fill the bands with the color defined in the karyotype
+# file you must set fill_bands
+fill_bands            = yes
+
+</ideogram>
+
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/parse-table.conf
--- a/report_clonality/circos/parse-table.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/parse-table.conf Tue Nov 16 15:42:32 2021 +0000
b
b"@@ -1,391 +1,391 @@\n-\r\n-################################################################\r\n-#\r\n-# This is a fairly complicated configuration file. Take your time in\r\n-# experimenting and adjust one thing at a time :)\r\n-#\r\n-################################################################\r\n-\r\n-max_col_num = 200\r\n-max_row_num = 200\r\n-\r\n-# skip this many rows before reading in header and data\r\n-skip_rows        = 0\r\n-\r\n-# is there a header line that identifies the columns?\r\n-header           = yes\r\n-\r\n-# is there a row that specifies the order of columns in the image?\r\n-# - if so, this must be the first line of the header\r\n-# - if the line exists (col_order_row=yes), employ the use_col_order_row to toggle whether it is used\r\n-col_order_row     = no\r\n-use_col_order_row = no\r\n-\r\n-# is there a row that specifies the size of columns in the image?\r\n-# - if so, this must be the next line of the header\r\n-# - if the line exists (col_size_row=yes), employ the use_col_size_row to toggle whether it is used\r\n-col_size_row     = no\r\n-use_col_size_row = no\r\n-\r\n-# is there a row that specifies the color of each column segment in the image?\r\n-# - if so, this must be the next line of the header\r\n-# - if the line exists (col_color_row=yes), employ the use_col_color_row to toggle whether it is used\r\n-col_color_row     = no\r\n-use_col_color_row = no\r\n-\r\n-# is there a column that specifies the order of rows in the image?\r\n-# - if so, this must be the first column\r\n-# - if the line exists (row_order_col=yes), employ the use_row_order_col to toggle whether it is used\r\n-row_order_col     = no\r\n-use_row_order_col = no\r\n-\r\n-# is there a column that specifies the color of each row segment in the image?\r\n-# - if so, this must be the second column\r\n-# - if the line exists (row_color_col=yes), employ the use_row_color_col to toggle whether it is used\r\n-row_color_col     = no\r\n-use_row_color_col = no\r\n-\r\n-# if you do not have a column/row that explicitly defines order\r\n-# of segments in the image, you can set this here. Use one (or more) of \r\n-# these values to specify how segments should be ordered.\r\n-# - row_major (row segments first, then column)\r\n-# - col_major (col segments first, then row)\r\n-# - ascii     (asciibetic order)\r\n-# - row_size  (total of rows for the segment - useful if the segment has both row and column contributions)\r\n-# - col_size  (total of colums for the segment - useful if the segment has both row and column contributions)\r\n-# - row_to_col_ratio (ratio of total of rows to columns for the segment)\r\n-# - col_to_row_ratio (ratio of total of rows to columns for the segment)\r\n-# - size_asc  (size, in ascending order)\r\n-# - size_desc (size, in descending order)\r\n-\r\n-#segment_order = row_to_col_ratio,size_desc # col_major,size_desc\r\n-#segment_order = size_desc\r\n-segment_order = row_major,size_desc\r\n-#segment_order = ascii\r\n-#segment_order = file:etc/order-by-table-remapped.txt\r\n-#segment_order  = size_desc,row_to_col_ratio\r\n-segment_color_order = row_major,size_desc\r\n-\r\n-# values for segments can be normalized if the use_segment_normalization is set to yes\r\n-use_segment_normalization = no\r\n-\r\n-# the normalization function can be one of the following, and is applied to\r\n-# all values that correspond to the segment's label\r\n-# total - sum of cell values for the segment label (row and col)\r\n-# average - average of cell values for the segment label (row and col)\r\n-# row_total, row_average - sum or average for cell values for the segment row\r\n-# col_total, col_average - sum or average for cell values for the segment col\r\n-# row_size, col_size, total_size - based on the optional size column (see col_size_row and row_size_col above)\r\n-# VALUE - segments are scaled to a constant VALUE (e.g. 1000)\r\n-segment_normalization_function = 1000\r\n-\r\n-# normalization can be performed by either altering the actual data values or\r\n-# by applying a visual scaling of the segments. When 'value' is used, the data\r\n-# is changed. When 'visual' is used, then a chromosome"..b' values or only unique values when\n+# calculating percentiles\n+percentile_unique_only = yes\n+\n+# use a function, f(X), to remap cell values when calculating percentiles\n+# for the purpose of color mapping. This allows you to apply a remapping to how\n+# colors are calculated, without actually changing the values. The remap\n+# applies only if percentile_method=value\n+\n+# percentile_remap = sqrt(X)\n+\n+# Which cell value set to use for percentile color mapping\n+# raw - original values\n+# filtered - values that pass min/max filters\n+# scaled - filtered values that have been scaled if use_scaling is set\n+percentile_data_domain = raw\n+\n+<colors>\n+h0 = 0\n+s0 = 1\n+v0 = 1\n+h1 = 300\n+s1 = 1\n+v1 = 1\n+</colors>\n+\n+# You can control the color and stroke of ribbons for each\n+# quartile (q1, q2, q3, q4). Any values defined here will\n+# overwrite colors determined by remapping. \n+#\n+# For example, if you have a lot of cells and wish to attenuate\n+# the visibility of ribbons associated with small values, you can\n+# set cell_q1_color=vvlgrey,cell_q1_nostroke=yes to fade the\n+# ribbons into the background.\n+\n+#cell_q1_color    = vvlgrey\n+#cell_q2_color    = vlgrey\n+#cell_q3_color    = lgrey\n+#cell_q4_color    = red\n+#cell_q1_nostroke = yes\n+#cell_q2_nostroke = yes\n+#cell_q3_nostroke = yes\n+#cell_q4_nostroke = yes\n+\n+# cell value multiplier, required when all data is small (e.g. <1), in which\n+# case set the multiplier to something like 1000 because Circos\n+# works only with integer scales\n+\n+data_mult = 1\n+\n+################################################################\n+# Segment labels can be optionally set to a size that is\n+# proportional to the size of the segment. Set min/max size\n+# values here. If this line is commented out, then the label\n+# size is determined by the circos.conf file used to draw the image\n+\n+#segment_label_size_range       = 60,60\n+\n+# progression controls how fast the label size changes from\n+# min to max (larger value of progression means values close to max\n+# are achieved for smaller segments)\n+\n+segment_label_size_progression = 4\n+\n+segment_label_uppercase = no\n+\n+################################################################\n+# Segment colors can be specified in the data file (in this\n+# case use row_color_col and col_color_row), otherwise colors\n+# are interpolated within an HSV range. Color interpolation can be\n+# done in two ways: based on segment index (interpolation steps through\n+# colors uniformly for each segment) and total size (interpolation\n+# steps through colors in proportion to segment size).\n+\n+<segment_colors>\n+interpolate_type = size # size or count\n+h0 = 0\n+s0 = 0.8\n+v0 = 0.9\n+h1 = 300\n+s1 = 0.8\n+v1 = 0.9\n+</segment_colors>\n+\n+################################################################\n+# Shorten the labels of segments. Specify whether to do this\n+# with shorten_text=yes|no parameter and provide regular\n+# expressions in string_replace which define the text to\n+# replace. \n+\n+shorten_text = yes\n+\n+<string_replace>\n+IGH = \n+</string_replace>\n+\n+# exit on any error\n+strict_sanity = yes\n+\n+################################################################\n+# if the segment_prefix is set, then rows and columns will be\n+# renamed to internal fields segment_prefix + DIGIT\n+\n+#segment_prefix  = id\n+color_prefix = color\n+\n+################################################################\n+# Delimiters\n+\n+# field delimiter regular expression\n+# if this is not defined, any whitespace will be considered a delimiter\n+field_delim = \\s\n+\n+# collapse adjacent delimiters?\n+field_delim_collapse = yes\n+\n+# remove any leading space in the input file\n+# by default, this is on - if you set this to "no", make sure that you don\'t have any leading spaces in your table!\n+strip_leading_space = yes\n+\n+# remove quotes and thousand separators - concatenate characters to remove\n+#\n+# e.g. to remove characters a b c set remove_cell_rx=abc\n+# e.g. to remove characters " \' , set remove_cell_rx="\',\n+remove_cell_rx = "\',\n+\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/circos/ticks.conf
--- a/report_clonality/circos/ticks.conf Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/circos/ticks.conf Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,65 +1,65 @@
-
-show_ticks          = no
-show_tick_labels    = no
-chrticklabels       = yes
-chrticklabelfont    = default
-
-grid_start         = dims(ideogram,radius_inner)-0.5r
-grid_end           = dims(ideogram,radius_outer)+100
-
-<ticks>
-skip_first_label     = no
-skip_last_label      = no
-radius               = dims(ideogram,radius_outer)
-label_offset     = 0p
-color = black
-
-<tick>
-spacing        = 5u
-spacing_type   = relative
-rspacing       = 0.1
-size           = 3p
-thickness      = 2p
-color          = dgrey
-show_label     = yes
-label_size     = 16p
-label_offset   = 3p
-label_relative = yes
-format         = %d
-grid           = yes
-grid_color     = dgrey
-grid_thickness = 1p
-suffix = %
-rmultiplier = 100
-offset = 40p
-</tick>
-
-<tick>
-spacing        = 50u
-size           = 3p
-thickness      = 2p
-color          = black
-show_label     = yes
-label_size     = 12p
-label_offset   = 3p
-format         = %d
-grid           = yes
-grid_color     = dgrey
-grid_thickness = 1p
-</tick>
-
-<tick>
-spacing        = 10u
-size           = 2p
-thickness      = 1p
-color          = black
-show_label     = no
-label_size     = 12p
-label_offset   = 3p
-format         = %d
-grid           = yes
-grid_color     = dgrey
-grid_thickness = 1p
-</tick>
-
-</ticks>
+
+show_ticks          = no
+show_tick_labels    = no
+chrticklabels       = yes
+chrticklabelfont    = default
+
+grid_start         = dims(ideogram,radius_inner)-0.5r
+grid_end           = dims(ideogram,radius_outer)+100
+
+<ticks>
+skip_first_label     = no
+skip_last_label      = no
+radius               = dims(ideogram,radius_outer)
+label_offset     = 0p
+color = black
+
+<tick>
+spacing        = 5u
+spacing_type   = relative
+rspacing       = 0.1
+size           = 3p
+thickness      = 2p
+color          = dgrey
+show_label     = yes
+label_size     = 16p
+label_offset   = 3p
+label_relative = yes
+format         = %d
+grid           = yes
+grid_color     = dgrey
+grid_thickness = 1p
+suffix = %
+rmultiplier = 100
+offset = 40p
+</tick>
+
+<tick>
+spacing        = 50u
+size           = 3p
+thickness      = 2p
+color          = black
+show_label     = yes
+label_size     = 12p
+label_offset   = 3p
+format         = %d
+grid           = yes
+grid_color     = dgrey
+grid_thickness = 1p
+</tick>
+
+<tick>
+spacing        = 10u
+size           = 2p
+thickness      = 1p
+color          = black
+show_label     = no
+label_size     = 12p
+label_offset   = 3p
+format         = %d
+grid           = yes
+grid_color     = dgrey
+grid_thickness = 1p
+</tick>
+
+</ticks>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/genes.txt
--- a/report_clonality/genes.txt Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/genes.txt Tue Nov 16 15:42:32 2021 +0000
b
b'@@ -1,3306 +1,3306 @@\n-Species\tIMGT.GENE.DB\tlocus\tregion\tfunctional\tchr.order\r\n-Bos taurus functional\tTRAJ1\tTRA\tJ\tTRUE\t1\r\n-Bos taurus functional\tTRAJ10\tTRA\tJ\tTRUE\t2\r\n-Bos taurus functional\tTRAJ11\tTRA\tJ\tTRUE\t3\r\n-Bos taurus non-functional\tTRAJ12\tTRA\tJ\tFALSE\t4\r\n-Bos taurus functional\tTRAJ13\tTRA\tJ\tTRUE\t5\r\n-Bos taurus functional\tTRAJ14\tTRA\tJ\tTRUE\t6\r\n-Bos taurus functional\tTRAJ15\tTRA\tJ\tTRUE\t7\r\n-Bos taurus functional\tTRAJ16\tTRA\tJ\tTRUE\t8\r\n-Bos taurus functional\tTRAJ17\tTRA\tJ\tTRUE\t9\r\n-Bos taurus functional\tTRAJ18\tTRA\tJ\tTRUE\t10\r\n-Bos taurus functional\tTRAJ19\tTRA\tJ\tTRUE\t11\r\n-Bos taurus functional\tTRAJ2\tTRA\tJ\tTRUE\t12\r\n-Bos taurus functional\tTRAJ20\tTRA\tJ\tTRUE\t13\r\n-Bos taurus functional\tTRAJ21\tTRA\tJ\tTRUE\t14\r\n-Bos taurus functional\tTRAJ22\tTRA\tJ\tTRUE\t15\r\n-Bos taurus functional\tTRAJ23\tTRA\tJ\tTRUE\t16\r\n-Bos taurus functional\tTRAJ24\tTRA\tJ\tTRUE\t17\r\n-Bos taurus functional\tTRAJ25\tTRA\tJ\tTRUE\t18\r\n-Bos taurus functional\tTRAJ26\tTRA\tJ\tTRUE\t19\r\n-Bos taurus non-functional\tTRAJ27\tTRA\tJ\tFALSE\t20\r\n-Bos taurus functional\tTRAJ28\tTRA\tJ\tTRUE\t21\r\n-Bos taurus functional\tTRAJ29\tTRA\tJ\tTRUE\t22\r\n-Bos taurus functional\tTRAJ3\tTRA\tJ\tTRUE\t23\r\n-Bos taurus non-functional\tTRAJ30\tTRA\tJ\tFALSE\t24\r\n-Bos taurus functional\tTRAJ31\tTRA\tJ\tTRUE\t25\r\n-Bos taurus functional\tTRAJ32\tTRA\tJ\tTRUE\t26\r\n-Bos taurus functional\tTRAJ33\tTRA\tJ\tTRUE\t27\r\n-Bos taurus functional\tTRAJ34\tTRA\tJ\tTRUE\t28\r\n-Bos taurus functional\tTRAJ35\tTRA\tJ\tTRUE\t29\r\n-Bos taurus functional\tTRAJ36\tTRA\tJ\tTRUE\t30\r\n-Bos taurus functional\tTRAJ37\tTRA\tJ\tTRUE\t31\r\n-Bos taurus functional\tTRAJ38\tTRA\tJ\tTRUE\t32\r\n-Bos taurus functional\tTRAJ39\tTRA\tJ\tTRUE\t33\r\n-Bos taurus non-functional\tTRAJ4\tTRA\tJ\tFALSE\t34\r\n-Bos taurus functional\tTRAJ40\tTRA\tJ\tTRUE\t35\r\n-Bos taurus functional\tTRAJ41\tTRA\tJ\tTRUE\t36\r\n-Bos taurus functional\tTRAJ42\tTRA\tJ\tTRUE\t37\r\n-Bos taurus functional\tTRAJ43\tTRA\tJ\tTRUE\t38\r\n-Bos taurus functional\tTRAJ44\tTRA\tJ\tTRUE\t39\r\n-Bos taurus functional\tTRAJ45\tTRA\tJ\tTRUE\t40\r\n-Bos taurus functional\tTRAJ46\tTRA\tJ\tTRUE\t41\r\n-Bos taurus non-functional\tTRAJ47\tTRA\tJ\tFALSE\t42\r\n-Bos taurus functional\tTRAJ48\tTRA\tJ\tTRUE\t43\r\n-Bos taurus functional\tTRAJ49\tTRA\tJ\tTRUE\t44\r\n-Bos taurus functional\tTRAJ5\tTRA\tJ\tTRUE\t45\r\n-Bos taurus functional\tTRAJ50\tTRA\tJ\tTRUE\t46\r\n-Bos taurus functional\tTRAJ51\tTRA\tJ\tTRUE\t47\r\n-Bos taurus non-functional\tTRAJ52\tTRA\tJ\tFALSE\t48\r\n-Bos taurus functional\tTRAJ6\tTRA\tJ\tTRUE\t49\r\n-Bos taurus functional\tTRAJ7\tTRA\tJ\tTRUE\t50\r\n-Bos taurus functional\tTRAJ8\tTRA\tJ\tTRUE\t51\r\n-Bos taurus functional\tTRAJ9\tTRA\tJ\tTRUE\t52\r\n-Bos taurus functional\tTRDD1\tTRD\tD\tTRUE\t53\r\n-Bos taurus functional\tTRDD2\tTRD\tD\tTRUE\t54\r\n-Bos taurus functional\tTRDD3\tTRD\tD\tTRUE\t55\r\n-Bos taurus functional\tTRDD4\tTRD\tD\tTRUE\t56\r\n-Bos taurus functional\tTRDD5\tTRD\tD\tTRUE\t57\r\n-Bos taurus functional\tTRDJ1\tTRD\tJ\tTRUE\t58\r\n-Bos taurus functional\tTRDJ2\tTRD\tJ\tTRUE\t59\r\n-Bos taurus functional\tTRDJ3\tTRD\tJ\tTRUE\t60\r\n-Bos taurus functional\tTRDV1S1\tTRD\tV\tTRUE\t61\r\n-Bos taurus functional\tTRDV1S10\tTRD\tV\tTRUE\t62\r\n-Bos taurus functional\tTRDV1S11\tTRD\tV\tTRUE\t63\r\n-Bos taurus functional\tTRDV1S12\tTRD\tV\tTRUE\t64\r\n-Bos taurus functional\tTRDV1S13-1\tTRD\tV\tTRUE\t65\r\n-Bos taurus functional\tTRDV1S13-2\tTRD\tV\tTRUE\t66\r\n-Bos taurus functional\tTRDV1S14\tTRD\tV\tTRUE\t67\r\n-Bos taurus functional\tTRDV1S15-1\tTRD\tV\tTRUE\t68\r\n-Bos taurus functional\tTRDV1S15-2\tTRD\tV\tTRUE\t69\r\n-Bos taurus functional\tTRDV1S16\tTRD\tV\tTRUE\t70\r\n-Bos taurus functional\tTRDV1S17\tTRD\tV\tTRUE\t71\r\n-Bos taurus functional\tTRDV1S18-1\tTRD\tV\tTRUE\t72\r\n-Bos taurus functional\tTRDV1S18-2\tTRD\tV\tTRUE\t73\r\n-Bos taurus functional\tTRDV1S19\tTRD\tV\tTRUE\t74\r\n-Bos taurus non-functional\tTRDV1S2-1\tTRD\tV\tFALSE\t75\r\n-Bos taurus non-functional\tTRDV1S2-2\tTRD\tV\tFALSE\t76\r\n-Bos taurus functional\tTRDV1S20\tTRD\tV\tTRUE\t77\r\n-Bos taurus functional\tTRDV1S21-1\tTRD\tV\tTRUE\t78\r\n-Bos taurus functional\tTRDV1S21-2\tTRD\tV\tTRUE\t79\r\n-Bos taurus non-functional\tTRDV1S22\tTRD\tV\tFALSE\t80\r\n-Bos taurus functional\tTRDV1S23\tTRD\tV\tTRUE\t81\r\n-Bos taurus functional\tTRDV1S24\tTRD\tV\tTRUE\t82\r\n-Bos taurus non-functional\tTRDV1S25-1\tTRD\tV\tFALSE\t83\r\n-Bos taurus non-functional\tTRDV1S25-2\tTRD\tV\tFALSE\t84\r\n-Bos taurus functional\tTRDV1S26\tTRD\tV\tTRUE'..b's functional\tIGLV1S1\tIGL\tV\tTRUE\t3224\n+Rattus norvegicus functional\tIGLV2S1\tIGL\tV\tTRUE\t3225\n+Rattus norvegicus functional\tIGLV3S1\tIGL\tV\tTRUE\t3226\n+Rattus norvegicus functional\tIGLV3S2\tIGL\tV\tTRUE\t3227\n+Rattus norvegicus functional\tIGLV3S3\tIGL\tV\tTRUE\t3228\n+Rattus norvegicus functional\tIGLV3S4\tIGL\tV\tTRUE\t3229\n+Rattus norvegicus functional\tIGLV3S5\tIGL\tV\tTRUE\t3230\n+Sus scrofa functional\tIGHD\tIGH\tD\tTRUE\t3231\n+Sus scrofa functional\tIGHD1\tIGH\tD\tTRUE\t3232\n+Sus scrofa functional\tIGHD2\tIGH\tD\tTRUE\t3233\n+Sus scrofa functional\tIGHD3\tIGH\tD\tTRUE\t3234\n+Sus scrofa functional\tIGHD4\tIGH\tD\tTRUE\t3235\n+Sus scrofa functional\tIGHJ1\tIGH\tJ\tTRUE\t3236\n+Sus scrofa functional\tIGHJ2\tIGH\tJ\tTRUE\t3237\n+Sus scrofa functional\tIGHJ3\tIGH\tJ\tTRUE\t3238\n+Sus scrofa functional\tIGHJ4\tIGH\tJ\tTRUE\t3239\n+Sus scrofa functional\tIGHJ5\tIGH\tJ\tTRUE\t3240\n+Sus scrofa non-functional\tIGHV1-1\tIGH\tV\tFALSE\t3241\n+Sus scrofa functional\tIGHV1-10\tIGH\tV\tTRUE\t3242\n+Sus scrofa functional\tIGHV1-11\tIGH\tV\tTRUE\t3243\n+Sus scrofa functional\tIGHV1-12\tIGH\tV\tTRUE\t3244\n+Sus scrofa non-functional\tIGHV1-13\tIGH\tV\tFALSE\t3245\n+Sus scrofa functional\tIGHV1-14\tIGH\tV\tTRUE\t3246\n+Sus scrofa functional\tIGHV1-15\tIGH\tV\tTRUE\t3247\n+Sus scrofa functional\tIGHV1-2\tIGH\tV\tTRUE\t3248\n+Sus scrofa non-functional\tIGHV1-3\tIGH\tV\tFALSE\t3249\n+Sus scrofa functional\tIGHV1-4\tIGH\tV\tTRUE\t3250\n+Sus scrofa functional\tIGHV1-5\tIGH\tV\tTRUE\t3251\n+Sus scrofa functional\tIGHV1-6\tIGH\tV\tTRUE\t3252\n+Sus scrofa non-functional\tIGHV1-7\tIGH\tV\tFALSE\t3253\n+Sus scrofa functional\tIGHV1-8\tIGH\tV\tTRUE\t3254\n+Sus scrofa non-functional\tIGHV1-9\tIGH\tV\tFALSE\t3255\n+Sus scrofa functional\tIGHV1S2\tIGH\tV\tTRUE\t3256\n+Sus scrofa non-functional\tIGHV1S3\tIGH\tV\tFALSE\t3257\n+Sus scrofa functional\tIGHV1S5\tIGH\tV\tTRUE\t3258\n+Sus scrofa functional\tIGHV1S6\tIGH\tV\tTRUE\t3259\n+Sus scrofa non-functional\tIGHV1S7\tIGH\tV\tFALSE\t3260\n+Sus scrofa non-functional\tIGHV1S8\tIGH\tV\tFALSE\t3261\n+Sus scrofa functional\tIGKJ1\tIGK\tJ\tTRUE\t3262\n+Sus scrofa functional\tIGKJ2\tIGK\tJ\tTRUE\t3263\n+Sus scrofa functional\tIGKJ3\tIGK\tJ\tTRUE\t3264\n+Sus scrofa functional\tIGKJ4\tIGK\tJ\tTRUE\t3265\n+Sus scrofa functional\tIGKJ5\tIGK\tJ\tTRUE\t3266\n+Sus scrofa functional\tIGKV1-11\tIGK\tV\tTRUE\t3267\n+Sus scrofa functional\tIGKV1-14\tIGK\tV\tTRUE\t3268\n+Sus scrofa functional\tIGKV1-7\tIGK\tV\tTRUE\t3269\n+Sus scrofa functional\tIGKV1-9\tIGK\tV\tTRUE\t3270\n+Sus scrofa functional\tIGKV1D-11\tIGK\tV\tTRUE\t3271\n+Sus scrofa functional\tIGKV2-10\tIGK\tV\tTRUE\t3272\n+Sus scrofa functional\tIGKV2-12\tIGK\tV\tTRUE\t3273\n+Sus scrofa functional\tIGKV2-13\tIGK\tV\tTRUE\t3274\n+Sus scrofa non-functional\tIGKV2-5\tIGK\tV\tFALSE\t3275\n+Sus scrofa functional\tIGKV2-6\tIGK\tV\tTRUE\t3276\n+Sus scrofa functional\tIGKV2-8\tIGK\tV\tTRUE\t3277\n+Sus scrofa non-functional\tIGKV2/OR3-1\tIGK\tV\tFALSE\t3278\n+Sus scrofa functional\tIGKV2D-12\tIGK\tV\tTRUE\t3279\n+Sus scrofa non-functional\tIGKV3-3\tIGK\tV\tFALSE\t3280\n+Sus scrofa non-functional\tIGKV5-4\tIGK\tV\tFALSE\t3281\n+Sus scrofa functional\tIGLJ2\tIGL\tJ\tTRUE\t3282\n+Sus scrofa functional\tIGLJ3\tIGL\tJ\tTRUE\t3283\n+Sus scrofa functional\tIGLJ4\tIGL\tJ\tTRUE\t3284\n+Sus scrofa non-functional\tIGLV(III)-8\tIGL\tV\tFALSE\t3285\n+Sus scrofa non-functional\tIGLV1-15\tIGL\tV\tFALSE\t3286\n+Sus scrofa non-functional\tIGLV1-20\tIGL\tV\tFALSE\t3287\n+Sus scrofa functional\tIGLV2-6\tIGL\tV\tTRUE\t3288\n+Sus scrofa non-functional\tIGLV3-1\tIGL\tV\tFALSE\t3289\n+Sus scrofa functional\tIGLV3-2\tIGL\tV\tTRUE\t3290\n+Sus scrofa functional\tIGLV3-3\tIGL\tV\tTRUE\t3291\n+Sus scrofa functional\tIGLV3-4\tIGL\tV\tTRUE\t3292\n+Sus scrofa functional\tIGLV3-5\tIGL\tV\tTRUE\t3293\n+Sus scrofa non-functional\tIGLV5-11\tIGL\tV\tFALSE\t3294\n+Sus scrofa functional\tIGLV5-14\tIGL\tV\tTRUE\t3295\n+Sus scrofa non-functional\tIGLV5-17\tIGL\tV\tFALSE\t3296\n+Sus scrofa non-functional\tIGLV5-22\tIGL\tV\tFALSE\t3297\n+Sus scrofa non-functional\tIGLV7-7\tIGL\tV\tFALSE\t3298\n+Sus scrofa non-functional\tIGLV7-9\tIGL\tV\tFALSE\t3299\n+Sus scrofa functional\tIGLV8-10\tIGL\tV\tTRUE\t3300\n+Sus scrofa functional\tIGLV8-13\tIGL\tV\tTRUE\t3301\n+Sus scrofa non-functional\tIGLV8-16\tIGL\tV\tFALSE\t3302\n+Sus scrofa functional\tIGLV8-18\tIGL\tV\tTRUE\t3303\n+Sus scrofa functional\tIGLV8-19\tIGL\tV\tTRUE\t3304\n+Sus scrofa non-functional\tIGLV8-21\tIGL\tV\tFALSE\t3305\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/jquery-1.11.0.min.js
--- a/report_clonality/jquery-1.11.0.min.js Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/jquery-1.11.0.min.js Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,4 +1,4 @@\n-/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */\r\n-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,p=/^-ms-/,q=/-([\\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\\ufeff\\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:functi'..b'=!1&&(b.url+=(xc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ad.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||z;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var cd=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&cd)return cd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=a.slice(h,a.length),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&n.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_cdr3_char.htm
--- a/report_clonality/naive_cdr3_char.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_cdr3_char.htm Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,101 +1,101 @@
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=Generator content="Microsoft Word 14 (filtered)">
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Calibri;
- panose-1:2 15 5 2 2 2 4 3 2 4;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {margin-top:0in;
- margin-right:0in;
- margin-bottom:10.0pt;
- margin-left:0in;
- line-height:115%;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-.MsoChpDefault
- {font-family:"Calibri","sans-serif";}
-.MsoPapDefault
- {margin-bottom:10.0pt;
- line-height:115%;}
-@page WordSection1
- {size:8.5in 11.0in;
- margin:1.0in 1.0in 1.0in 1.0in;}
-div.WordSection1
- {page:WordSection1;}
-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
- {mso-style-priority:1;
- mso-style-unhide:no;
- mso-style-qformat:yes;
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";
- mso-fareast-font-family:"Times New Roman";
- mso-fareast-theme-font:minor-fareast;
- mso-bidi-font-family:"Times New Roman";}
--->
-</style>
-
-</head>
-
-<body lang=EN-US>
-
-<div class=WordSection1>
-
-<p class=MsoNormalCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><b><u><span style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>CDR3 characteristics tab</span></u></b></p>
-
-<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>This tab gives information on the
-different characteristics of the CDR3.</span></p>
-
-<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><b><span lang=EN-GB style='font-size:
-12.0pt;font-family:"Times New Roman","serif"'>Graphs</span></b></p>
-
-<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><u><span style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>length distribution of CDR3</span></u></p>
-
-<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><span style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>Graph visualizing for each donor the
-distribution of the CDR3 length in amino acids between all sequences.</span></p>
-
-<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><u><span style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>Amino acid composition of CDR3</span></u></p>
-
-<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>Bar graph visualizing for each donor how
-frequent each amino acid is used in the CDR3 of all sequences. The red colour
-in the background indicate positively charged amino acids, and the blue colour
-in the background indicate negatively charged amino acids. The amino acids are
-ordered from hydrophilic (left) to hydrophobic (right). </span></p>
-
-<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><b><span lang=EN-GB style='font-size:
-12.0pt;font-family:"Times New Roman","serif"'>Table</span></b></p>
-
-<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>Table showing for each donor the median
-CDR3 length.</span></p>
-
-<p class=MsoNormal><span lang=EN-GB>&nbsp;</span></p>
-
-</div>
-
-</body>
-
-</html>
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 14 (filtered)">
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Calibri;
+ panose-1:2 15 5 2 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {margin-top:0in;
+ margin-right:0in;
+ margin-bottom:10.0pt;
+ margin-left:0in;
+ line-height:115%;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+.MsoChpDefault
+ {font-family:"Calibri","sans-serif";}
+.MsoPapDefault
+ {margin-bottom:10.0pt;
+ line-height:115%;}
+@page WordSection1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.0in 1.0in 1.0in;}
+div.WordSection1
+ {page:WordSection1;}
+p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
+ {mso-style-priority:1;
+ mso-style-unhide:no;
+ mso-style-qformat:yes;
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";
+ mso-fareast-font-family:"Times New Roman";
+ mso-fareast-theme-font:minor-fareast;
+ mso-bidi-font-family:"Times New Roman";}
+-->
+</style>
+
+</head>
+
+<body lang=EN-US>
+
+<div class=WordSection1>
+
+<p class=MsoNormalCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><b><u><span style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>CDR3 characteristics tab</span></u></b></p>
+
+<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>This tab gives information on the
+different characteristics of the CDR3.</span></p>
+
+<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><b><span lang=EN-GB style='font-size:
+12.0pt;font-family:"Times New Roman","serif"'>Graphs</span></b></p>
+
+<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><u><span style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>length distribution of CDR3</span></u></p>
+
+<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><span style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>Graph visualizing for each donor the
+distribution of the CDR3 length in amino acids between all sequences.</span></p>
+
+<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><u><span style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>Amino acid composition of CDR3</span></u></p>
+
+<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>Bar graph visualizing for each donor how
+frequent each amino acid is used in the CDR3 of all sequences. The red colour
+in the background indicate positively charged amino acids, and the blue colour
+in the background indicate negatively charged amino acids. The amino acids are
+ordered from hydrophilic (left) to hydrophobic (right). </span></p>
+
+<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><b><span lang=EN-GB style='font-size:
+12.0pt;font-family:"Times New Roman","serif"'>Table</span></b></p>
+
+<p class=MsoNoSpacing style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>Table showing for each donor the median
+CDR3 length.</span></p>
+
+<p class=MsoNormal><span lang=EN-GB>&nbsp;</span></p>
+
+</div>
+
+</body>
+
+</html>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_circos.htm
--- a/report_clonality/naive_circos.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_circos.htm Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,59 +1,59 @@
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=Generator content="Microsoft Word 14 (filtered)">
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Calibri;
- panose-1:2 15 5 2 2 2 4 3 2 4;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {margin-top:0in;
- margin-right:0in;
- margin-bottom:10.0pt;
- margin-left:0in;
- line-height:115%;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
- {margin:0in;
- margin-bottom:.0001pt;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-.MsoChpDefault
- {font-family:"Calibri","sans-serif";}
-.MsoPapDefault
- {margin-bottom:10.0pt;
- line-height:115%;}
-@page WordSection1
- {size:8.5in 11.0in;
- margin:1.0in 1.0in 1.0in 1.0in;}
-div.WordSection1
- {page:WordSection1;}
--->
-</style>
-
-</head>
-
-<body lang=EN-US>
-
-<div class=WordSection1>
-
-<p class=MsoNormal><span style='font-size:12.0pt;line-height:115%;font-family:
-"Times New Roman","serif"'>Martin Krzywinski, Jacqueline Schein, &#304;nan�
-Birol, Joseph Connors, Randy Gascoyne, Doug Horsman, Steven J. Jones and Marco
-A. Marra (2009). Circos: An information aesthetic for comparative genomics. In <i>Genome
-Research 10.1101/gr.092759.109</i>.</span></p>
-
-<p class=MsoNormal><span style='font-size:12.0pt;line-height:115%;font-family:
-"Times New Roman","serif"'>Circos plot showing the V-D, V-J, and D-J gen usage.
-The thicker the line the more frequent this gene combination is used.</span></p>
-
-</div>
-
-</body>
-
-</html>
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 14 (filtered)">
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Calibri;
+ panose-1:2 15 5 2 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {margin-top:0in;
+ margin-right:0in;
+ margin-bottom:10.0pt;
+ margin-left:0in;
+ line-height:115%;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
+ {margin:0in;
+ margin-bottom:.0001pt;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+.MsoChpDefault
+ {font-family:"Calibri","sans-serif";}
+.MsoPapDefault
+ {margin-bottom:10.0pt;
+ line-height:115%;}
+@page WordSection1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.0in 1.0in 1.0in;}
+div.WordSection1
+ {page:WordSection1;}
+-->
+</style>
+
+</head>
+
+<body lang=EN-US>
+
+<div class=WordSection1>
+
+<p class=MsoNormal><span style='font-size:12.0pt;line-height:115%;font-family:
+"Times New Roman","serif"'>Martin Krzywinski, Jacqueline Schein, &#304;nan�
+Birol, Joseph Connors, Randy Gascoyne, Doug Horsman, Steven J. Jones and Marco
+A. Marra (2009). Circos: An information aesthetic for comparative genomics. In <i>Genome
+Research 10.1101/gr.092759.109</i>.</span></p>
+
+<p class=MsoNormal><span style='font-size:12.0pt;line-height:115%;font-family:
+"Times New Roman","serif"'>Circos plot showing the V-D, V-J, and D-J gen usage.
+The thicker the line the more frequent this gene combination is used.</span></p>
+
+</div>
+
+</body>
+
+</html>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_clonality.htm
--- a/report_clonality/naive_clonality.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_clonality.htm Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,67 +1,67 @@
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=Generator content="Microsoft Word 14 (filtered)">
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Calibri;
- panose-1:2 15 5 2 2 2 4 3 2 4;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {margin-top:0in;
- margin-right:0in;
- margin-bottom:10.0pt;
- margin-left:0in;
- line-height:115%;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
- {margin:0in;
- margin-bottom:.0001pt;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-.MsoChpDefault
- {font-family:"Calibri","sans-serif";}
-.MsoPapDefault
- {margin-bottom:10.0pt;
- line-height:115%;}
-@page WordSection1
- {size:8.5in 11.0in;
- margin:1.0in 1.0in 1.0in 1.0in;}
-div.WordSection1
- {page:WordSection1;}
--->
-</style>
-
-</head>
-
-<body lang=EN-US>
-
-<div class=WordSection1>
-
-<p class=MsoNoSpacingCxSpFirst style='text-align:justify'><span
-style='font-size:12.0pt;font-family:"Times New Roman","serif"'>For each donor a
-subtab is provided containing information on the sequence overlap between
-replicates of the different replicates of one donor. Dependent on the settings
-of the Shared clonal types / clonality filter a clonality score is given.� The clonality
-score ï¿½is calculated according to the formula described by </span><a
-name="OLE_LINK13"></a><a name="OLE_LINK12"></a><a name="OLE_LINK11"><span
-lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Boyd
-et al, PMID: 20161664. </span></a></p>
-
-<p class=MsoNoSpacingCxSpLast style='text-align:justify'><span lang=EN-GB
-style='font-size:12.0pt;font-family:"Times New Roman","serif"'>For each
-individual replicate the number of reads is reported. In addition, the number
-of coincidences between the different replicates of the same donor are reported.
-</span></p>
-
-<p class=MsoNormal>&nbsp;</p>
-
-</div>
-
-</body>
-
-</html>
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 14 (filtered)">
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Calibri;
+ panose-1:2 15 5 2 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {margin-top:0in;
+ margin-right:0in;
+ margin-bottom:10.0pt;
+ margin-left:0in;
+ line-height:115%;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
+ {margin:0in;
+ margin-bottom:.0001pt;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+.MsoChpDefault
+ {font-family:"Calibri","sans-serif";}
+.MsoPapDefault
+ {margin-bottom:10.0pt;
+ line-height:115%;}
+@page WordSection1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.0in 1.0in 1.0in;}
+div.WordSection1
+ {page:WordSection1;}
+-->
+</style>
+
+</head>
+
+<body lang=EN-US>
+
+<div class=WordSection1>
+
+<p class=MsoNoSpacingCxSpFirst style='text-align:justify'><span
+style='font-size:12.0pt;font-family:"Times New Roman","serif"'>For each donor a
+subtab is provided containing information on the sequence overlap between
+replicates of the different replicates of one donor. Dependent on the settings
+of the Shared clonal types / clonality filter a clonality score is given.� The clonality
+score ï¿½is calculated according to the formula described by </span><a
+name="OLE_LINK13"></a><a name="OLE_LINK12"></a><a name="OLE_LINK11"><span
+lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Boyd
+et al, PMID: 20161664. </span></a></p>
+
+<p class=MsoNoSpacingCxSpLast style='text-align:justify'><span lang=EN-GB
+style='font-size:12.0pt;font-family:"Times New Roman","serif"'>For each
+individual replicate the number of reads is reported. In addition, the number
+of coincidences between the different replicates of the same donor are reported.
+</span></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+</div>
+
+</body>
+
+</html>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_compare.htm
--- a/report_clonality/naive_compare.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_compare.htm Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,61 +1,61 @@
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=Generator content="Microsoft Word 14 (filtered)">
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Calibri;
- panose-1:2 15 5 2 2 2 4 3 2 4;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {margin-top:0in;
- margin-right:0in;
- margin-bottom:10.0pt;
- margin-left:0in;
- line-height:115%;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
- {margin:0in;
- margin-bottom:.0001pt;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-.MsoChpDefault
- {font-family:"Calibri","sans-serif";}
-.MsoPapDefault
- {margin-bottom:10.0pt;
- line-height:115%;}
-@page WordSection1
- {size:8.5in 11.0in;
- margin:1.0in 1.0in 1.0in 1.0in;}
-div.WordSection1
- {page:WordSection1;}
--->
-</style>
-
-</head>
-
-<body lang=EN-US>
-
-<div class=WordSection1>
-
-<p class=MsoNormalCxSpFirst style='text-align:justify'><span style='font-size:
-12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The tab allows
-you to compare the VD, VJ and DJ heatmaps of multiple donors to each other. </span></p>
-
-<p class=MsoNormal><span style='font-size:12.0pt;line-height:115%;font-family:
-"Times New Roman","serif"'>By ticking the include box of a donor, the three
-heatmaps of this donor is visualized underneath eachother. By clicking the
-include box of multiple replicates the heatmaps of these replicates are visualized
-next to each other allowing easy comparison of heatmaps. </span></p>
-
-<p class=MsoNormal>&nbsp;</p>
-
-</div>
-
-</body>
-
-</html>
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 14 (filtered)">
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Calibri;
+ panose-1:2 15 5 2 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {margin-top:0in;
+ margin-right:0in;
+ margin-bottom:10.0pt;
+ margin-left:0in;
+ line-height:115%;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
+ {margin:0in;
+ margin-bottom:.0001pt;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+.MsoChpDefault
+ {font-family:"Calibri","sans-serif";}
+.MsoPapDefault
+ {margin-bottom:10.0pt;
+ line-height:115%;}
+@page WordSection1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.0in 1.0in 1.0in;}
+div.WordSection1
+ {page:WordSection1;}
+-->
+</style>
+
+</head>
+
+<body lang=EN-US>
+
+<div class=WordSection1>
+
+<p class=MsoNormalCxSpFirst style='text-align:justify'><span style='font-size:
+12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The tab allows
+you to compare the VD, VJ and DJ heatmaps of multiple donors to each other. </span></p>
+
+<p class=MsoNormal><span style='font-size:12.0pt;line-height:115%;font-family:
+"Times New Roman","serif"'>By ticking the include box of a donor, the three
+heatmaps of this donor is visualized underneath eachother. By clicking the
+include box of multiple replicates the heatmaps of these replicates are visualized
+next to each other allowing easy comparison of heatmaps. </span></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+</div>
+
+</body>
+
+</html>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_downloads.htm
--- a/report_clonality/naive_downloads.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_downloads.htm Tue Nov 16 15:42:32 2021 +0000
b
b'@@ -1,197 +1,197 @@\n-<html>\r\n-\r\n-<head>\r\n-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">\r\n-<meta name=Generator content="Microsoft Word 14 (filtered)">\r\n-<style>\r\n-<!--\r\n- /* Font Definitions */\r\n- @font-face\r\n-\t{font-family:Calibri;\r\n-\tpanose-1:2 15 5 2 2 2 4 3 2 4;}\r\n- /* Style Definitions */\r\n- p.MsoNormal, li.MsoNormal, div.MsoNormal\r\n-\t{margin-top:0in;\r\n-\tmargin-right:0in;\r\n-\tmargin-bottom:10.0pt;\r\n-\tmargin-left:0in;\r\n-\tline-height:115%;\r\n-\tfont-size:11.0pt;\r\n-\tfont-family:"Calibri","sans-serif";}\r\n-.MsoChpDefault\r\n-\t{font-family:"Calibri","sans-serif";}\r\n-.MsoPapDefault\r\n-\t{margin-bottom:10.0pt;\r\n-\tline-height:115%;}\r\n-@page WordSection1\r\n-\t{size:8.5in 11.0in;\r\n-\tmargin:1.0in 1.0in 1.0in 1.0in;}\r\n-div.WordSection1\r\n-\t{page:WordSection1;}\r\n--->\r\n-</style>\r\n-\r\n-</head>\r\n-\r\n-<body lang=EN-US>\r\n-\r\n-<div class=WordSection1>\r\n-\r\n-<p class=MsoNormalCxSpFirst style=\'text-align:justify\'><b><u><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Downloads\r\n-tab</span></u></b></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><b><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Description</span></b></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\r\n-filtered dataset:</span></u><span style=\'font-size:12.0pt;line-height:115%;\r\n-font-family:"Times New Roman","serif"\'> <a name="OLE_LINK15"></a><a\r\n-name="OLE_LINK14">Allows you to download information on V D and J gene usage,\r\n-the junctions and the amino acid sequence of the sequences that passed the chosen\r\n-filter settings. Note: this file contains only 1 sequences of a replicate\r\n-sequence. </a></span></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><b><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Gene\r\n-frequencies</span></b></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'margin-bottom:0in;margin-bottom:.0001pt;\r\n-text-align:justify;line-height:normal\'><u><span style=\'font-size:12.0pt;\r\n-font-family:"Times New Roman","serif"\'>The dataset used to generate the distribution\r\n-of V gene families graph:</span></u><span style=\'font-size:12.0pt;font-family:\r\n-"Times New Roman","serif"\'> Downloads a table with information used to generate\r\n-the distribution of V gene families graph.</span></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'margin-bottom:0in;margin-bottom:.0001pt;\r\n-text-align:justify;line-height:normal\'><u><span style=\'font-size:12.0pt;\r\n-font-family:"Times New Roman","serif"\'>The dataset used to generate\xa0 the\r\n-distribution of D gene families graph: </span></u><span style=\'font-size:12.0pt;\r\n-font-family:"Times New Roman","serif"\'>Downloads a table with information used\r\n-to generate the distribution of D gene families graph.</span></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\r\n-dataset used to generate the relative frequency of V gene usage graph:</span></u><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\r\n-Downloads the data used to generate the relative frequency of V gene usage\r\n-graph. In addition information on the chromosomal order of the V genes can be\r\n-found.</span></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\r\n-dataset used to generate the relative frequency of D gene usage graph:</span></u><span\r\n-style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\r\n-Downloads the data used to generate the relative frequency of D gene usage\r\n-graph. In addition information on the chromosomal order of the D genes can be\r\n-found.<u> </u></span></p>\r\n-\r\n-<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><'..b'the VD heatmap for \x93donor name\x94:</span></u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+Downloads the data set used for the generation of the VD heatmap. For each\n+uploaded donor a separate download is generated.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\n+data used to generate the VJ heatmap for \x93donor name\x94:</span></u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+Downloads the data set used for the generation of the VJ heatmap. For each\n+uploaded donor a separate download is generated.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\n+data used to generate the DJ heatmap for \x93sample name\x94:</span></u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+Downloads the data set used for the generation of the DJ heatmap. For each\n+uploaded donor a separate download is generated.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><b><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Circos</span></b></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\n+data used to generate the VD circus plots for \x93donor name\x94:</span></u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+Downloads the data set used for the generation of the VD heatmap. For each\n+uploaded donor a separate download is generated.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\n+data used to generate the VJ circus plots for \x93donor name\x94:</span></u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+Downloads the data set used for the generation of the VJ heatmap. For each\n+uploaded donor a separate download is generated.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\n+data used to generate the DJ circus plots for \x93sample name\x94:</span></u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+Downloads the data set used for the generation of the DJ heatmap. For each\n+uploaded donor a separate download is generated.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><b><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Clonality</span></b></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>The\n+dataset used to calculate clonality score: </span></u><span style=\'font-size:\n+12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Allows you to\n+download information on V D and J gene usage, the junctions and the amino acid\n+sequence of the sequences that passed the chosen filter settings. Note: this\n+file contains all the replicate sequences form the different input files.</span></p>\n+\n+<p class=MsoNormalCxSpMiddle style=\'text-align:justify\'><u><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Sequences\n+that are present in more than one replicate:</span></u><span style=\'font-size:\n+12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'> Allows you to\n+download a table containing all the sequences that were present in more than\n+one replicate. It provides the concidence type, clonaltype, sequence name,\n+replicate number, and the nucleotide sequence</span></p>\n+\n+<p class=MsoNormal>&nbsp;</p>\n+\n+</div>\n+\n+</body>\n+\n+</html>\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_gene_freq.htm
--- a/report_clonality/naive_gene_freq.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_gene_freq.htm Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,220 +1,220 @@\n-<html xmlns:v="urn:schemas-microsoft-com:vml"\r\n-xmlns:o="urn:schemas-microsoft-com:office:office"\r\n-xmlns:w="urn:schemas-microsoft-com:office:word"\r\n-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"\r\n-xmlns="http://www.w3.org/TR/REC-html40">\r\n-\r\n-<head>\r\n-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">\r\n-<meta name=ProgId content=Word.Document>\r\n-<meta name=Generator content="Microsoft Word 14">\r\n-<meta name=Originator content="Microsoft Word 14">\r\n-<link rel=File-List href="Gene%20frequencies%20tab_files/filelist.xml">\r\n-<link rel=themeData href="Gene%20frequencies%20tab_files/themedata.thmx">\r\n-<style>\r\n-<!--\r\n- /* Font Definitions */\r\n- @font-face\r\n-\t{font-family:Calibri;\r\n-\tpanose-1:2 15 5 2 2 2 4 3 2 4;\r\n-\tmso-font-charset:0;\r\n-\tmso-generic-font-family:swiss;\r\n-\tmso-font-pitch:variable;\r\n-\tmso-font-signature:-536870145 1073786111 1 0 415 0;}\r\n- /* Style Definitions */\r\n- p.MsoNormal, li.MsoNormal, div.MsoNormal\r\n-\t{mso-style-unhide:no;\r\n-\tmso-style-qformat:yes;\r\n-\tmso-style-parent:"";\r\n-\tmargin-top:0in;\r\n-\tmargin-right:0in;\r\n-\tmargin-bottom:10.0pt;\r\n-\tmargin-left:0in;\r\n-\tline-height:115%;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:11.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;\r\n-\tmso-bidi-font-family:"Times New Roman";}\r\n-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing\r\n-\t{mso-style-priority:1;\r\n-\tmso-style-unhide:no;\r\n-\tmso-style-qformat:yes;\r\n-\tmargin:0in;\r\n-\tmargin-bottom:.0001pt;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:11.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;\r\n-\tmso-bidi-font-family:"Times New Roman";}\r\n-p.msochpdefault, li.msochpdefault, div.msochpdefault\r\n-\t{mso-style-name:msochpdefault;\r\n-\tmso-style-unhide:no;\r\n-\tmso-margin-top-alt:auto;\r\n-\tmargin-right:0in;\r\n-\tmso-margin-bottom-alt:auto;\r\n-\tmargin-left:0in;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:12.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;\r\n-\tmso-bidi-font-family:"Times New Roman";}\r\n-p.msopapdefault, li.msopapdefault, div.msopapdefault\r\n-\t{mso-style-name:msopapdefault;\r\n-\tmso-style-unhide:no;\r\n-\tmso-margin-top-alt:auto;\r\n-\tmargin-right:0in;\r\n-\tmargin-bottom:10.0pt;\r\n-\tmargin-left:0in;\r\n-\tline-height:115%;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:12.0pt;\r\n-\tfont-family:"Times New Roman","serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;}\r\n-.MsoChpDefault\r\n-\t{mso-style-type:export-only;\r\n-\tmso-default-props:yes;\r\n-\tfont-size:10.0pt;\r\n-\tmso-ansi-font-size:10.0pt;\r\n-\tmso-bidi-font-size:10.0pt;\r\n-\tmso-ascii-font-family:Calibri;\r\n-\tmso-hansi-font-family:Calibri;}\r\n-.MsoPapDefault\r\n-\t{mso-style-type:export-only;\r\n-\tmargin-bottom:10.0pt;\r\n-\tline-height:115%;}\r\n-@page WordSection1\r\n-\t{size:8.5in 11.0in;\r\n-\tmargin:1.0in 1.0in 1.0in 1.0in;\r\n-\tmso-header-margin:.5in;\r\n-\tmso-footer-margin:.5in;\r\n-\tmso-paper-source:0;}\r\n-div.WordSection1\r\n-\t{page:WordSection1;}\r\n--->\r\n-</style>\r\n-<!--[if gte mso 10]>\r\n-<style>\r\n- /* Style Definitions */\r\n- table.MsoNormalTable\r\n-\t{mso-style-name:"Table Normal";\r\n-\tmso-tstyle-rowband-size:0;\r\n-\tmso-tstyle-colband-size:0;\r\n-\tmso-style-noshow:yes;\r\n-\tmso-style-priority:99;\r\n-\tmso-style-parent:"";\r\n-\tmso-padding-alt:0in 5.4pt 0in 5.4pt;\r\n-\tmso-para-margin-top:0in;\r\n-\tmso-para-margin-right:0in;\r\n-\tmso-para-margin-bottom:10.0pt;\r\n-\tmso-para-margin-left:0in;\r\n-\tline-height:115%;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:10.0pt;\r\n-\tfont-family:"Calibri","sans-serif";}\r\n-</style>\r\n-<![endif]--><!--[if gte mso 9]><xml>\r\n- <o:shapedefaults v:ext="edit" spidmax="1026"/>\r\n-</xml><![endif]--><!--[if gte mso 9]><xml>\r\n- <o:shapelayout v:ext="edit">\r\n-  <o:idmap v:ext="edit" data="1"/>\r\n- </o:shapelayout></xml><![endif]-->\r\n-</head>\r\n-\r\n-<body lang=EN-US style=\'tab-interval'..b'-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Distribution of\n+V gene families<o:p></o:p></span></u></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><a name="OLE_LINK121"></a><a\n+name="OLE_LINK123"></a><a name="OLE_LINK122"></a><span style=\'mso-bookmark:\n+OLE_LINK121\'><span lang=EN-GB style=\'font-size:12.0pt;font-family:"Times New Roman","serif";\n+mso-ansi-language:EN-GB\'>Bar graph showing the frequency of V gene family usage\n+in all uploaded donors. </span></span><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'><o:p></o:p></span></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><o:p>&nbsp;</o:p></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Relative\n+frequency of V gene usage<o:p></o:p></span></u></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><a name="OLE_LINK124"></a><a\n+name="OLE_LINK126"></a><a name="OLE_LINK125"></a><span style=\'mso-bookmark:\n+OLE_LINK124\'><span lang=EN-GB style=\'font-size:12.0pt;font-family:"Times New Roman","serif";\n+mso-ansi-language:EN-GB\'>Bar graph showing the frequency of V genes in all\n+uploaded donors. The order of the V genes on the x-axis can be altered by\n+altering the \x93<span style=\'color:black;background:white\'>Order of V(D)J genes\n+in graphs\x94 filter on the main page of the Immune repertoire pipeline.</span></span></span><span\n+lang=EN-GB style=\'font-size:12.0pt;font-family:"Times New Roman","serif";\n+color:black;background:white;mso-ansi-language:EN-GB\'><o:p></o:p></span></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><o:p>&nbsp;</o:p></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Relative\n+frequency of D gene usage<o:p></o:p></span></u></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><span lang=EN-GB\n+style=\'font-size:12.0pt;font-family:"Times New Roman","serif";mso-ansi-language:\n+EN-GB\'>Bar graph showing the frequency of D genes in all uploaded donors. The\n+order of the D genes on the x-axis can be altered by altering the \x93<span\n+style=\'color:black;background:white\'>Order of V(D)J genes in graphs\x94 filter on\n+the main page of the Immune repertoire pipeline.<o:p></o:p></span></span></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><o:p>&nbsp;</o:p></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Relative\n+frequency of J gene usage<o:p></o:p></span></u></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><span lang=EN-GB\n+style=\'font-size:12.0pt;font-family:"Times New Roman","serif";mso-ansi-language:\n+EN-GB\'>Bar graph showing the frequency of J genes in all uploaded donors. The\n+order of the J genes on the x-axis can be altered by altering the \x93<span\n+style=\'color:black;background:white\'>Order of V(D)J genes in graphs\x94 filter on\n+the main page of the Immune repertoire pipeline.<o:p></o:p></span></span></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><o:p>&nbsp;</o:p></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span style=\'font-size:12.0pt;font-family:"Times New Roman","serif"\'>D\n+reading frame<o:p></o:p></span></u></p>\n+\n+<p class=MsoNoSpacing style=\'text-align:justify\'><span lang=EN-GB\n+style=\'font-size:12.0pt;font-family:"Times New Roman","serif";mso-ansi-language:\n+EN-GB\'>Bar graph visualizing the frequency by which each D reading frame is\n+used in each donor.</span></p>\n+\n+</div>\n+\n+</body>\n+\n+</html>\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_heatmap.htm
--- a/report_clonality/naive_heatmap.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_heatmap.htm Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,57 +1,57 @@
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=Generator content="Microsoft Word 14 (filtered)">
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Calibri;
- panose-1:2 15 5 2 2 2 4 3 2 4;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {margin-top:0in;
- margin-right:0in;
- margin-bottom:10.0pt;
- margin-left:0in;
- line-height:115%;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
- {margin:0in;
- margin-bottom:.0001pt;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-.MsoChpDefault
- {font-family:"Calibri","sans-serif";}
-.MsoPapDefault
- {margin-bottom:10.0pt;
- line-height:115%;}
-@page WordSection1
- {size:8.5in 11.0in;
- margin:1.0in 1.0in 1.0in 1.0in;}
-div.WordSection1
- {page:WordSection1;}
--->
-</style>
-
-</head>
-
-<body lang=EN-US>
-
-<div class=WordSection1>
-
-<p class=MsoNormalCxSpFirst style='text-align:justify'><span style='font-size:
-12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>In this tab
-heatmaps are provided showing the frequency of different combinations V and D,
-D and J and V and J genes according together. For each donor a subtab with all
-three heatmaps is provided.</span></p>
-
-<p class=MsoNormal>&nbsp;</p>
-
-</div>
-
-</body>
-
-</html>
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 14 (filtered)">
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Calibri;
+ panose-1:2 15 5 2 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {margin-top:0in;
+ margin-right:0in;
+ margin-bottom:10.0pt;
+ margin-left:0in;
+ line-height:115%;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
+ {margin:0in;
+ margin-bottom:.0001pt;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+.MsoChpDefault
+ {font-family:"Calibri","sans-serif";}
+.MsoPapDefault
+ {margin-bottom:10.0pt;
+ line-height:115%;}
+@page WordSection1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.0in 1.0in 1.0in;}
+div.WordSection1
+ {page:WordSection1;}
+-->
+</style>
+
+</head>
+
+<body lang=EN-US>
+
+<div class=WordSection1>
+
+<p class=MsoNormalCxSpFirst style='text-align:justify'><span style='font-size:
+12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>In this tab
+heatmaps are provided showing the frequency of different combinations V and D,
+D and J and V and J genes according together. For each donor a subtab with all
+three heatmaps is provided.</span></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+</div>
+
+</body>
+
+</html>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_junction.htm
--- a/report_clonality/naive_junction.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_junction.htm Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,206 +1,206 @@\n-<html xmlns:v="urn:schemas-microsoft-com:vml"\r\n-xmlns:o="urn:schemas-microsoft-com:office:office"\r\n-xmlns:w="urn:schemas-microsoft-com:office:word"\r\n-xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"\r\n-xmlns="http://www.w3.org/TR/REC-html40">\r\n-\r\n-<head>\r\n-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">\r\n-<meta name=ProgId content=Word.Document>\r\n-<meta name=Generator content="Microsoft Word 14">\r\n-<meta name=Originator content="Microsoft Word 14">\r\n-<link rel=File-List href="Junction%20analysis%20tab_files/filelist.xml">\r\n-<link rel=themeData href="Junction%20analysis%20tab_files/themedata.thmx">\r\n-<style>\r\n-<!--\r\n- /* Font Definitions */\r\n- @font-face\r\n-\t{font-family:Calibri;\r\n-\tpanose-1:2 15 5 2 2 2 4 3 2 4;\r\n-\tmso-font-charset:0;\r\n-\tmso-generic-font-family:swiss;\r\n-\tmso-font-pitch:variable;\r\n-\tmso-font-signature:-536870145 1073786111 1 0 415 0;}\r\n- /* Style Definitions */\r\n- p.MsoNormal, li.MsoNormal, div.MsoNormal\r\n-\t{mso-style-unhide:no;\r\n-\tmso-style-qformat:yes;\r\n-\tmso-style-parent:"";\r\n-\tmargin-top:0in;\r\n-\tmargin-right:0in;\r\n-\tmargin-bottom:10.0pt;\r\n-\tmargin-left:0in;\r\n-\tline-height:115%;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:11.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;\r\n-\tmso-bidi-font-family:"Times New Roman";}\r\n-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing\r\n-\t{mso-style-priority:1;\r\n-\tmso-style-unhide:no;\r\n-\tmso-style-qformat:yes;\r\n-\tmargin:0in;\r\n-\tmargin-bottom:.0001pt;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:11.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;\r\n-\tmso-bidi-font-family:"Times New Roman";}\r\n-p.msochpdefault, li.msochpdefault, div.msochpdefault\r\n-\t{mso-style-name:msochpdefault;\r\n-\tmso-style-unhide:no;\r\n-\tmso-margin-top-alt:auto;\r\n-\tmargin-right:0in;\r\n-\tmso-margin-bottom-alt:auto;\r\n-\tmargin-left:0in;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:12.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;\r\n-\tmso-bidi-font-family:"Times New Roman";}\r\n-p.msopapdefault, li.msopapdefault, div.msopapdefault\r\n-\t{mso-style-name:msopapdefault;\r\n-\tmso-style-unhide:no;\r\n-\tmso-margin-top-alt:auto;\r\n-\tmargin-right:0in;\r\n-\tmargin-bottom:10.0pt;\r\n-\tmargin-left:0in;\r\n-\tline-height:115%;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:12.0pt;\r\n-\tfont-family:"Times New Roman","serif";\r\n-\tmso-fareast-font-family:"Times New Roman";\r\n-\tmso-fareast-theme-font:minor-fareast;}\r\n-span.GramE\r\n-\t{mso-style-name:"";\r\n-\tmso-gram-e:yes;}\r\n-.MsoChpDefault\r\n-\t{mso-style-type:export-only;\r\n-\tmso-default-props:yes;\r\n-\tfont-size:10.0pt;\r\n-\tmso-ansi-font-size:10.0pt;\r\n-\tmso-bidi-font-size:10.0pt;\r\n-\tfont-family:"Calibri","sans-serif";\r\n-\tmso-ascii-font-family:Calibri;\r\n-\tmso-hansi-font-family:Calibri;}\r\n-.MsoPapDefault\r\n-\t{mso-style-type:export-only;\r\n-\tmargin-bottom:10.0pt;\r\n-\tline-height:115%;}\r\n-@page WordSection1\r\n-\t{size:8.5in 11.0in;\r\n-\tmargin:1.0in 1.0in 1.0in 1.0in;\r\n-\tmso-header-margin:.5in;\r\n-\tmso-footer-margin:.5in;\r\n-\tmso-paper-source:0;}\r\n-div.WordSection1\r\n-\t{page:WordSection1;}\r\n--->\r\n-</style>\r\n-<!--[if gte mso 10]>\r\n-<style>\r\n- /* Style Definitions */\r\n- table.MsoNormalTable\r\n-\t{mso-style-name:"Table Normal";\r\n-\tmso-tstyle-rowband-size:0;\r\n-\tmso-tstyle-colband-size:0;\r\n-\tmso-style-noshow:yes;\r\n-\tmso-style-priority:99;\r\n-\tmso-style-parent:"";\r\n-\tmso-padding-alt:0in 5.4pt 0in 5.4pt;\r\n-\tmso-para-margin-top:0in;\r\n-\tmso-para-margin-right:0in;\r\n-\tmso-para-margin-bottom:10.0pt;\r\n-\tmso-para-margin-left:0in;\r\n-\tline-height:115%;\r\n-\tmso-pagination:widow-orphan;\r\n-\tfont-size:10.0pt;\r\n-\tfont-family:"Calibri","sans-serif";}\r\n-</style>\r\n-<![endif]--><!--[if gte mso 9]><xml>\r\n- <o:shapedefaults v:ext="edit" spidmax="1026"/>\r\n-</xml><![endif]--><!--[if gte mso 9]><xml>\r\n- <o:shapelayout v:ext="edit">\r\n-  <o:idmap v:ext="edit" dat'..b'pidmax="1026"/>\n+</xml><![endif]--><!--[if gte mso 9]><xml>\n+ <o:shapelayout v:ext="edit">\n+  <o:idmap v:ext="edit" data="1"/>\n+ </o:shapelayout></xml><![endif]-->\n+</head>\n+\n+<body lang=EN-US style=\'tab-interval:.5in\'>\n+\n+<div class=WordSection1>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><b><u><span style=\'font-size:\n+12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Junction\n+analysis tab </span></u></b></p>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><b><span style=\'font-size:12.0pt;\n+line-height:115%;font-family:"Times New Roman","serif"\'>Tables:</span></b></p>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><span style=\'font-size:12.0pt;\n+line-height:115%;font-family:"Times New Roman","serif"\'>The unique\n+rearrangements are separated in sequences that contain <span class=GramE>both a</span>\n+V, D and J gene and sequences that contain only a V and J gene.</span></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Productive mean\n+tables<o:p></o:p></span></u></p>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><span class=GramE><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Reports\n+for each donor the number of productive sequences and the mean number of\n+deletions, N-nucleotides and P-nucleotides.</span></span><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+For explanation about the different deletions and N and P nucleotides see\n+figure above. </span></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Unproductive\n+mean table<o:p></o:p></span></u></p>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><span class=GramE><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Reports\n+for each donor the number of unproductive sequences and the mean number of\n+deletions, N-nucleotides and P-nucleotides.</span></span><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+For explanation about the different deletions and N and P nucleotides see\n+figure above. </span></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Productive\n+median table<o:p></o:p></span></u></p>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><span class=GramE><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Reports\n+for each donor the number of productive sequences and the median number of\n+deletions, N-nucleotides and P-nucleotides.</span></span><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+For explanation about the different deletions and N and P nucleotides see\n+figure above. </span></p>\n+\n+<p class=MsoNormal style=\'margin-bottom:0in;margin-bottom:.0001pt;text-align:\n+justify;line-height:normal\'><u><span lang=EN-GB style=\'font-size:12.0pt;\n+font-family:"Times New Roman","serif";mso-ansi-language:EN-GB\'>Unproductive\n+median table<o:p></o:p></span></u></p>\n+\n+<p class=MsoNormal style=\'text-align:justify\'><span class=GramE><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>Reports\n+for each donor the number of unproductive sequences and the median number of\n+deletions, N-nucleotides and P-nucleotides.</span></span><span\n+style=\'font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"\'>\n+For explanation about the different deletions and N and P nucleotides see\n+figure above. </span></p>\n+\n+<p class=MsoNormal>&nbsp;</p>\n+\n+</div>\n+\n+</body>\n+\n+</html>\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/naive_overview.htm
--- a/report_clonality/naive_overview.htm Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/naive_overview.htm Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,65 +1,65 @@
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=Generator content="Microsoft Word 14 (filtered)">
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Calibri;
- panose-1:2 15 5 2 2 2 4 3 2 4;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {margin-top:0in;
- margin-right:0in;
- margin-bottom:10.0pt;
- margin-left:0in;
- line-height:115%;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
- {margin:0in;
- margin-bottom:.0001pt;
- font-size:11.0pt;
- font-family:"Calibri","sans-serif";}
-.MsoChpDefault
- {font-family:"Calibri","sans-serif";}
-.MsoPapDefault
- {margin-bottom:10.0pt;
- line-height:115%;}
-@page WordSection1
- {size:8.5in 11.0in;
- margin:1.0in 1.0in 1.0in 1.0in;}
-div.WordSection1
- {page:WordSection1;}
--->
-</style>
-
-</head>
-
-<body lang=EN-US>
-
-<div class=WordSection1>
-
-<p class=MsoNormalCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>Table showing the number and percentage of
-(unique) productive and unproductive sequences per sample and per replicate. </span></p>
-
-<p class=MsoNormalCxSpLast style='margin-bottom:0in;margin-bottom:.0001pt;
-text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
-font-family:"Times New Roman","serif"'>&nbsp;</span></p>
-
-<p class=MsoNoSpacing style='text-align:justify'><span lang=EN-GB
-style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The definition
-of unique sequences is based on the clonal type definition filter setting
-chosen.</span></p>
-
-<p class=MsoNormal><span lang=EN-GB>&nbsp;</span></p>
-
-</div>
-
-</body>
-
-</html>
+<html>
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Generator content="Microsoft Word 14 (filtered)">
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Calibri;
+ panose-1:2 15 5 2 2 2 4 3 2 4;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {margin-top:0in;
+ margin-right:0in;
+ margin-bottom:10.0pt;
+ margin-left:0in;
+ line-height:115%;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
+ {margin:0in;
+ margin-bottom:.0001pt;
+ font-size:11.0pt;
+ font-family:"Calibri","sans-serif";}
+.MsoChpDefault
+ {font-family:"Calibri","sans-serif";}
+.MsoPapDefault
+ {margin-bottom:10.0pt;
+ line-height:115%;}
+@page WordSection1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.0in 1.0in 1.0in;}
+div.WordSection1
+ {page:WordSection1;}
+-->
+</style>
+
+</head>
+
+<body lang=EN-US>
+
+<div class=WordSection1>
+
+<p class=MsoNormalCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>Table showing the number and percentage of
+(unique) productive and unproductive sequences per sample and per replicate. </span></p>
+
+<p class=MsoNormalCxSpLast style='margin-bottom:0in;margin-bottom:.0001pt;
+text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt;
+font-family:"Times New Roman","serif"'>&nbsp;</span></p>
+
+<p class=MsoNoSpacing style='text-align:justify'><span lang=EN-GB
+style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The definition
+of unique sequences is based on the clonal type definition filter setting
+chosen.</span></p>
+
+<p class=MsoNormal><span lang=EN-GB>&nbsp;</span></p>
+
+</div>
+
+</body>
+
+</html>
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/pure-min.css
--- a/report_clonality/pure-min.css Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/pure-min.css Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,11 +1,11 @@\n-/*!\r\n-Pure v0.6.0\r\n-Copyright 2014 Yahoo! Inc. All rights reserved.\r\n-Licensed under the BSD License.\r\n-https://github.com/yahoo/pure/blob/master/LICENSE.md\r\n-*/\r\n-/*!\r\n-normalize.css v^3.0 | MIT License | git.io/normalize\r\n-Copyright (c) Nicolas Gallagher and Jonathan Neal\r\n-*/\r\n+/*!\n+Pure v0.6.0\n+Copyright 2014 Yahoo! Inc. All rights reserved.\n+Licensed under the BSD License.\n+https://github.com/yahoo/pure/blob/master/LICENSE.md\n+*/\n+/*!\n+normalize.css v^3.0 | MIT License | git.io/normalize\n+Copyright (c) Nicolas Gallagher and Jonathan Neal\n+*/\n /*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap;-ms-align-content:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1'..b'roup input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-list,.pure-menu-item{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-link,.pure-menu-heading{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-separator{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-allow-hover:hover>.pure-menu-children,.pure-menu-active>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-link,.pure-menu-disabled,.pure-menu-heading{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:hover,.pure-menu-link:focus{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}\n\\ No newline at end of file\n'
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/r_wrapper.sh
--- a/report_clonality/r_wrapper.sh Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/r_wrapper.sh Tue Nov 16 15:42:32 2021 +0000
[
@@ -17,7 +17,7 @@
 fi
 echo "$species"
 if [[ "$species" == *"custom"* ]] ; then
- loci=(${locus//;/ })
+ loci=("${locus//;/ }")
  useD="true"
  echo "${loci[@]}"
  if [[ "${#loci[@]}" -eq "2" ]] ; then
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/script.js
--- a/report_clonality/script.js Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/script.js Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,36 +1,36 @@
-function compareAdd(id){
- var img = document.createElement('img');
- img.setAttribute('src', 'HeatmapVD_' + id + '.png');
- var td = document.createElement('td');
- td.setAttribute('id', "comparison_vd_" + id);
- td.appendChild(img)
- $('#comparison_table_vd').append(td);
-
- img = document.createElement('img');
- img.setAttribute('src', 'HeatmapVJ_' + id + '.png');
- td = document.createElement('td');
- td.setAttribute('id', "comparison_vj_" + id);
- td.appendChild(img)
- $('#comparison_table_vj').append(td);
-
- img = document.createElement('img');
- img.setAttribute('src', 'HeatmapDJ_' + id + '.png');
- td = document.createElement('td');
- td.setAttribute('id', "comparison_dj_" + id);
- td.appendChild(img)
- $('#comparison_table_dj').append(td);
-
- $('#compare_checkbox_' + id).attr('onchange', "javascript:compareRemove('" + id + "')");
-}
-
-
-function compareRemove(id){
- $("#comparison_vd_" + id).remove()
- $("#comparison_vj_" + id).remove()
- $("#comparison_dj_" + id).remove()
- $("#compare_checkbox_" + id).attr('onchange', "javascript:compareAdd('" + id + "')");
-}
-
-$( document ).ready(function () {
- $('#junction_table').tablesorter();
-})
+function compareAdd(id){
+ var img = document.createElement('img');
+ img.setAttribute('src', 'HeatmapVD_' + id + '.png');
+ var td = document.createElement('td');
+ td.setAttribute('id', "comparison_vd_" + id);
+ td.appendChild(img)
+ $('#comparison_table_vd').append(td);
+
+ img = document.createElement('img');
+ img.setAttribute('src', 'HeatmapVJ_' + id + '.png');
+ td = document.createElement('td');
+ td.setAttribute('id', "comparison_vj_" + id);
+ td.appendChild(img)
+ $('#comparison_table_vj').append(td);
+
+ img = document.createElement('img');
+ img.setAttribute('src', 'HeatmapDJ_' + id + '.png');
+ td = document.createElement('td');
+ td.setAttribute('id', "comparison_dj_" + id);
+ td.appendChild(img)
+ $('#comparison_table_dj').append(td);
+
+ $('#compare_checkbox_' + id).attr('onchange', "javascript:compareRemove('" + id + "')");
+}
+
+
+function compareRemove(id){
+ $("#comparison_vd_" + id).remove()
+ $("#comparison_vj_" + id).remove()
+ $("#comparison_dj_" + id).remove()
+ $("#compare_checkbox_" + id).attr('onchange', "javascript:compareAdd('" + id + "')");
+}
+
+$( document ).ready(function () {
+ $('#junction_table').tablesorter();
+})
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/style.css
--- a/report_clonality/style.css Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/style.css Tue Nov 16 15:42:32 2021 +0000
b
@@ -1,109 +1,109 @@
-/* $Id: example.css,v 1.5 2006/03/27 02:44:36 pat Exp $ */
-
-/*--------------------------------------------------
-  REQUIRED to hide the non-active tab content.
-  But do not hide them in the print stylesheet!
-  --------------------------------------------------*/
-.tabberlive .tabbertabhide {
- display:none;
-}
-
-/*--------------------------------------------------
-  .tabber = before the tabber interface is set up
-  .tabberlive = after the tabber interface is set up
-  --------------------------------------------------*/
-.tabber {
-}
-.tabberlive {
- margin-top:1em;
-}
-
-/*--------------------------------------------------
-  ul.tabbernav = the tab navigation list
-  li.tabberactive = the active tab
-  --------------------------------------------------*/
-ul.tabbernav
-{
- margin:0;
- padding: 3px 0;
- border-bottom: 1px solid #778;
- font: bold 12px Verdana, sans-serif;
-}
-
-ul.tabbernav li
-{
- list-style: none;
- margin: 0;
- display: inline;
-}
-
-ul.tabbernav li a
-{
- padding: 3px 0.5em;
- margin-left: 3px;
- border: 1px solid #778;
- border-bottom: none;
- background: #DDE;
- text-decoration: none;
-}
-
-ul.tabbernav li a:link { color: #448; }
-ul.tabbernav li a:visited { color: #667; }
-
-ul.tabbernav li a:hover
-{
- color: #000;
- background: #AAE;
- border-color: #227;
-}
-
-ul.tabbernav li.tabberactive a
-{
- background-color: #fff;
- border-bottom: 1px solid #fff;
-}
-
-ul.tabbernav li.tabberactive a:hover
-{
- color: #000;
- background: white;
- border-bottom: 1px solid white;
-}
-
-/*--------------------------------------------------
-  .tabbertab = the tab content
-  Add style only after the tabber interface is set up (.tabberlive)
-  --------------------------------------------------*/
-.tabberlive .tabbertab {
- padding:5px;
- border:1px solid #aaa;
- border-top:0;
-
- /* If you don't want the tab size changing whenever a tab is changed
-    you can set a fixed height */
-
- /* height:200px; */
-
- /* If you set a fix height set overflow to auto and you will get a
-    scrollbar when necessary */
-
- /* overflow:auto; */
-}
-
-/* If desired, hide the heading since a heading is provided by the tab */
-.tabberlive .tabbertab h2 {
- display:none;
-}
-.tabberlive .tabbertab h3 {
- display:none;
-}
-
-/* Example of using an ID to set different styles for the tabs on the page */
-.tabberlive#tab1 {
-}
-.tabberlive#tab2 {
-}
-.tabberlive#tab2 .tabbertab {
- height:200px;
- overflow:auto;
-}
+/* $Id: example.css,v 1.5 2006/03/27 02:44:36 pat Exp $ */
+
+/*--------------------------------------------------
+  REQUIRED to hide the non-active tab content.
+  But do not hide them in the print stylesheet!
+  --------------------------------------------------*/
+.tabberlive .tabbertabhide {
+ display:none;
+}
+
+/*--------------------------------------------------
+  .tabber = before the tabber interface is set up
+  .tabberlive = after the tabber interface is set up
+  --------------------------------------------------*/
+.tabber {
+}
+.tabberlive {
+ margin-top:1em;
+}
+
+/*--------------------------------------------------
+  ul.tabbernav = the tab navigation list
+  li.tabberactive = the active tab
+  --------------------------------------------------*/
+ul.tabbernav
+{
+ margin:0;
+ padding: 3px 0;
+ border-bottom: 1px solid #778;
+ font: bold 12px Verdana, sans-serif;
+}
+
+ul.tabbernav li
+{
+ list-style: none;
+ margin: 0;
+ display: inline;
+}
+
+ul.tabbernav li a
+{
+ padding: 3px 0.5em;
+ margin-left: 3px;
+ border: 1px solid #778;
+ border-bottom: none;
+ background: #DDE;
+ text-decoration: none;
+}
+
+ul.tabbernav li a:link { color: #448; }
+ul.tabbernav li a:visited { color: #667; }
+
+ul.tabbernav li a:hover
+{
+ color: #000;
+ background: #AAE;
+ border-color: #227;
+}
+
+ul.tabbernav li.tabberactive a
+{
+ background-color: #fff;
+ border-bottom: 1px solid #fff;
+}
+
+ul.tabbernav li.tabberactive a:hover
+{
+ color: #000;
+ background: white;
+ border-bottom: 1px solid white;
+}
+
+/*--------------------------------------------------
+  .tabbertab = the tab content
+  Add style only after the tabber interface is set up (.tabberlive)
+  --------------------------------------------------*/
+.tabberlive .tabbertab {
+ padding:5px;
+ border:1px solid #aaa;
+ border-top:0;
+
+ /* If you don't want the tab size changing whenever a tab is changed
+    you can set a fixed height */
+
+ /* height:200px; */
+
+ /* If you set a fix height set overflow to auto and you will get a
+    scrollbar when necessary */
+
+ /* overflow:auto; */
+}
+
+/* If desired, hide the heading since a heading is provided by the tab */
+.tabberlive .tabbertab h2 {
+ display:none;
+}
+.tabberlive .tabbertab h3 {
+ display:none;
+}
+
+/* Example of using an ID to set different styles for the tabs on the page */
+.tabberlive#tab1 {
+}
+.tabberlive#tab2 {
+}
+.tabberlive#tab2 .tabbertab {
+ height:200px;
+ overflow:auto;
+}
b
diff -r 0ef7f80ea061 -r 81b3eb11ed2c report_clonality/tabber.js
--- a/report_clonality/tabber.js Thu Feb 25 13:39:50 2021 +0000
+++ b/report_clonality/tabber.js Tue Nov 16 15:42:32 2021 +0000
[
b'@@ -1,40 +1,40 @@\n-/* Copyright (c) 2006 Patrick Fitzgerald */\r\n-\r\n-function tabberObj(argsObj)\r\n-{var arg;this.div=null;this.classMain="tabber";this.classMainLive="tabberlive";this.classTab="tabbertab";this.classTabDefault="tabbertabdefault";this.classNav="tabbernav";this.classTabHide="tabbertabhide";this.classNavActive="tabberactive";this.titleElements=[\'h2\',\'h3\',\'h4\',\'h5\',\'h6\'];this.titleElementsStripHTML=true;this.removeTitle=true;this.addLinkId=false;this.linkIdFormat=\'<tabberid>nav<tabnumberone>\';for(arg in argsObj){this[arg]=argsObj[arg];}\r\n-this.REclassMain=new RegExp(\'\\\\b\'+this.classMain+\'\\\\b\',\'gi\');this.REclassMainLive=new RegExp(\'\\\\b\'+this.classMainLive+\'\\\\b\',\'gi\');this.REclassTab=new RegExp(\'\\\\b\'+this.classTab+\'\\\\b\',\'gi\');this.REclassTabDefault=new RegExp(\'\\\\b\'+this.classTabDefault+\'\\\\b\',\'gi\');this.REclassTabHide=new RegExp(\'\\\\b\'+this.classTabHide+\'\\\\b\',\'gi\');this.tabs=new Array();if(this.div){this.init(this.div);this.div=null;}}\r\n-tabberObj.prototype.init=function(e)\r\n-{var\r\n-childNodes,i,i2,t,defaultTab=0,DOM_ul,DOM_li,DOM_a,aId,headingElement;if(!document.getElementsByTagName){return false;}\r\n-if(e.id){this.id=e.id;}\r\n-this.tabs.length=0;childNodes=e.childNodes;for(i=0;i<childNodes.length;i++){if(childNodes[i].className&&childNodes[i].className.match(this.REclassTab)){t=new Object();t.div=childNodes[i];this.tabs[this.tabs.length]=t;if(childNodes[i].className.match(this.REclassTabDefault)){defaultTab=this.tabs.length-1;}}}\r\n-DOM_ul=document.createElement("ul");DOM_ul.className=this.classNav;for(i=0;i<this.tabs.length;i++){t=this.tabs[i];t.headingText=t.div.title;if(this.removeTitle){t.div.title=\'\';}\r\n-if(!t.headingText){for(i2=0;i2<this.titleElements.length;i2++){headingElement=t.div.getElementsByTagName(this.titleElements[i2])[0];if(headingElement){t.headingText=headingElement.innerHTML;if(this.titleElementsStripHTML){t.headingText.replace(/<br>/gi," ");t.headingText=t.headingText.replace(/<[^>]+>/g,"");}\r\n-break;}}}\r\n-if(!t.headingText){t.headingText=i+1;}\r\n-DOM_li=document.createElement("li");t.li=DOM_li;DOM_a=document.createElement("a");DOM_a.appendChild(document.createTextNode(t.headingText));DOM_a.href="javascript:void(null);";DOM_a.title=t.headingText;DOM_a.onclick=this.navClick;DOM_a.tabber=this;DOM_a.tabberIndex=i;if(this.addLinkId&&this.linkIdFormat){aId=this.linkIdFormat;aId=aId.replace(/<tabberid>/gi,this.id);aId=aId.replace(/<tabnumberzero>/gi,i);aId=aId.replace(/<tabnumberone>/gi,i+1);aId=aId.replace(/<tabtitle>/gi,t.headingText.replace(/[^a-zA-Z0-9\\-]/gi,\'\'));DOM_a.id=aId;}\r\n-DOM_li.appendChild(DOM_a);DOM_ul.appendChild(DOM_li);}\r\n-e.insertBefore(DOM_ul,e.firstChild);e.className=e.className.replace(this.REclassMain,this.classMainLive);this.tabShow(defaultTab);if(typeof this.onLoad==\'function\'){this.onLoad({tabber:this});}\r\n-return this;};tabberObj.prototype.navClick=function(event)\r\n-{var\r\n-rVal,a,self,tabberIndex,onClickArgs;a=this;if(!a.tabber){return false;}\r\n-self=a.tabber;tabberIndex=a.tabberIndex;a.blur();if(typeof self.onClick==\'function\'){onClickArgs={\'tabber\':self,\'index\':tabberIndex,\'event\':event};if(!event){onClickArgs.event=window.event;}\r\n-rVal=self.onClick(onClickArgs);if(rVal===false){return false;}}\r\n-self.tabShow(tabberIndex);return false;};tabberObj.prototype.tabHideAll=function()\r\n-{var i;for(i=0;i<this.tabs.length;i++){this.tabHide(i);}};tabberObj.prototype.tabHide=function(tabberIndex)\r\n-{var div;if(!this.tabs[tabberIndex]){return false;}\r\n-div=this.tabs[tabberIndex].div;if(!div.className.match(this.REclassTabHide)){div.className+=\' \'+this.classTabHide;}\r\n-this.navClearActive(tabberIndex);return this;};tabberObj.prototype.tabShow=function(tabberIndex)\r\n-{var div;if(!this.tabs[tabberIndex]){return false;}\r\n-this.tabHideAll();div=this.tabs[tabberIndex].div;div.className=div.className.replace(this.REclassTabHide,\'\');this.navSetActive(tabberIndex);if(typeof this.onTabDisplay==\'function\'){this.onTabDisplay({\'tabber\':this,\'index\':tabberIndex});}\r\n-return this;};tabberObj.prototype.n'..b'var\n+childNodes,i,i2,t,defaultTab=0,DOM_ul,DOM_li,DOM_a,aId,headingElement;if(!document.getElementsByTagName){return false;}\n+if(e.id){this.id=e.id;}\n+this.tabs.length=0;childNodes=e.childNodes;for(i=0;i<childNodes.length;i++){if(childNodes[i].className&&childNodes[i].className.match(this.REclassTab)){t=new Object();t.div=childNodes[i];this.tabs[this.tabs.length]=t;if(childNodes[i].className.match(this.REclassTabDefault)){defaultTab=this.tabs.length-1;}}}\n+DOM_ul=document.createElement("ul");DOM_ul.className=this.classNav;for(i=0;i<this.tabs.length;i++){t=this.tabs[i];t.headingText=t.div.title;if(this.removeTitle){t.div.title=\'\';}\n+if(!t.headingText){for(i2=0;i2<this.titleElements.length;i2++){headingElement=t.div.getElementsByTagName(this.titleElements[i2])[0];if(headingElement){t.headingText=headingElement.innerHTML;if(this.titleElementsStripHTML){t.headingText.replace(/<br>/gi," ");t.headingText=t.headingText.replace(/<[^>]+>/g,"");}\n+break;}}}\n+if(!t.headingText){t.headingText=i+1;}\n+DOM_li=document.createElement("li");t.li=DOM_li;DOM_a=document.createElement("a");DOM_a.appendChild(document.createTextNode(t.headingText));DOM_a.href="javascript:void(null);";DOM_a.title=t.headingText;DOM_a.onclick=this.navClick;DOM_a.tabber=this;DOM_a.tabberIndex=i;if(this.addLinkId&&this.linkIdFormat){aId=this.linkIdFormat;aId=aId.replace(/<tabberid>/gi,this.id);aId=aId.replace(/<tabnumberzero>/gi,i);aId=aId.replace(/<tabnumberone>/gi,i+1);aId=aId.replace(/<tabtitle>/gi,t.headingText.replace(/[^a-zA-Z0-9\\-]/gi,\'\'));DOM_a.id=aId;}\n+DOM_li.appendChild(DOM_a);DOM_ul.appendChild(DOM_li);}\n+e.insertBefore(DOM_ul,e.firstChild);e.className=e.className.replace(this.REclassMain,this.classMainLive);this.tabShow(defaultTab);if(typeof this.onLoad==\'function\'){this.onLoad({tabber:this});}\n+return this;};tabberObj.prototype.navClick=function(event)\n+{var\n+rVal,a,self,tabberIndex,onClickArgs;a=this;if(!a.tabber){return false;}\n+self=a.tabber;tabberIndex=a.tabberIndex;a.blur();if(typeof self.onClick==\'function\'){onClickArgs={\'tabber\':self,\'index\':tabberIndex,\'event\':event};if(!event){onClickArgs.event=window.event;}\n+rVal=self.onClick(onClickArgs);if(rVal===false){return false;}}\n+self.tabShow(tabberIndex);return false;};tabberObj.prototype.tabHideAll=function()\n+{var i;for(i=0;i<this.tabs.length;i++){this.tabHide(i);}};tabberObj.prototype.tabHide=function(tabberIndex)\n+{var div;if(!this.tabs[tabberIndex]){return false;}\n+div=this.tabs[tabberIndex].div;if(!div.className.match(this.REclassTabHide)){div.className+=\' \'+this.classTabHide;}\n+this.navClearActive(tabberIndex);return this;};tabberObj.prototype.tabShow=function(tabberIndex)\n+{var div;if(!this.tabs[tabberIndex]){return false;}\n+this.tabHideAll();div=this.tabs[tabberIndex].div;div.className=div.className.replace(this.REclassTabHide,\'\');this.navSetActive(tabberIndex);if(typeof this.onTabDisplay==\'function\'){this.onTabDisplay({\'tabber\':this,\'index\':tabberIndex});}\n+return this;};tabberObj.prototype.navSetActive=function(tabberIndex)\n+{this.tabs[tabberIndex].li.className=this.classNavActive;return this;};tabberObj.prototype.navClearActive=function(tabberIndex)\n+{this.tabs[tabberIndex].li.className=\'\';return this;};function tabberAutomatic(tabberArgs)\n+{var\n+tempObj,divs,i;if(!tabberArgs){tabberArgs={};}\n+tempObj=new tabberObj(tabberArgs);divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++){if(divs[i].className&&divs[i].className.match(tempObj.REclassMain)){tabberArgs.div=divs[i];divs[i].tabber=new tabberObj(tabberArgs);}}\n+return this;}\n+function tabberAutomaticOnLoad(tabberArgs)\n+{var oldOnLoad;if(!tabberArgs){tabberArgs={};}\n+oldOnLoad=window.onload;if(typeof window.onload!=\'function\'){window.onload=function(){tabberAutomatic(tabberArgs);};}else{window.onload=function(){oldOnLoad();tabberAutomatic(tabberArgs);};}}\n if(typeof tabberOptions==\'undefined\'){tabberAutomaticOnLoad();}else{if(!tabberOptions[\'manualStartup\']){tabberAutomaticOnLoad(tabberOptions);}}\n\\ No newline at end of file\n'