[moby] [MOBY-dev] bug in MOBY::CommunSubs:getCrossReferences

Mark Wilkinson mwilkinson at mrl.ubc.ca
Tue Feb 8 17:21:46 UTC 2005


thanks!  Bug squashed.

M


On Tue, 2005-02-08 at 02:41, Sophie Durand wrote:
> Hello,
> 
> I have a problem while parsing the following moby output:
> 
> <?xml version='1.0' encoding='UTF-8'?><moby:MOBY
> xmlns:moby='http://www.biomoby.org/moby'><moby:mobyContent
> moby:authority='genoplante-info.infobiogen.fr'><moby:serviceNotes>GENOPLANTE 
> 
> PHYTOPROT. IDDN.FR.001.250004.000.S.P.2003.000.10300. This database, its
> constitutive components and its documentation, are the intellectual
> property of GENOPLANTE-VALOR.</moby:serviceNotes><moby:mobyData
> moby:queryID='1'><moby:Collection
> moby:articleName=''><moby:Simple><moby:Object
> moby:namespace='AGI_LocusCode' moby:id='AT3G23130'
>  ><CrossReference><moby:Object moby:namespace='PHYTOPROT_CLUSTER_Id' 
> moby:id='148'
> /></CrossReference></moby:Object></moby:Simple></moby:Collection></moby:mobyData></moby:mobyContent></moby:MOBY>
> 
> I'm using the Perl API with a genericServiceInputParser call and then a 
> getCrossReferences call to obtain the cross reference. But in this case, 
> I don't get any cross reference. If I delete the "moby:" namespaces like 
> this :
> <CrossReference><moby:Object namespace='PHYTOPROT_CLUSTER_Id'  id='148' 
> /></CrossReference>
> it works well.
> 
> So I looked in the code, and I modified the following function in 
> MOBY::CommunSubs.pm, and then it works:
> 
> sub _makeObjectType {
>      my ($xref) = @_;
>      my $ns = $xref->getAttributeNode('namespace');
>      $ns = $xref->getAttributeNode('moby:namespace') unless $ns;
>      return undef unless $ns;
>      my $id = $xref->getAttributeNode('id');
>      $id = $xref->getAttributeNode('moby:id') unless $id;  # INSTEAD OF $ns
>      return undef unless $id;
>      my $XREF = MOBY::CrossReference->new(
>          type => "object",
>          namespace => $ns->getValue,
>          id => $id->getValue,
>       );
> }
-- 
Mark Wilkinson
Assistant Professor (Bioinformatics)
Dept. Medical Genetics, UBC, Canada




More information about the MOBY-dev mailing list