View difference between Paste ID: n3eAW4FR and 4AarXvGc
SHOW: | | - or go back to the newest paste.
1
#!/usr/bin/perl
2
#
3
# nuskaityti bindingdb sdf failus
4
# H-Se/DB26984_50278320.sdf kaip testas imtas
5
#
6
# VR
7
#
8
9
#use warnings;
10
use Data::Dumper;
11
12
13
#nuskaityti failus i @molekules
14
die "usage VR_bindingdb_parse.pl file.sdf" if (@ARGV != 1);
15
$FILE = $ARGV[0];
16
open FILE, "<", $FILE or die $!;
17
$x=0;
18
$key='str';
19
while(<FILE>) {
20
 chop($_);
21
 next if ($_ =~ /^$/);   #jei eilute tuscia praleidziam
22-
  $key = 'molecule';
22+
23
  $x++;
24
  $key = 'str';
25
  next;
26
 }
27
 #print $x, $_;
28
 if ($_ =~ /^\>/) {      #jei eilute prasideda: >
29
  chop();
30
  $_ =~ s/>  <//;
31-
  push @{ $lines[$x]{$key} }, $_;
31+
32
 } else {
33
  #$molekules[molekules nr.]{irasas}
34
  push @{ $molekules[$x]{$key} }, $_;
35-
print STDERR Dumper \@lines;
35+
36
}
37
close FILE;
38
#print STDERR Dumper \@molekules;
39
print $FILE, "\n";
40
41
42
#rasti nuo kur prasideda kitokia molekule
43
#pirmoji kita yra $ta_pati+1
44
kita();
45
sub kita {
46
$y=0;
47
print $y;
48
$ta_pati=0; 
49
while($molekules[$y]{'str'}) {
50
 #print STDERR Dumper $molekules[$y]{'str'}, "\n";
51
 $z=0;
52
 while($molekules[$y]{'str'}[$z]) {
53
  #jei z eilute nesutampa y ir y+1 nors karta tai kita molekule
54
  if ($molekules[$y]{'str'}[$z] ne $molekules[$y+1]{'str'}[$z]) {
55
   $ta_pati=$y;
56
   #print STDERR $y, " :", $molekules[$y]{'str'}[$z], " ir ", $molekules[$y+1]{'str'}[$z], "\n";
57
   last;
58
  }
59
  $z++;
60
 }
61
 last if ($ta_pati);
62
 $y++;
63
}
64
}
65
print STDERR Dumper $molekules[$ta_pati+1]{'str'}, "\n";