Repository 'report_clonality_igg'
hg clone https://eddie.galaxyproject.org/repos/davidvanzessen/report_clonality_igg

Changeset 23:5f0597a3fd8b (2015-01-16)
Previous changeset 22:2555b94dbdb2 (2015-01-15) Next changeset 24:5454af6fece1 (2015-01-23)
Commit message:
Uploaded
modified:
RScript.r
r_wrapper.sh
report_clonality_igg.xml
b
diff -r 2555b94dbdb2 -r 5f0597a3fd8b RScript.r
--- a/RScript.r Thu Jan 15 09:16:19 2015 -0500
+++ b/RScript.r Fri Jan 16 07:37:41 2015 -0500
[
@@ -166,23 +166,50 @@
 PRODFJ = merge(PRODFJ, Total, by.x='Sample', by.y='Sample', all.x=TRUE)
 PRODFJ = ddply(PRODFJ, c("Sample", "Top.J.Gene"), summarise, relFreq= (Length*100 / Total))
 
-# ---------------------- Setting up the gene names for the different T/B, human/mouse and locus ----------------------
+# ---------------------- Setting up the gene names for the different species/loci ----------------------
 
-genes = read.table("genes.txt", sep="\t", header=TRUE, fill=T, comment.char="")
+Vchain = ""
+Dchain = ""
+Jchain = ""
 
-Vchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "V",c("IMGT.GENE.DB", "chr.order")]
-colnames(Vchain) = c("v.name", "chr.orderV")
-Dchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "D",c("IMGT.GENE.DB", "chr.order")]
-colnames(Dchain) = c("v.name", "chr.orderD")
-Jchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "J",c("IMGT.GENE.DB", "chr.order")]
-colnames(Jchain) = c("v.name", "chr.orderJ")
+if(species == "custom"){
+ print("Custom genes: ")
+ splt = unlist(strsplit(locus, ";"))
+ print(paste("V:", splt[1]))
+ print(paste("D:", splt[2]))
+ print(paste("J:", splt[3]))
+
+ Vchain = unlist(strsplit(splt[1], ","))
+ Vchain = data.frame(v.name = Vchain, chr.orderV = 1:length(Vchain))
+
+ Dchain = unlist(strsplit(splt[2], ","))
+ if(length(Dchain) > 0){
+ Dchain = data.frame(v.name = Dchain, chr.orderD = 1:length(Dchain))
+ } else {
+ Dchain = data.frame(v.name = character(0), chr.orderD = numeric(0))
+ }
+
+ Jchain = unlist(strsplit(splt[3], ","))
+ Jchain = data.frame(v.name = Jchain, chr.orderJ = 1:length(Jchain))
 
+} else {
+ genes = read.table("genes.txt", sep="\t", header=TRUE, fill=T, comment.char="")
+
+ Vchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "V",c("IMGT.GENE.DB", "chr.order")]
+ colnames(Vchain) = c("v.name", "chr.orderV")
+ Dchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "D",c("IMGT.GENE.DB", "chr.order")]
+ colnames(Dchain) = c("v.name", "chr.orderD")
+ Jchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "J",c("IMGT.GENE.DB", "chr.order")]
+ colnames(Jchain) = c("v.name", "chr.orderJ")
+}
 useD = TRUE
 if(nrow(Dchain) == 0){
   useD = FALSE
   cat("No D Genes in this species/locus")
 }
 
+print(paste("useD:", useD))
+
 # ---------------------- merge with the frequency count ----------------------
 
 PRODFV = merge(PRODFV, Vchain, by.x='Top.V.Gene', by.y='v.name', all.x=TRUE)
b
diff -r 2555b94dbdb2 -r 5f0597a3fd8b r_wrapper.sh
--- a/r_wrapper.sh Thu Jan 15 09:16:19 2015 -0500
+++ b/r_wrapper.sh Fri Jan 16 07:37:41 2015 -0500
[
@@ -10,8 +10,18 @@
 dir="$(cd "$(dirname "$0")" && pwd)"
 useD="false"
 if grep -q "$species.*${locus}D" "$dir/genes.txt" ; then
+ echo "species D region in reference db"
  useD="true"
 fi
+echo "$species"
+if [[ "$species" == *"custom"* ]] ; then
+ loci=(${locus//;/ })
+ useD="true"
+ echo "${loci[@]}"
+ if [[ "${#loci[@]}" -eq "2" ]] ; then
+ useD="false"
+ fi
+fi
 mkdir $3
 cp $dir/genes.txt $outputDir
 Rscript --verbose $dir/RScript.r $inputFile $outputDir $outputDir $clonalType "$species" "$locus" $filterproductive 2>&1
b
diff -r 2555b94dbdb2 -r 5f0597a3fd8b report_clonality_igg.xml
--- a/report_clonality_igg.xml Thu Jan 15 09:16:19 2015 -0500
+++ b/report_clonality_igg.xml Fri Jan 16 07:37:41 2015 -0500
b
b'@@ -1,7 +1,11 @@\n <tool id="report_clonality_igg" name="Report Clonality" version="1.0">\n \t<description> </description>\n \t<command interpreter="bash">\n-\t\tr_wrapper.sh $in_file $out_file $out_file.files_path "$clonaltype" "$species" "$locus" $filterproductive\n+#if $gene_selection.source == "imgtdb"\t\t\n+\tr_wrapper.sh $in_file $out_file $out_file.files_path "$clonaltype" "${gene_selection.species}" "${gene_selection.locus}" $filterproductive\n+#else\n+\tr_wrapper.sh $in_file $out_file $out_file.files_path "$clonaltype" "custom" "${gene_selection.vgenes};${gene_selection.dgenes};${gene_selection.jgenes}" $filterproductive\n+#end if\n \t</command>\n \t<inputs>\n \t\t<param name="in_file" format="tabular" type="data" label="Data to Process" />\n@@ -14,73 +18,147 @@\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.Seq.DNA</option>\n \t\t</param>\n \t\t\n-\t\t<param name="species" type="select" label="Species">\n-\t\t\t<option value="Bos taurus">Bos taurus</option>\n-\t\t\t<option value="Bos taurus functional">Bos taurus functional</option>\n-\t\t\t<option value="Bos taurus non-functional">Bos taurus non-functional</option>\n-\t\t\t<option value="Camelus dromedarius">Camelus dromedarius</option>\n-\t\t\t<option value="Camelus dromedarius functional">Camelus dromedarius functional</option>\n-\t\t\t<option value="Camelus dromedarius non-functional">Camelus dromedarius non-functional</option>\n-\t\t\t<option value="Canis lupus familiaris">Canis lupus familiaris</option>\n-\t\t\t<option value="Canis lupus familiaris functional">Canis lupus familiaris functional</option>\n-\t\t\t<option value="Canis lupus familiaris non-functional">Canis lupus familiaris non-functional</option>\n-\t\t\t<option value="Danio rerio">Danio rerio</option>\n-\t\t\t<option value="Danio rerio functional">Danio rerio functional</option>\n-\t\t\t<option value="Danio rerio non-functional">Danio rerio non-functional</option>\n-\t\t\t<option value="Homo sapiens">Homo sapiens</option>\n-\t\t\t<option value="Homo sapiens functional">Homo sapiens functional</option>\n-\t\t\t<option value="Homo sapiens non-functional">Homo sapiens non-functional</option>\n-\t\t\t<option value="Macaca mulatta">Macaca mulatta</option>\n-\t\t\t<option value="Macaca mulatta functional">Macaca mulatta functional</option>\n-\t\t\t<option value="Macaca mulatta non-functional">Macaca mulatta non-functional</option>\n-\t\t\t<option value="Mus musculus">Mus musculus</option>\n-\t\t\t<option value="Mus musculus functional">Mus musculus functional</option>\n-\t\t\t<option value="Mus musculus non-functional">Mus musculus non-functional</option>\n-\t\t\t<option value="Mus spretus">Mus spretus</option>\n-\t\t\t<option value="Mus spretus functional">Mus spretus functional</option>\n-\t\t\t<option value="Mus spretus non-functional">Mus spretus non-functional</option>\n-\t\t\t<option value="Oncorhynchus mykiss">Oncorhynchus mykiss</option>\n-\t\t\t<option value="Oncorhynchus mykiss functional">Oncorhynchus mykiss functional</option>\n-\t\t\t<option value="Oncorhynchus mykiss non-functional">Oncorhynchus mykiss non-functional</option>\n-\t\t\t<option value="Ornithorhynchus anatinus">Ornithorhynchus anatinus</option>\n-\t\t\t<option value="Ornithorhynchus anatinus functional">Ornithorhynchus anatinus functional</option>\n-\t\t\t<option value="Ornithorhynchus anatinus non-functional">Ornithorhynchus anatinus non-functional</option>\n-\t\t\t<option value="Oryctolagus cuniculus">Oryctolagus cuniculus</option>\n-\t\t\t<option value="Oryctolagus cuniculus functional">Oryctolagus cuniculus functional</option>\n-\t\t\t<option value="Oryctolagus cuniculus non-functional">Oryctolagus cuniculus non-functional</option>\n-\t\t\t<option value="Rattus norvegicus">Rattus norvegicus</option>\n-\t\t\t<option value="Rattus norvegicus functional">Rattus norvegicus functional</option>\n-\t\t\t<option value="Rattus norvegicus non-functional">Rattus norvegicus non-functional</option>\n-\t\t\t<option value="Sus scrofa">Sus scrofa</option>\n-\t\t\t<option value="Sus scrofa functional">Sus scrofa functional</option>\n-\t\t\t<option value="Sus scrofa '..b'param name="dgenes" type="text" label="D Genes" size="100" />\n+\t\t\t\t<param name="jgenes" type="text" label="J Genes" size="100" />\n+\t\t\t</when>\n+\t\t</conditional>\n \t\t\n \t\t<param name="filterproductive" type="select" label="Filter out the unproductive sequences">\n \t\t\t<option value="yes">Yes</option>\n \t\t\t<option value="no">No</option>\n \t\t</param>\n-\n \t</inputs>\n \t<outputs>\n \t\t<data format="html" name="out_file" />\n \t</outputs>\n-\t<help>\n+\t<help>\t\t\n **INPUT**\n \n One or more ARGalaxy proprietary format files combined with the ARGalaxy Experimental Design tool\n \n+\n+.. class:: warningmark\n+\n+Custom gene ordering based on position on genome: \n+\n+**Human**\n+\n+IGH::\n+\n+    V:IGHV3-74,IGHV3-73,IGHV3-72,IGHV2-70,IGHV1-69D,IGHV1-69-2,IGHV2-70D,IGHV1-69,IGHV3-66,IGHV3-64,IGHV4-61,IGHV4-59,IGHV1-58,IGHV3-53,IGHV5-51,IGHV3-49,IGHV3-48,IGHV1-46,IGHV1-45,IGHV3-43,IGHV4-39,IGHV3-43D,IGHV4-38-2,IGHV4-34,IGHV3-33,IGHV4-31,IGHV3-30-5,IGHV4-30-4,IGHV3-30-3,IGHV4-30-2,IGHV4-30-1,IGHV3-30,IGHV4-28,IGHV2-26,IGHV1-24,IGHV3-23D,IGHV3-23,IGHV3-21,IGHV3-20,IGHV1-18,IGHV3-15,IGHV3-13,IGHV3-11,IGHV5-10-1,IGHV3-9,IGHV1-8,IGHV3-64D,IGHV3-7,IGHV2-5,IGHV7-4-1,IGHV4-4,IGHV1-3,IGHV1-2,IGHV6-1\n+    D:IGHD1-1,IGHD2-2,IGHD3-3,IGHD4-4,IGHD5-5,IGHD6-6,IGHD1-7,IGHD2-8,IGHD3-9,IGHD3-10,IGHD5-12,IGHD6-13,IGHD2-15,IGHD3-16,IGHD4-17,IGHD5-18,IGHD6-19,IGHD1-20,IGHD2-21,IGHD3-22,IGHD5-24,IGHD6-25,IGHD1-26,IGHD7-27\n+    J:IGHJ1,IGHJ2,IGHJ3,IGHJ4,IGHJ5,IGHJ6\n+\n+\n+IGK::\n+\n+    V:IGKV3D-7,IGKV1D-8,IGKV1D-43,IGKV3D-11,IGKV1D-12,IGKV1D-13,IGKV3D-15,IGKV1D-16,IGKV1D-17,IGKV3D-20,IGKV2D-26,IGKV2D-28,IGKV2D-29,IGKV2D-30,IGKV1D-33,IGKV1D-39,IGKV2D-40,IGKV2-40,IGKV1-39,IGKV1-33,IGKV2-30,IGKV2-29,IGKV2-28,IGKV1-27,IGKV2-24,IGKV3-20,IGKV1-17,IGKV1-16,IGKV3-15,IGKV1-13,IGKV1-12,IGKV3-11,IGKV1-9,IGKV1-8,IGKV1-6,IGKV1-5,IGKV5-2,IGKV4-1\n+    J:IGKJ1,IGKJ2,IGKJ3,IGKJ4,IGKJ5\n+\n+\n+IGL::\n+\n+    V:IGLV4-69,IGLV8-61,IGLV4-60,IGLV6-57,IGLV5-52,IGLV1-51,IGLV9-49,IGLV1-47,IGLV7-46,IGLV5-45,IGLV1-44,IGLV7-43,IGLV1-41,IGLV1-40,IGLV5-39,IGLV5-37,IGLV1-36,IGLV3-27,IGLV3-25,IGLV2-23,IGLV3-22,IGLV3-21,IGLV3-19,IGLV2-18,IGLV3-16,IGLV2-14,IGLV3-12,IGLV2-11,IGLV3-10,IGLV3-9,IGLV2-8,IGLV4-3,IGLV3-1\n+    J:IGLJ1,IGLJ2,IGLJ3,IGLJ6,IGLJ7\n+\n+\n+TRB::\n+\n+    V:TRBV2,TRBV3-1,TRBV4-1,TRBV5-1,TRBV6-1,TRBV4-2,TRBV6-2,TRBV4-3,TRBV6-3,TRBV7-2,TRBV6-4,TRBV7-3,TRBV9,TRBV10-1,TRBV11-1,TRBV10-2,TRBV11-2,TRBV6-5,TRBV7-4,TRBV5-4,TRBV6-6,TRBV5-5,TRBV7-6,TRBV5-6,TRBV6-8,TRBV7-7,TRBV6-9,TRBV7-8,TRBV5-8,TRBV7-9,TRBV13,TRBV10-3,TRBV11-3,TRBV12-3,TRBV12-4,TRBV12-5,TRBV14,TRBV15,TRBV16,TRBV18,TRBV19,TRBV20-1,TRBV24-1,TRBV25-1,TRBV27,TRBV28,TRBV29-1,TRBV30\n+    D:TRBD1,TRBD2\n+    J:TRBJ1-1,TRBJ1-2,TRBJ1-3,TRBJ1-4,TRBJ1-5,TRBJ1-6,TRBJ2-1,TRBJ2-2,TRBJ2-3,TRBJ2-4,TRBJ2-5,TRBJ2-6,TRBJ2-7\n+\n+\n+TRA::\n+\n+    V:TRAV1-1,TRAV1-2,TRAV2,TRAV3,TRAV4,TRAV5,TRAV6,TRAV7,TRAV8-1,TRAV9-1,TRAV10,TRAV12-1,TRAV8-2,TRAV8-3,TRAV13-1,TRAV12-2,TRAV8-4,TRAV13-2,TRAV14/DV4,TRAV9-2,TRAV12-3,TRAV8-6,TRAV16,TRAV17,TRAV18,TRAV19,TRAV20,TRAV21,TRAV22,TRAV23/DV6,TRAV24,TRAV25,TRAV26-1,TRAV27,TRAV29/DV5,TRAV30,TRAV26-2,TRAV34,TRAV35,TRAV36/DV7,TRAV38-1,TRAV38-2/DV8,TRAV39,TRAV40,TRAV41\n+    J:TRAJ57,TRAJ56,TRAJ54,TRAJ53,TRAJ52,TRAJ50,TRAJ49,TRAJ48,TRAJ47,TRAJ46,TRAJ45,TRAJ44,TRAJ43,TRAJ42,TRAJ41,TRAJ40,TRAJ39,TRAJ38,TRAJ37,TRAJ36,TRAJ34,TRAJ33,TRAJ32,TRAJ31,TRAJ30,TRAJ29,TRAJ28,TRAJ27,TRAJ26,TRAJ24,TRAJ23,TRAJ22,TRAJ21,TRAJ20,TRAJ18,TRAJ17,TRAJ16,TRAJ15,TRAJ14,TRAJ13,TRAJ12,TRAJ11,TRAJ10,TRAJ9,TRAJ8,TRAJ7,TRAJ6,TRAJ5,TRAJ4,TRAJ3\n+\n+\n+TRG::\n+\n+    V:TRGV9,TRGV8,TRGV5,TRGV4,TRGV3,TRGV2\n+    J:TRGJ2,TRGJP2,TRGJ1,TRGJP1\n+\n+\n+TRD::\n+\n+    V:TRDV1,TRDV2,TRDV3\n+    D:TRDD1,TRDD2,TRDD3\n+    J:TRDJ1,TRDJ4,TRDJ2,TRDJ3\n+\n+\n+**Mouse**\n+\n+TRB::\n+\n+    V:TRBV1,TRBV2,TRBV3,TRBV4,TRBV5,TRBV12-1,TRBV13-1,TRBV12-2,TRBV13-2,TRBV13-3,TRBV14,TRBV15,TRBV16,TRBV17,TRBV19,TRBV20,TRBV23,TRBV24,TRBV26,TRBV29,TRBV30,TRBV31\n+    D:TRBD1,TRBD2\n+    J:TRBJ1-1,TRBJ1-2,TRBJ1-3,TRBJ1-4,TRBJ1-5,TRBJ2-1,TRBJ2-2,TRBJ2-3,TRBJ2-4,TRBJ2-5,TRBJ2-6,TRBJ2-7\n+    \n+\n **OUTPUT**\n \n It generates the following result:\n'