The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WWW::Search::PharmGKB - Search and retrieve information from the PharmGKB database

VERSION

Version 1.02

SYNOPSIS

    use WWW::Search::PharmGKB;
    use Data:Dumper;
    my $pharmgkb = WWW::Search::PharmGKB->new();
    my $search_result = $pharmgkb->gene_search('CYP2D6');
    print Dumper $search_result;

DESCRIPTION

    PharmGKB provides web services API to query their database. This module is an object oriented,
    more flexible wrapper for the SOAP service. You can search for genes, publications, drugs and
    diseases (more to come soon :) ). Note that the PharmGKB SOAP service is kinda slow and sometimes
    a bit annoying too, but you will get some good quality data and it's better to wait for the
    script to do the job than manual curation ;)

METHODS

Constructor

    my $pharmgkb = new WWW::Search::PharmGKB;
    Usage: $self->gene_search('CYP2D6');

    This method is used to search for information about genes. the method takes in only one gene name
    at a time. It returns a referenced hash like this :
    'PA128' => {
                     'pathways' => [
                                     {
                                       'Anti-estrogen Pathway (Tamoxifen PK)' => '/search/pathway/antiestrogen/tamoxifen.jsp'
                                     },
                                     {
                                       'Celecoxib Pathway' => '/search/pathway/celecoxib/celecoxib.jsp'
                                     },
                                     {
                                       'Codeine and Morphine Pathway (PK)' => '/search/pathway/codeine-morphine/codeineMorphine-pk.jsp'
                                     },
                                     {
                                       'Statin Pathway (PK)' => '/search/pathway/statin/statin-pk.jsp'
                                     }
                                   ],
                     'symbol' => 'CYP2D6',
                     'drugs' => [
                                  'PA131887008',
                                  'PA151958637',
                                  'PA134687949',
                                  'PA448015',
                                  'PA448073',
                                  'PA448333',
                                ],
                     'alternate_names' => [
                                            'CPD6',
                                            'CYP2D',
                                            'P450-DB1',
                                            'P450C2D',
                                            'cytochrome P450, subfamily IID (debrisoquine, sparteine, etc., -metabolizing), polypeptide 6',
                                            'cytochrome P450, subfamily IID (debrisoquine, sparteine, etc., -metabolizing)-like 1',
                                            'debrisoquine 4-hydroxylase',
                                            'flavoprotein-linked monooxygenase',
                                            'microsomal monooxygenase',
                                            'xenobiotic monooxygenase'
                                          ],
                     'diseases' => [
                                     'PA443485',
                                     'PA443548',

                                   ],
                     'name' => 'cytochrome P450, family 2, subfamily D, polypeptide 6',
                     'phenotypes' => [
                                       'PA129411305',
                                       'PA133888873',
                                       'PA133888879',
                                       'PA133888980',
                                       'PA134736042',
                                       'PA134736059',
                                       'PA135349620',
                                       'PA160680259',
                                       'PA646603'
                                     ],
                     'alternate_symbols' => [
                                              'CPD6',
                                              'CYP2D',
                                              'CYP2D@',
                                              'CYP2DL1',
                                              'MGC120389',
                                              'MGC120390',
                                              'P450-DB1',
                                              'P450C2D'
                                            ]
                   }
        };
    Usage: $sef->disease_search('AIDS');

    This method is used to search for information about diseases.
    It returns a referenced hash like this :
    $var = {
          'PA446816' => {
                        'pathways' => [],
                        'drugs' => '',
                        'names' => [
                                     'AIDS Wasting Syndrome',
                                     'HIV Wasting Disease',
                                     'Slim Disease',
                                     'Wasting Disease, HIV',
                                     'Wasting Syndrome, AIDS',
                                     'Wasting Syndrome, HIV'
                                   ],
                        'genes' => '',
                        'phenotypes' => ''
                      },
          'PA446298' => {
                        'pathways' => [],
                        'drugs' => '',
                        'names' => [
                                     'AIDS, Murine',
                                     'AIDSs, Murine',
                                     'MAIDS',
                                     'Murine AIDS',
                                     'Murine AIDSs',
                                     'Murine Acquired Immune Deficiency Syndrome',
                                     'Murine Acquired Immuno Deficiency Syndrome',
                                     'Murine Acquired Immuno-Deficiency Syndrome'
                                   ],
                        'genes' => '',
                        'phenotypes' => ''
                      }
        };
    Usage: $sef->drug_search('AIDS');

    This method is used to search for information about drugs.
    It returns a referenced hash like this :
    $var = {

            'PA448508' => {
                        'pathways' => [],
                        'diseases' => '',
                        'genes' => '',
                        'name' => 'attapulgite',
                        'classification' => [
                                              'GA208'
                                            ],
                        'category' => '',
                        'phenotypes' => '',
                        'trade_names' => [
                                           'Diar-Aid',
                                           'Diarrest',
                                           'Diasorb',
                                           'Diatrol',
                                           'Donnagel',
                                           'Fowler\'s',
                                           'K-Pek',
                                           'Kaopectate',
                                           'Kaopectate Advanced Formula',
                                           'Kaopectate Maximum Strength',
                                           'Kaopek',
                                           'Parepectolin',
                                           'Rheaban'
                                         ],
                        'generic_names' => ''
                      },
          'PA448497' => {
                        'pathways' => [
                                        {
                                          'Celecoxib Pathway' => '/search/pathway/celecoxib/celecoxib.jsp'
                                        },
                                        {
                                          'Platelet Aggregation Pathway (PD)' => '/search/pathway/platelet/platelet-pd.jsp'
                                        }
                                      ],
                        'diseases' => [
                                        'PA443425',
                                        'PA443635',
                                        'PA447054',
                                        'PA446108',
                                        'PA443842',
                                        'PA445019',
                                        'PA153619833',
                                        'PA131285571'
                                      ],
                        'genes' => [
                                     'PA117',
                                     'PA130',
                                     'PA29938',
                                     'PA205',
                                     'PA378',
                                     'PA32868',
                                     'PA24346',
                                     'PA293',
                                     'PA37181'
                                   ],
                        'name' => 'aspirin',
                        'classification' => '',
                        'category' => '',
                        'phenotypes' => [
                                          'PA161845844'
                                        ],
                        'trade_names' => [
                                           '217',
                                           '217 Strong',
                                           '8-Hour Bayer',
                                           'Acetaminophen, Aspirin And Caffeine',
                                           'Acetaminophen, Aspirin, And Codeine Phosphate',
                                           'Acuprin 81',
                                           'Aggrenox',
                                           'Anacin',
                                           'Anacin Caplets',
                                           'Anacin Extra Strength',
                                           'Anacin Maximum Strength',
                                           'Anacin Tablets',
                                           'Antidol',
                                           'Apo-ASA',
                                           'Apo-ASEN'
                                         ],
                        'generic_names' => ''
                      }

    };
    Usage: $sef->publication_search('AIDS');
    'AIDS' is just an example.. PharmGKB has a lot of publications
    about AIDS and it takes a long time for the SOAP to respond.

    This method is used to search for for publications.
    It returns a referenced hash like this :
    $var = {
          'PA133822615' => {
                           'authors' => [
                                          'Leabman Maya K',
                                          'Giacomini Kathleen M'
                                        ],
                           'page' => '581-4',
                           'volume' => '13',
                           'month' => '9',
                           'grant_id' => '',
                           'cross_reference' => [
                                                  {
                                                    'PubMed ID' => '12972957'
                                                  }
                                                ],
                           'title' => 'Estimating the contribution of genes and environment to variation in renal drug clearance',
                           'abstract' => 'Renal excretion is the major pathway for elimination of many clinically used drugs and xenobiotics. We estimated the genetic component (rGC) contributing to variation in renal clearance for six compounds (amoxicillin, ampicillin, metformin, terodiline, digoxin and iohexol) using Repeated Drug Application methodology. Data were obtained from published literature. The rGC values of renal clearance of metformin, amoxicillin, and ampicillin, which undergo transporter-mediated secretion, ranged from 0.64-0.94. This finding suggests that variation in the renal clearance of these drugs has a strong genetic component. Additionally, the rGC values of renal clearance of metformin, amoxicillin, and ampicillin were similar to previously reported rGC values for metabolism. By contrast, the rGC values of renal clearance for iohexol, digoxin, and terodiline were low (0.12-0.37). Renal clearance of these compounds occurs mainly through passive processes (e.g. glomerular filtration and passive secretion/reabsorption). The low rGC values of iohexol, digoxin and terodiline suggest that environmental factors may contribute to variation in their renal clearance.',
                           'grants_id' => [
                                            'GM61390'
                                          ],
                           'year' => '2003',
                           'journal' => 'Pharmacogenetics'
                         }
    };

TODO

    Return information instead of a bunch of PharmGKB IDs and try to make
    the SOAP respond faster. More features like phenotype/genotype data download.

AUTHOR

Arun Venkataraman, <arvktr@gmail.com>

BUGS

Please report any bugs or feature requests to bug-www-search-pharmgkb at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Search-PharmGKB. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc WWW::Search::PharmGKB

You can also look for information at:

You can contact the author for any issues or suggestions you come accross using this module.

ACKNOWLEDGEMENTS

This module is based on the perl client written by Andrew MacBride (andrew@helix.stanford.edu) for PharmGKB's web services.

COPYRIGHT & LICENSE

Copyright 2008 Arun Venkataraman arvktr@gmail.com, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.