Bio::DB::NextProt - Object interface to NextProt REST API.
my $np = Bio::DB::NextProt->new(); my @result_1 = $np->search_cv(-query => "kinase#"); my @result_2 = $np->get_isoform_info(-id => "NX_O00142-2"); my @result_3 = $np->get_protein_cv_info(-id => "PTM-0205", -format => "html");
The module allows the dynamic retrieval of information from the NextProt Database through its API service. All the information below was extracted from the API webpage. For the moment the results obtained from the API are in pure HTML, XML or JSON, so you will have to parse them yourself.
Search proteins matching the query or search proteins for which the filter is true. Available filter values are: structure, disease, expression, mutagenesis or proteomics. Note: only one filter parameter at a time is possible for the moment.
@result = $np->search_protein(-query => "kinase"); @result = $np->search_protein(-query => "kinase", -filter => "disease");
Search control vocabulary terms matching the query or search control vocabulary terms in the category specified by the filter. Available filter values are: enzyme, go, mesh, cell, domain, family, tissue, metal, pathway, disease, keyword, ptm, subcell. Note: only one category at a time is possible.
@result = $np->search_cv(-query => "colon"); @result = $np->search_cv(-query => "colon", -filter => "keyword");
Output format maybe in JSON (default), HTML or XML.
@result = $np->search_protein(-query => "kinase", -filter => "disease", -format => "html");
ID is neXtProt identifier. Retrieve gene name as well as main identifier and isoform sequences
@result = $np->get_protein_info(-query => "NX_P13051");
For each isoform of the specified entry, retrieve all post-translational modifications.
@result = $np->get_protein_info(-query => "NX_P13051", -retrieve => "ptm");
For each isoform of the specified entry, retrieve all variants.
@result = $np->get_protein_info(-query => "NX_P13051", -retrieve => "variant");
For each isoform of the specified entry, retrieve all subcellular location.
@result = $np->get_protein_info(-query => "NX_P13051", -retrieve => "localisation");
Retrieve all expression information by tissue for the specified entry.
@result = $np->get_protein_info(-query => "NX_P13051", -retrieve => "expression");
@result = $np->get_protein_info(-query => "NX_P13051", -retrieve => "expression", -format => "html");
@result = $np->get_isoform_info(-query => "NX_O00142-2");
@result = $np->get_isoform_info(-query => "NX_P01116-2", -retrieve => "ptm");
@result = $np->get_isoform_info(-query => "NX_P01116-2", -retrieve => "variant");
@result = $np->get_isoform_info(-query => "NX_P01116-2", -retrieve => "localisation");
ID is neXtProt identifier. Retrieve the accession, the name and the category of the CV term.
@result = $np->get_protein_cv_info(-query => "PTM-0205");
List all the proteins associated with the term in neXtProt.
@result = $np->get_protein_cv_info(-query => "PTM-0205", -retrieve => "proteins");
@result = $np->get_protein_cv_info(-query => "PTM-0205", -retrieve => "proteins", -format => "html");
The module also allows the programatic access to chromosome information by accessing and formatting the chr_report tables from the nextprot ftp server. The retrieved structure is a hash of hashes, being the first key the Gene Name. The internal hashes have the following values:
* Chromosomal position * Start position * Stop position * Protein existence * Proteomics * Antibody * 3D * Disease * Isoforms * Variants * PTMs * Description
This is how the data is representes in the hashes:
ZSWIM8 { antibody "yes", description "Zinc finger SWIM domain-containing protein 8", disease "no", existence "protein level", has_3d "no", isoforms 5, nextprot_ac "NX_A7E2V4", position "10q22.2", proteomics "yes", ptms 6, start_position 75545340, stop_position 75561551, variants 67 }
Loas all the information from tha table.
my %data = $db->get_chromosome(-chromosome => 10);
say $data{ZSWIM8}->{isoforms}; say $data{ZSWIM8}->{proteomics}; say $data{ZSWIM8}->{description};
$sum = (keys %data); say $sum;
for my $prot (keys %data) { say $prot; }
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Please direct usage questions or support issues to the mailing list:
bioperl-l@bioperl.org
rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.
Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:
https://github.com/bioperl/bioperl-live
Email leprevost@cpan.org
To install Bio::DB::NextProt, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bio::DB::NextProt
CPAN shell
perl -MCPAN -e shell install Bio::DB::NextProt
For more information on module installation, please visit the detailed CPAN module installation guide.