[Bio] / FigKernelScripts / make_pdb_ontology.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/make_pdb_ontology.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download) (as text)

1 : mkubal 1.1 use FIG;
2 :     use lib PPO;
3 :     use lib Ontology;
4 :     use DBMaster;
5 :    
6 : mkubal 1.2 my $sqlite_db = shift(@ARGV);
7 :     my $dbmaster = DBMaster->new(-database => $sqlite_db, -backend => 'SQLite');
8 : mkubal 1.1
9 :     opendir(DIR,"/vol/biodb/pdb/data/structures/all/uncompressed");
10 :     my @files = readdir(DIR);
11 :     foreach my $file (@files){
12 :     if($file =~/^pdb(.*)\.ent/){
13 :     my $id = $1;
14 :     open(IN,"/vol/drugtargets/PDB/PDB-U/$file");
15 :     my $find_ligand_on_next_line = 0;
16 :     my $find_source_on_next_line = 0;
17 :     my $record_source = 1;
18 :     my ($description,$ligand, $source,$keywords);
19 :     my $source = "NONE";
20 :     while($_ = <IN>){
21 :     chomp($_);
22 :     if($_ =~/^HEADER\s+(.*)\d+-\w+-\d+\s+.*\d\w{3}\s+\d+$/){
23 :     $description = $1;
24 :     $description =~s/(\s+)$//;
25 :     }
26 :    
27 :     if($find_ligand_on_next_line){
28 :     if($_ =~/^COMPND\s+(.*)\d\w{3}\s+\d+$/){
29 :     $ligand = $1;
30 :     $ligand =~s/(\s+)$//;
31 :     }
32 :     $find_ligand_on_next_line = 0;
33 :     }
34 :    
35 :     if($_ =~/^COMPND\s+.*COMPLEX\sWITH\s(.*)\d\w{3}\s+\d+$/){
36 :     $ligand = $1;
37 :     $ligand =~s/(\s+)$//;
38 :     if(($ligand !~/\w+/) || ($ligand =~/^THE$/)){
39 :     $find_ligand_on_next_line = 1;
40 :     }
41 :     }
42 :    
43 :     if($record_source){
44 :     if($find_source_on_next_line){
45 :     if($_ =~/^SOURCE\s+(.*)/){
46 :     my $temp = $1;
47 :     if($source !~/(EXPRESSION_SYSTEM|MOL_ID)/){
48 :     $source = $temp;
49 :     $record_source = 0;
50 :     $find_source_on_next_line = 0;
51 :     }
52 :     }
53 :     }
54 :     }
55 :    
56 :     if($record_source){
57 :     if($_ =~/^SOURCE\s+(.*)/){
58 :     $source = $1;
59 :     if($source =~/(MOL_ID|EXPRESSION_SYSTEM)/){
60 :     $find_source_on_next_line = 1;
61 :     $source = "NONE";
62 :     }
63 :     else{$record_source = 0;}
64 :    
65 :     }
66 :     }
67 :     if($_ =~/^KEYWDS\s+(.*)/){
68 :     $keywords = $1;
69 :     my ($dt_objs,$dt_obj);
70 :     $dt_objs = $dbmaster->pdb->get_objects( { 'id' => $id } );
71 :     if(scalar(@$dt_objs) == 0){
72 :     $dt_obj = $dbmaster->pdb->create( { 'id' => $id,
73 :     'description' => $keywords,
74 :     'ligand' => $ligand,
75 :     'source' => $source
76 :     } );
77 :     }
78 :     last;
79 :     }
80 :    
81 :    
82 :     if($_ =~/^REMARK/){
83 :     my ($dt_objs,$dt_obj);
84 :     $dt_objs = $dbmaster->pdb->get_objects( { 'id' => $id } );
85 :     if(scalar(@$dt_objs) == 0){
86 :     $dt_obj = $dbmaster->pdb->create( { 'id' => $id,
87 :     'description' => $description,
88 :     'ligand' => $ligand,
89 :     'source' => $source
90 :     } );
91 :     }
92 :     last;
93 :     }
94 :    
95 :     }
96 :     close(IN);
97 :     }
98 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3