Mercurial > repos > dereeper > cytoscape
annotate Cytoscape.pl @ 1:0e43c52e2449 draft default tip
Uploaded
author | dereeper |
---|---|
date | Wed, 09 Jun 2021 18:17:44 +0000 |
parents | e3beb33f88f0 |
children |
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 |