File: soextract.pl

package info (click to toggle)
emboss 6.6.0%2Bdfsg-12
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 571,584 kB
  • sloc: ansic: 460,579; java: 29,383; perl: 13,573; sh: 12,753; makefile: 3,294; csh: 706; asm: 351; xml: 239; pascal: 237; modula3: 8
file content (56 lines) | stat: -rwxr-xr-x 1,206 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/perl -w
$id="";
$name="";

sub doprint() {
    $def =~ s/\\n/\n# /g;
    print "# $def";
    if($cc ne "") {
	$cc =~ s/;$//;
	$ =~ s/;/\n#   cc: /g;
	print "#   cc: $cc\n";
    }
    if($synonym ne "") {
	$synonym =~ s/;$//;
	$synonym =~ s/;/\n#   synonym: /g;
	print "#   synonym: $synonym\n";
    }
    if($subset ne "") {
	$subset =~ s/;$//;
	$subset =~ s/;/\n#   subset: /g;
	print "#   subset: $subset\n";
    }
    if($isa ne "") {
	$isa =~ s/;$//;
	$isa =~ s/;/\n#   isa: /g;
	print "#   isa: $isa\n";
    }
    if($altid ne "") {
	$altid =~ s/;$//;
	$altid =~ s/;/\n#   altid: /g;
	print "#   altid: $altid\n";
    }
    print "\n";
    print "$name $id\n";
    print "\n";
    $id=$name=$def=$cc=$synonym=$altid=$isa=$subset="";
}

while(<>) {
    if(/^id: (\S+)/) {
	doprint();
	$id = $1;
    }
    elsif(/^name: (\S+)/) {$name=$1;}
    elsif(/^alt_id: (\S+)/) {$altid=$1;}
    elsif(/^def: (.*)/) {$def=$1;}
    elsif(/^comment: (.*)/) {$cc=$1;}
    elsif(/^subset: ()/) {$ubset.="$1;"}
    elsif(/^synonym: ()/) {$synonym.="$1;"}
    elsif(/^is_a: (\S+)/) {$isa.="$1;"}
    elsif(/^[\[]Term[\]/) {next}
    elsif(/^$/) {next}
    else {print "Unknown line type: $_\n"}
}

doprint();