annotate Cytoscape.pl @ 1:0e43c52e2449 draft default tip

Uploaded
author dereeper
date Wed, 09 Jun 2021 18:17:44 +0000
parents e3beb33f88f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
1 #!/usr/bin/perl
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
2
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
3 use strict;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
4 #use Switch;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
5 use Getopt::Long;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
6
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
7 use Cwd;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
8 my $dir = getcwd;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
9
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
10
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
11 my $usage = qq~Usage:$0 <args> [<opts>]
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
12 where <args> are:
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
13 -i, --input <input>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
14 -h, --html <html_output>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
15 ~;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
16 $usage .= "\n";
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
17
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
18 my ($infile,$htmlout);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
19
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
20
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
21 GetOptions(
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
22 "input=s" => \$infile,
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
23 "html=s" => \$htmlout,
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
24 );
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
25
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
26
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
27 die $usage
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
28 if ( !$infile);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
29
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
30
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
31 my $datain = "";
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
32 open(I,$infile);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
33 while(<I>){
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
34 my $line = $_;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
35 $datain.=$line;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
36 }
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
37 close(I);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
38 chomp($datain);chomp($datain);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
39 # remove brackets at the beginning and end of JSON
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
40 my $new_datain = substr($datain,1,length($datain)-2);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
41 $datain = $new_datain;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
42
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
43 my @colors = ("#ed292a","#ed292a","#82ABA0","#2255a6","#6ebe43","#e76599","#662e91","#c180ff","#ea8b2f","#fff100","#666666","#01ffff","#bfbfbf","#2ac966","#666666");
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
44
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
45
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
46 my $pie_block = "";
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
47 for (my $i = 0; $i <= scalar @colors; $i++){
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
48 $pie_block .= "'pie-$i-background-color': '$colors[$i]',\n";
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
49 $pie_block .= "'pie-$i-background-size': 'mapData(group$i, 0, 10, 0, 100)',\n";
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
50 }
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
51
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
52 open(HTML_CYTOSCAPE,">$htmlout");
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
53 my $html = qq~<!DOCTYPE html>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
54 <html><head>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
55 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
56 <link href="http://sniplay.southgreen.fr/cytoscape/Pie_style/style.css" rel="stylesheet">
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
57 <meta charset="utf-8">
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
58 <meta name="viewport" content="user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui">
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
59 <title>Pie style</title>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
60 <script src="http://sniplay.southgreen.fr/cytoscape/Pie_style/jquery.js"></script>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
61 <script src="http://sniplay.southgreen.fr/cytoscape/Pie_style/cytoscape.js"></script>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
62 <script type="text/javascript">
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
63 \$(function(){ // on dom ready
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
64
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
65 \$('#cy').cytoscape({
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
66
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
67 style: cytoscape.stylesheet()
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
68 .selector(':selected')
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
69 .css({
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
70 'background-color': 'black',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
71 'line-color': 'black',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
72 'opacity': 1
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
73 })
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
74 .selector('.faded')
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
75 .css({
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
76 'opacity': 0.25,
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
77 'text-opacity': 0
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
78 })
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
79 .selector('edge')
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
80 .css({
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
81 'width': 1,
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
82 'line-color': 'black',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
83 })
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
84 .selector('node')
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
85 .css({
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
86 'width': 'mapData(width, 0, 10, 0, 100)',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
87 'height': 'mapData(width, 0, 10, 0, 100)',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
88 'content': 'data(id)',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
89 'pie-size': '98%',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
90 $pie_block
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
91 }),
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
92 $datain
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
93 ,
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
94 layout: {
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
95 name: 'cose',
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
96 padding: 10
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
97 },
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
98
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
99 ready: function(){
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
100 window.cy = this;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
101 }
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
102 });
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
103
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
104 });
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
105
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
106 </script>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
107 </head>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
108 <body>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
109 <div id="cy">
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
110 </div>
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
111 ~;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
112 print HTML_CYTOSCAPE $html;
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
113 close(HTML_CYTOSCAPE);
e3beb33f88f0 planemo upload commit 11382afe87364aaafb19973470d5066229a6e34f
dereeper
parents:
diff changeset
114