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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3