Changeset 4


Ignore:
Timestamp:
Apr 9, 2010, 11:20:22 AM (10 years ago)
Author:
maarten
Message:
 
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • lib/ProccesAllicVariants.pm

    r3 r4  
    1212        bless($self);    # but see below
    1313        return $self;
     14}
     15
     16sub trim($)
     17{
     18        my $string = shift;
     19        $string =~ s/^\s+//;
     20        $string =~ s/\s+$//;
     21        return $string;
    1422}
    1523
     
    100108        my $yearAV = "";
    101109        $desc =~ tr/\n/ /;
    102         if ( $desc =~ /([\w-]*.)\set al.\s*?\(([\d\s,]{4,14})\)/ ) {
     110        $desc=trim($desc);
     111        if (length($desc)>=1){
     112        if ( $desc =~ /([\w-]*.)\set al.[,\s]*?\(([\d\s,]{4,14})\)/ ) {
    103113                $authAV = $1;
    104114                $yearAV = $2;
     
    114124
    115125        #TODO: add solution for mulitple authors (author 2009; auth3 2002 ,etc )
    116 
     126        #Bradley et al., 1975;
     127        if ( length($authAV) == 0 ) {
     128                if ( $desc =~ /([\w-]*.)\set al.[,\s]*?([\d]{4})/i){
     129                        $authAV = $1;
     130                        $yearAV = $2;
     131                }
     132        }
    117133        #See Brennan (1985)
    118134        if ( length($authAV) == 0 ) {
    119                 if ( $desc =~ /See ([\w-]*.)\s*.\(([\d]{4})\)/i ) {
    120                         $authAV = $1;
    121                         $yearAV = $2;
    122                 }
    123         }
    124 
     135                if ( $desc =~ /([\w-]*.)\s*.\(([\d]{4})\)/i ) {
     136                        $authAV = $1;
     137                        $yearAV = $2;
     138                }
     139        }
     140        #Tiller et al. (1993, 1995)
     141        if ( length($authAV) == 0 ) {
     142                if ( $desc =~ /\(([\w-]*.)\set al.\s*?([\d\s,]{4,14})\)/i ) {
     143                        $authAV = $1;
     144                        $yearAV = $2;
     145                }
     146        }
     147        #de Vries and de Wet (1986, 1987)
     148        if ( length($authAV) == 0 ) {
     149                if ( $desc =~ /([\w-]*.\sand\s[\w\s-]{3,11})\s*.\(([\d\s,]{4,14})/i ) {
     150                        $authAV = $1;
     151                        $yearAV = $2;
     152                }
     153        }
     154        #
     155        #See 123456.1234
     156        if ( length($authAV) == 0 ) {
     157                if ( $desc =~ /See\s(\d{6}).(\d{4})/i ) {
     158                        $authAV = $1;
     159                        $yearAV = $2;
     160                }
     161        }
    125162        if ( !defined($authAV) || length($authAV) < 2 ) {
    126                 carp( "No Author found in getAuthor found in :\n\n" . $desc . "\n\n" );
     163                carp( "No Author found in getAuthor found in :\n".length($desc)."\n" . $desc . "\n\n" );
    127164        }
    128165
     
    136173                        $yearAV = $1;
    137174                }
     175        }
    138176        }
    139177
  • test/test.pl

    r3 r4  
    99use Omim2Pubmed;
    1010use Bio::Phenotype::OMIM::OMIMparser;
    11 use Test::More tests => 18;
     11use Test::More tests => 26;
    1212
    1313#lib "../lib";
     
    3434is( $getauthor[1], "1995",   "get author year" );
    3535
     36
     37@getauthor = ProccesAllicVariants::getAuthor(
     38        "(Bradley et al., 1975; faf)");
     39is( $getauthor[0], "Bradley", "get author" );
     40is( $getauthor[1], "1975",   "get author year" );
     41
     42
    3643@getauthor = ProccesAllicVariants::getAuthor(
    3744        "See Brennan (1985).");
     
    3946is( $getauthor[1], "1985",   "get author year" );
    4047
     48@getauthor = ProccesAllicVariants::getAuthor(
     49        " (Takahashi et al., 1987) ");
     50is( $getauthor[0], "Takahashi", "get author" );
     51is( $getauthor[1], "1987",   "get author year" );
    4152
    4253@getauthor = ProccesAllicVariants::getAuthor(
     
    4455        is( $getauthor[0], "Brennan and Fellowes", "get author" );
    4556is( $getauthor[1], "1993",   "get author year" );
     57       
     58        @getauthor = ProccesAllicVariants::getAuthor("McIntosh et al., (1994)");
     59        is( $getauthor[0], "McIntosh", "get author" );
     60        is( $getauthor[1], "1994",   "get author year" );
     61       
     62                @getauthor = ProccesAllicVariants::getAuthor("  de Vries and de Wet (1986, 1987)
     63");
     64        is( $getauthor[0], "Vries and de Wet", "get author" );
     65        is( $getauthor[1], "1987",   "get author year" );
    4666       
    4767$string =
Note: See TracChangeset for help on using the changeset viewer.