Mercurial > repos > dereeper > haplophyle
changeset 0:6f11162b6fa2 draft
planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
author | dereeper |
---|---|
date | Tue, 14 Aug 2018 08:04:23 -0400 |
parents | |
children | 8e248dc6ad56 |
files | Haplophyle.pl Haplophyle.sh Haplophyle.xml HaplophyleInBatch.pl NetworkCreator_fat.jar test-data/cytoscape.html test-data/dotfile.txt test-data/filelog.txt test-data/haplotype.fasta test-data/haplotype.txt test-data/network.txt test-data/output.json |
diffstat | 12 files changed, 721 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Haplophyle.pl Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,142 @@ +#!/usr/bin/perl + +use strict; +use Getopt::Long; +use Bio::SeqIO; + +use Cwd; +my $dir = getcwd; + + +my $usage = qq~Usage:$0 <args> [<opts>] +where <args> are: + -i, --input <input> + -o, --output <output> + -d, --dotfile <dotfile> +<opts> are: + -g, --groups <groupfile> + -s, --stats <statfile> + -t, --tool_path <tool_path> +~; +$usage .= "\n"; + +my ($infile,$output,$outfile,$groupfile,$statfile,$tool_path); + + +GetOptions( + "input=s" => \$infile, + "output=s" => \$output, + "dot=s" => \$outfile, + "groups=s" => \$groupfile, + "stats=s" => \$statfile, + "tool_path=s"=> \$tool_path +); + + +die $usage + if ( !$infile); + + +my $HAPLOPHYLE_EXE = "java -Xmx2048m -jar NetworkCreator_fat.jar"; +if ($tool_path){ + $HAPLOPHYLE_EXE = "java -Xmx2048m -jar $tool_path/NetworkCreator_fat.jar"; +} + + +my $out_png = "network.png"; + +my $command = "$HAPLOPHYLE_EXE -in $infile -out $outfile"; +system($command); + + + +my %groups; +my %groups2; +my %hash; +my %haplosize; +if ($groupfile && $statfile){ + open(G,$groupfile); + while(<G>){ + my $line = $_;$line=~s/\n//g;$line=~s/\r//g; + my ($ind,$group) = split(";",$line); + if ($group =~/\w+/ && $ind=~/\w+/){ + $groups{$group}.=$ind.","; + $groups2{$ind} = $group; + } + } + close(G); + + open(S,$statfile); + while(<S>){ + if (/^(haplo\d+):(\d+):(.*)/){ + my $haplo_num = $1; + my $nb_haplo = $2; + my $inds = $3; + my @inds = split(",",$3); + foreach my $ind(@inds){ + my ($indname,$rank) = split("_",$ind); + my $group = $groups2{$indname}; + $hash{$haplo_num}{$group}++; + $haplosize{$haplo_num}++; + } + } + } + close(S); +} + +my $nb_groups = scalar keys(%groups); +my @colors = ("#ed292a","#ed292a","#82ABA0","#2255a6","#6ebe43","#e76599","#662e91","#c180ff","#ea8b2f","#fff100","#666666","#01ffff","#bfbfbf","#2ac966","#666666"); +my $pie_block = ""; +my %correspondence_groups; +my $i = 0; +foreach my $group(keys(%groups)){ + $i++; + $correspondence_groups{$i} = $group; + $pie_block .= "'pie-$i-background-color': '$colors[$i]',\n"; + $pie_block .= "'pie-$i-background-size': 'mapData(group$i, 0, 10, 0, 100)',\n"; +} +open(JSON_CYTOSCAPE,">$output"); +my $json = "{\"elements\": {\"nodes\": ["; +my $done = 0; +open(OUTFILE,"$outfile"); +while(<OUTFILE>){ + if (/(^\w+)\s\[.*width=([\d\.]+),/){ + my $node = $1; + my $size = $2; + my $ref_hash = $hash{$node}; + if ($ref_hash){ + my %hash2 = %$ref_hash; + my $s = scalar keys(%hash2); + $json.= "{ \"data\": { \"id\": \"$node\", \"width\": $size"; + for (my $i = 1; $i <= $nb_groups; $i++){ + my $group = $correspondence_groups{$i}; + my $ratio = 0; + if ($haplosize{$node} > 0 && $hash{$node}{$group} > 0){ + $ratio = ($hash{$node}{$group}/$haplosize{$node}) * 10; + } + $json .= ", group$i: $ratio"; + } + $json.= " } },\n"; + } + else{ + $json.= "{ \"data\": { \"id\": \"$node\", \"width\": $size} },\n"; + } + } + if (/(\w+) -- (\w+)/){ + if ($done == 0){ + $done = 1; + chop($json); + chop($json); + $json .= "],\n"; + $json .= "\"edges\": [\n"; + } + $done = 1; + $json.= "{ \"data\": { \"id\": \"$1$2\", \"weight\": 1, \"source\": \"$1\", \"target\": \"$2\"} },\n"; + } +} +chop($json); +chop($json); +$json.="]}}"; +print JSON_CYTOSCAPE $json; +close(JSON_CYTOSCAPE); +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Haplophyle.sh Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,36 @@ +#!/bin/bash + +# Config ####### +maxsizeseq=500 +maxnumseq=200 +################ + +tool_path=$(dirname $0) + +filein=$1 +fileout=$2 +dotfile=$3 +logfile=$4 +filein2=$5 +groups=$6 + +nbline=$(sed -n '$=' $filein) +let "nbseq = $nbline / 2" +seq=$(sed -n 2p $filein) +sizeseq=${#seq} + +if [ $nbseq -lt $maxnumseq ] +then + if [ $sizeseq -lt $maxsizeseq ] + then + perl $tool_path/Haplophyle.pl --input $filein --groups $groups --stats $filein2 --dot $dotfile --out $fileout --tool_path $tool_path >>$logfile 2>&1 + else + echo "Sequence size: $sizeseq" + echo "Input Sequences bust have a length < $maxsizeseq" + exit 1 + fi +else + echo "$nbseq sequences in the file" + echo "Input file must have less than $maxnumseq sequences" + exit 1 +fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Haplophyle.xml Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,227 @@ +<tool id="haplophyle" name="Haplophyle" version="1.0.0"> + + <!-- [REQUIRED] Tool description displayed after the tool name --> + <description>Generates haplotype network</description> + + <!-- [OPTIONAL] 3rd party tools, binaries, modules... required for the tool to work --> + <requirements> + <requirement type="binary">perl</requirement> + <requirement type="package" version="1.6.924">perl-bioperl</requirement> + </requirements> + + + <!-- [STRONGLY RECOMMANDED] Exit code rules --> + <stdio> + <!-- [HELP] If no exit code rule is defined, the tool will stop if anything is written to STDERR --> + <exit_code range="1:" level="fatal" /> + </stdio> + + <!-- [REQUIRED] The command to execute --> + <command interpreter="perl"> + Haplophyle.sh $input $fileout $dotfile $filelog + #if str( $color.choice ) == "yes": + $color.input2 $color.groups + #end if + </command> + <!-- [REQUIRED] Input files and tool parameters --> + <inputs> + <param name="input" type="data" format="fasta" optional="false" label="Haplotype sequences in Fasta" /> + <conditional name="color"> + <param name="choice" type="boolean" truevalue="yes" falsevalue="no" label="Group colorization?"/> + <when value="no"> + </when> + <when value="yes"> + <param name="input2" type="data" format="txt" optional="true" label="Haplotype sequences and individuals carrying the haplotype" help="See example below"/> + <param name="groups" type="data" format="txt" optional="true" label="Groups" help="Semicolon separated file (ind;group)"/> + </when> + </conditional> + </inputs> + + <!-- [REQUIRED] Output files --> + <outputs> + <data name="fileout" format="json" label="JSON for Cytoscape" /> + <data name="dotfile" format="txt" label="Dot file" /> + <data name="filelog" format="txt" label="Logfile" /> + </outputs> + + <!-- [OPTIONAL] Tests to be run manually by the Galaxy admin --> + <tests> + <!-- [HELP] Test files have to be in the ~/test-data directory --> + <test> + <param name="input" value="haplotype.fasta" /> + <conditional name="color"> + <param name="choice" value="yes" /> + <param name="input2" value="haplotype.txt" /> + <!--param name="groups" value="" /--> + </conditional> + <output name="fileout" file="output.json" compare="sim_size" delta="0"/> + <output name="dotfile" file="dotfile.txt" compare="sim_size" delta="0"/> + </test> + <test> + <param name="input" value="haplotype.fasta" /> + <conditional name="color"> + <param name="choice" value="no" /> + </conditional> + <output name="fileout" file="output.json" compare="sim_size" delta="20" /> + <output name="dotfile" file="dotfile.txt" compare="sim_size" delta="0" /> + </test> + </tests> + + + <!-- [OPTIONAL] Help displayed in Galaxy --> + <help><![CDATA[ + +.. class:: infomark + +**Authors** Gautier Sarah : Haplophyle_ + +.. _Haplophyle: http://haplophyle.cirad.fr/Haplophyle/ + +.. class:: infomark + +**Galaxy integration** Provided by Southgreen & Dereeper Alexis (IRD) & Marcon Valentin (IFB & INRA) + +.. class:: infomark + +**Support** For any questions about Galaxy integration, please send an e-mail to alexis.dereeper@ird.fr + +--------------------------------------------------- + +================ +Haplophyle +================ + +----------- +Description +----------- + + | Create haplotype network from haplotype sequences + +---------- +Input file +---------- + +Haplotype fasta file + Haplotype fasta file with haplotype sequences and proportion +Haplotype sequences and their individuals + Haplotype sequences and list of individuals holding the haplotype + +Groups + +------------ +Output files +------------ + +JSON file for Cytoscape +Dot file +Log file + +--------------------------------------------------- + +--------------- +Working example +--------------- + +Input files +=========== + +Haplotype fasta file +---------------------------- + +:: + + >haplo1|1 + AGAGGCCCATT + >haplo2|1 + CGAGGTCCATT + >haplo3|1 + CGGAGCCCATT + >haplo4|2 + AGAGGTCTATT + >haplo5|1 + CGAGGTCTATT + >haplo6|7 + AGAGGTCCATT + >haplo7|3 + CAAGATCCATC + >haplo8|1 + CGAGGTTCATT + >haplo9|1 + CGGAGCCCGTT + >haplo10|1 + CGAGGCCCATT + >haplo11|1 + AGAGGTTCATT + >haplo12|38 + CAAGGTCCATT + >haplo13|3 + CAAGGTCCACT + >haplo14|1 + AGGAGCCCATT + + +Haplotype sequences and their individuals +---------------------------------------------- + +:: + + haplo4:2:RS10_1,RS10_2, + GAGTGGGTTGCTTCCTTGCGTAGCCATCCGCCAACGACTGT + haplo5:2:RC3_1,RC3_2, + AGGTATACTGCCTGCTCGCGTAGTCAGCCGCCGACGGCTGG + haplo6:2:RS8_1,RS8_2, + GAGTGGGTTGCTTCCTTGCGTAGCCATCCACCAACGACTGT + haplo7:2:sativa_1,sativa_2, + GAGTGGGCTGCTTCCTCGCGTAGTCAGCCGCCGACAGCTGG + + + +Output files +============ + +output.json +---------------------------- + +:: + + {"elements": {"nodes": [{ "data": { "id": "MV1", "width": 0.1} }, + { "data": { "id": "MV2", "width": 0.1} }, + { "data": { "id": "MV3", "width": 0.1} }, + { "data": { "id": "haplo6", "width": 0.8 } }, + { "data": { "id": "haplo7", "width": 0.8 } }, + { "data": { "id": "haplo8", "width": 0.8 } }], + "edges": [ + { "data": { "id": "haplo4MV1", "weight": 1, "source": "haplo4", "target": "MV1"} }, + { "data": { "id": "haplo3haplo4", "weight": 1, "source": "haplo3", "target": "haplo4"} }, + { "data": { "id": "haplo5MV3", "weight": 1, "source": "haplo5", "target": "MV3"} }, + { "data": { "id": "MV1MV2", "weight": 1, "source": "MV1", "target": "MV2"} }, + { "data": { "id": "haplo8MV3", "weight": 1, "source": "haplo8", "target": "MV3"} }]}} + + +dotfile.txt +---------------------------- + +:: + + graph G { + overlap="scale"; + outputMode="nodesfirst"; + MV1 [shape="circle", color="red", width=0.1, height=0.1,fixedsize=true]; + MV2 [shape="circle", color="red", width=0.1, height=0.1,fixedsize=true]; + haplo2 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; + haplo4 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; + haplo8 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; + haplo7 -- MV2 [len=0.2]; + haplo1 -- haplo2 [len=0.2]; + haplo4 -- MV1 [len=0.2]; + MV2 -- MV3 [len=0.6]; + haplo5 -- MV3 [len=0.8]; + haplo8 -- MV3 [len=1,label="length: 24.0",color="red"]; + } + + + + + ]]></help> + +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HaplophyleInBatch.pl Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,107 @@ +#!/usr/bin/perl + +use strict; +use Switch; +use Getopt::Long; +use Bio::SeqIO; + +my $HAPLOPHYLE_EXE = "java -Xmx2048m -jar /usr/local/bioinfo/sniplay/Haplophyle/NetworkCreator_fat.jar"; +my $NEATO_EXE = "neato"; +my $CONVERT_EXE = "convert"; +my $RSCRIPT_EXE = "/usr/local/bioinfo/R/default/bin/Rscript"; + +my $usage = qq~Usage:$0 <args> [<opts>] +where <args> are: + -i, --input <input> +<opts> + -r, --rscript <R scripts in zipfile> +~; +$usage .= "\n"; + +my ($infile,$r_zip); + + +GetOptions( + "input=s" => \$infile, + "rscript=s" => \$r_zip +); + + +die $usage + if ( !$infile); + + +if (-e $r_zip) +{ + system("unzip $r_zip"); +} + +my %inputs; +my $gene; +my $data = ""; +open(my $I,$infile); +while(<$I>) +{ + if (/===(.*)===/) + { + $gene = $1; + } + else + { + $inputs{$gene}.= $_; + } +} +close($I); + + +foreach my $gene(keys(%inputs)) +{ + open(F,">$gene.distinct_haplo.fas"); + print F $inputs{$gene}; + close(F); + + my $input = "$gene.distinct_haplo.fas"; + my $outfile = "$gene.network.dot"; + my $out_png = "$gene.network.png"; + + my $command = "$HAPLOPHYLE_EXE -in $input -out $outfile >> $gene.haplophyle.log 2>&1"; + system($command); + + + + + open(OUTFILE,"$outfile"); + open(OUTFILE2,">$outfile.vis"); + print OUTFILE2 "var nodes = [\n"; + open(INFILE,"$input"); + while(<INFILE>) + { + if (/>haplo(\d+)\|(\d+)/) + { + print OUTFILE2 "{id: $1, label: 'Haplo$1',shape:'image',radius:'$2'}\n"; + } + } + close(INFILE); + print OUTFILE2 "];\n"; + print OUTFILE2 "var edges = [\n"; + my $n = 0; + while(<OUTFILE>) + { + my $line = $_; + if (/^haplo(\d+) -- haplo(\d+)/) + { + my $from = $1; + my $to = $2; + + print OUTFILE2 "{from: $from, to: $to,length:'7',style: 'line',color:'black',},\n"; + } + + } + close(OUTFILE); + print OUTFILE2 "];\n"; + close(OUTFILE2); +} + +system("zip networks.zip *network.dot"); +#system("zip pies.zip *pie.eps"); +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/cytoscape.html Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,84 @@ +<!DOCTYPE html> +<html><head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> +<link href="http://sniplay.southgreen.fr/cytoscape/Pie_style/style.css" rel="stylesheet"> +<meta charset="utf-8"> +<meta name="viewport" content="user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui"> +<title>Pie style</title> +<script src="http://sniplay.southgreen.fr/cytoscape/Pie_style/jquery.js"></script> +<script src="http://sniplay.southgreen.fr/cytoscape/Pie_style/cytoscape.js"></script> +<script type="text/javascript"> +$(function(){ // on dom ready + +$('#cy').cytoscape({ + + style: cytoscape.stylesheet() + .selector(':selected') + .css({ + 'background-color': 'black', + 'line-color': 'black', + 'opacity': 1 + }) + .selector('.faded') + .css({ + 'opacity': 0.25, + 'text-opacity': 0 + }) + .selector('edge') + .css({ + 'width': 1, + 'line-color': 'black', + }) + .selector('node') + .css({ + 'width': 'mapData(width, 0, 10, 0, 100)', + 'height': 'mapData(width, 0, 10, 0, 100)', + 'content': 'data(id)', + 'pie-size': '98%', + + }), +elements: { + nodes: [ +{ data: { id: 'MV1', width: 0.1} }, +{ data: { id: 'MV2', width: 0.1} }, +{ data: { id: 'MV3', width: 0.1} }, +{ data: { id: 'haplo1', width: 1.2000000000000002 } }, +{ data: { id: 'haplo2', width: 0.8 } }, +{ data: { id: 'haplo3', width: 5.0 } }, +{ data: { id: 'haplo4', width: 0.8 } }, +{ data: { id: 'haplo5', width: 0.8 } }, +{ data: { id: 'haplo6', width: 0.8 } }, +{ data: { id: 'haplo7', width: 0.8 } }, +{ data: { id: 'haplo8', width: 0.8 } }, +], +edges: [ +{ data: { id: 'haplo7MV2', weight: 1, source: 'haplo7', target: 'MV2'} }, +{ data: { id: 'haplo4haplo6', weight: 1, source: 'haplo4', target: 'haplo6'} }, +{ data: { id: 'haplo1haplo2', weight: 1, source: 'haplo1', target: 'haplo2'} }, +{ data: { id: 'haplo1MV1', weight: 1, source: 'haplo1', target: 'MV1'} }, +{ data: { id: 'haplo4MV1', weight: 1, source: 'haplo4', target: 'MV1'} }, +{ data: { id: 'haplo3haplo4', weight: 1, source: 'haplo3', target: 'haplo4'} }, +{ data: { id: 'MV2MV3', weight: 1, source: 'MV2', target: 'MV3'} }, +{ data: { id: 'haplo5MV3', weight: 1, source: 'haplo5', target: 'MV3'} }, +{ data: { id: 'MV1MV2', weight: 1, source: 'MV1', target: 'MV2'} }, +{ data: { id: 'haplo8MV3', weight: 1, source: 'haplo8', target: 'MV3'} }, + +] + }, +layout: { + name: 'cose', + padding: 10 + }, + + ready: function(){ + window.cy = this; + } +}); + +}); + +</script> +</head> +<body> +<div id="cy"> +</div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/dotfile.txt Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,25 @@ +graph G { +overlap="scale"; +outputMode="nodesfirst"; +MV1 [shape="circle", color="red", width=0.1, height=0.1,fixedsize=true]; +MV2 [shape="circle", color="red", width=0.1, height=0.1,fixedsize=true]; +MV3 [shape="circle", color="red", width=0.1, height=0.1,fixedsize=true]; +haplo1 [shape="circle",style="filled", color="green" , imagescale="both", width=1.2000000000000002, height=1.2000000000000002,fixedsize=true]; +haplo2 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; +haplo3 [shape="circle",style="filled", color="green" , imagescale="both", width=5.0, height=5.0,fixedsize=true]; +haplo4 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; +haplo5 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; +haplo6 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; +haplo7 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; +haplo8 [shape="circle",style="filled", color="green" , imagescale="both", width=0.8, height=0.8,fixedsize=true]; +haplo7 -- MV2 [len=0.2]; +haplo4 -- haplo6 [len=0.2]; +haplo1 -- haplo2 [len=0.2]; +haplo1 -- MV1 [len=0.2]; +haplo4 -- MV1 [len=0.2]; +haplo3 -- haplo4 [len=0.2]; +MV2 -- MV3 [len=0.6]; +haplo5 -- MV3 [len=0.8]; +MV1 -- MV2 [len=1,label="length: 6.0",color="red"]; +haplo8 -- MV3 [len=1,label="length: 24.0",color="red"]; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/filelog.txt Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,31 @@ +Determine Wed Jun 13 09:59:55 CEST 2018 +Triplets calculés Wed Jun 13 09:59:55 CEST 2018 +nb MV: 1 +MV: MVhaplo1-haplo4-haplo7 +Sequence: [1, 2, 1, 3, 1, 1, 1, 3, 3, 1, 4, 3, 3, 4, 4, 3, 3, 1, 4, 1, 3, 2, 1, 4, 4, 2, 3, 4, 4, 1, 4, 4, 1, 2, 4, 1, 2, 4, 3, 1, 3] +nb Obsolete: 0 +Determine Wed Jun 13 09:59:55 CEST 2018 +Triplets calculés Wed Jun 13 09:59:55 CEST 2018 +nb MV: 1 +MV: MVhaplo5-haplo7-MVhaplo1-haplo4-haplo7 +Sequence: [1, 2, 1, 3, 1, 1, 1, 4, 3, 1, 4, 3, 3, 4, 4, 3, 4, 1, 4, 1, 3, 2, 1, 3, 4, 2, 1, 4, 4, 1, 4, 4, 1, 2, 4, 1, 1, 4, 3, 1, 1] +nb Obsolete: 0 +Determine Wed Jun 13 09:59:55 CEST 2018 +Triplets calculés Wed Jun 13 09:59:55 CEST 2018 +nb MV: 2 +MV: MVhaplo8-MVhaplo1-haplo4-haplo7-MVhaplo5-haplo7-MVhaplo1-haplo4-haplo7 +Sequence: [1, 2, 1, 3, 1, 1, 1, 4, 3, 1, 4, 3, 3, 4, 4, 3, 3, 1, 4, 1, 3, 2, 1, 4, 4, 2, 1, 4, 4, 1, 4, 4, 1, 2, 4, 1, 1, 4, 3, 1, 1] +MV: MVhaplo5-haplo8-MVhaplo5-haplo7-MVhaplo1-haplo4-haplo7 +Sequence: [1, 1, 1, 3, 1, 1, 1, 4, 3, 1, 4, 4, 3, 1, 4, 3, 4, 1, 4, 1, 3, 2, 1, 3, 4, 2, 1, 4, 4, 1, 4, 4, 1, 2, 4, 1, 1, 4, 3, 1, 1] +nb Obsolete: 1 +Obsolete: MVhaplo8-MVhaplo1-haplo4-haplo7-MVhaplo5-haplo7-MVhaplo1-haplo4-haplo7 +nb Obsolete: 0 +Determine Wed Jun 13 09:59:55 CEST 2018 +Triplets calculés Wed Jun 13 09:59:55 CEST 2018 +nb MV: 0 +nb Obsolete: 0 +Generated 3 MV +MV1 [1, 2, 1, 3, 1, 1, 1, 3, 3, 1, 4, 3, 3, 4, 4, 3, 3, 1, 4, 1, 3, 2, 1, 4, 4, 2, 3, 4, 4, 1, 4, 4, 1, 2, 4, 1, 2, 4, 3, 1, 3] +MV2 [1, 2, 1, 3, 1, 1, 1, 4, 3, 1, 4, 3, 3, 4, 4, 3, 4, 1, 4, 1, 3, 2, 1, 3, 4, 2, 1, 4, 4, 1, 4, 4, 1, 2, 4, 1, 1, 4, 3, 1, 1] +MV3 [1, 1, 1, 3, 1, 1, 1, 4, 3, 1, 4, 4, 3, 1, 4, 3, 4, 1, 4, 1, 3, 2, 1, 3, 4, 2, 1, 4, 4, 1, 4, 4, 1, 2, 4, 1, 1, 4, 3, 1, 1] +Writing output to /tmp/tmpYCq49l/files/000/dataset_4.dat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/haplotype.fasta Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,16 @@ +>haplo1|3 +GAGTGGGTTGCTTCCCTGCGTAGCCATCCGCCGACGACTGT +>haplo2|2 +GAATGGGTTGCTTCCCTGCGTAGCCATCCGCCGACGACTGT +>haplo3|23 +GAGTGGGTTGCTTCCTTGCGTAGCCATCCGCCAACGACTAT +>haplo4|2 +GAGTGGGTTGCTTCCTTGCGTAGCCATCCGCCAACGACTGT +>haplo5|2 +AGGTATACTGCCTGCTCGCGTAGTCAGCCGCCGACGGCTGG +>haplo6|2 +GAGTGGGTTGCTTCCTTGCGTAGCCATCCACCAACGACTGT +>haplo7|2 +GAGTGGGCTGCTTCCTCGCGTAGTCAGCCGCCGACAGCTGG +>haplo8|2 +GGGAGGGCAAGCCGTTTTGACGACTGGTTGTTGGGGGTAGG
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/haplotype.txt Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,16 @@ +haplo1:3:RS2_2,RS4_1,RS4_2, +GAGTGGGTTGCTTCCCTGCGTAGCCATCCGCCGACGACTGT +haplo2:2:RS9_1,RS9_2, +GAATGGGTTGCTTCCCTGCGTAGCCATCCGCCGACGACTGT +haplo3:23:RC1_1,RC1_2,RC2_1,RC2_2,RC4_1,RC4_2,RC5_1,RC5_2,RC6_1,RC6_2,RC7_1,RC7_2,RC10_1,RC10_2,RS2_1,RS3_1,RS3_2,RS5_1,RS5_2,RS6_1,RS6_2,RS7_1,RS7_2, +GAGTGGGTTGCTTCCTTGCGTAGCCATCCGCCAACGACTAT +haplo4:2:RS10_1,RS10_2, +GAGTGGGTTGCTTCCTTGCGTAGCCATCCGCCAACGACTGT +haplo5:2:RC3_1,RC3_2, +AGGTATACTGCCTGCTCGCGTAGTCAGCCGCCGACGGCTGG +haplo6:2:RS8_1,RS8_2, +GAGTGGGTTGCTTCCTTGCGTAGCCATCCACCAACGACTGT +haplo7:2:sativa_1,sativa_2, +GAGTGGGCTGCTTCCTCGCGTAGTCAGCCGCCGACAGCTGG +haplo8:2:meridionalis_1,meridionalis_2, +GGGAGGGCAAGCCGTTTTGACGACTGGTTGTTGGGGGTAGG
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/network.txt Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,15 @@ +var nodes = [ +{id: 1, label: 'Haplo1',shape:'image',radius:'3'} +{id: 2, label: 'Haplo2',shape:'image',radius:'2'} +{id: 3, label: 'Haplo3',shape:'image',radius:'23'} +{id: 4, label: 'Haplo4',shape:'image',radius:'2'} +{id: 5, label: 'Haplo5',shape:'image',radius:'2'} +{id: 6, label: 'Haplo6',shape:'image',radius:'2'} +{id: 7, label: 'Haplo7',shape:'image',radius:'2'} +{id: 8, label: 'Haplo8',shape:'image',radius:'2'} +]; +var edges = [ +{from: 4, to: 6,length:'7',style: 'line',color:'black',}, +{from: 1, to: 2,length:'7',style: 'line',color:'black',}, +{from: 3, to: 4,length:'7',style: 'line',color:'black',}, +];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output.json Tue Aug 14 08:04:23 2018 -0400 @@ -0,0 +1,22 @@ +{"elements": {"nodes": [{ "data": { "id": "MV1", "width": 0.1} }, +{ "data": { "id": "MV2", "width": 0.1} }, +{ "data": { "id": "MV3", "width": 0.1} }, +{ "data": { "id": "haplo1", "width": 1.2000000000000002 } }, +{ "data": { "id": "haplo2", "width": 0.8 } }, +{ "data": { "id": "haplo3", "width": 5.0 } }, +{ "data": { "id": "haplo4", "width": 0.8 } }, +{ "data": { "id": "haplo5", "width": 0.8 } }, +{ "data": { "id": "haplo6", "width": 0.8 } }, +{ "data": { "id": "haplo7", "width": 0.8 } }, +{ "data": { "id": "haplo8", "width": 0.8 } }], +"edges": [ +{ "data": { "id": "haplo4MV1", "weight": 1, "source": "haplo4", "target": "MV1"} }, +{ "data": { "id": "haplo3haplo4", "weight": 1, "source": "haplo3", "target": "haplo4"} }, +{ "data": { "id": "haplo4haplo6", "weight": 1, "source": "haplo4", "target": "haplo6"} }, +{ "data": { "id": "haplo1MV1", "weight": 1, "source": "haplo1", "target": "MV1"} }, +{ "data": { "id": "haplo1haplo2", "weight": 1, "source": "haplo1", "target": "haplo2"} }, +{ "data": { "id": "haplo7MV2", "weight": 1, "source": "haplo7", "target": "MV2"} }, +{ "data": { "id": "MV2MV3", "weight": 1, "source": "MV2", "target": "MV3"} }, +{ "data": { "id": "haplo5MV3", "weight": 1, "source": "haplo5", "target": "MV3"} }, +{ "data": { "id": "MV1MV2", "weight": 1, "source": "MV1", "target": "MV2"} }, +{ "data": { "id": "haplo8MV3", "weight": 1, "source": "haplo8", "target": "MV3"} }]}} \ No newline at end of file