[ensembl-dev] Questions about Compara/Hive modules

Zhang Di aureliano.jz at gmail.com
Fri Dec 2 06:01:29 GMT 2011


Just found a bug
in ensembl-analysis/modules/Bio/EnsEMBL/Analysis/Runnable/AlignmentNets.pm

line 493:       @new_chain = @{@$chain}[$first_idx..$last_idx];

two '@' for $chain.

which should be: @new_chain = @{$chain}[$first_idx..$last_idx];

Am I right?

On Fri, Dec 2, 2011 at 11:44 AM, Zhang Di <aureliano.jz at gmail.com> wrote:

> Solved!
>
> The problem is that subroutine CreateAlignmentNetsJobs cannot handle
> DnaFragChunkSet class.
>
> However, it is easy to solve: just use method 'get_all_DnaFragChunks'
> (below).
>
> -------------------------------
> Replace:
>
>   my $query_dna_list  = $self->{'collection'}->get_all_dna_objects;
>
> To:
>
>   my $query_dna_list_raw  = $self->{'collection'}->get_all_dna_objects;
>
>   my $query_dna_list;
>
>   for my $obj (@{$query_dna_list_raw}) {
>     if ($obj->isa("Bio::EnsEMBL::Compara::Production::DnaFragChunkSet")) {
>        push @{$query_dna_list}, @{$obj->get_all_DnaFragChunks};
>     } else {
>        push @{$query_dna_list}, $obj;
>     }
>   }
>
>
> On Fri, Dec 2, 2011 at 9:24 AM, Zhang Di <aureliano.jz at gmail.com> wrote:
>
>> Thank you,  Javier
>>
>> Sorry for not checking the subsequent output!
>>
>> The last line
>> is Bio::EnsEMBL::Compara::Production::DnaFragChunkSet=HASH(0x1e16ed0)
>>
>> Seems that it works well
>> with Bio::EnsEMBL::Compara::Production::DnaFragChunk, without any problem
>> finding the method 'dnafrag' for it.
>>
>> I guess that the program died immediately after it met the first
>> DnaFragChunkSet qy_dna_object.
>>
>> I'm using the version 64 API. checked out 2 mouth ago at a same time.
>>
>>
>>
>> On Fri, Dec 2, 2011 at 2:05 AM, Javier Herrero <jherrero at ebi.ac.uk>wrote:
>>
>>>  Dear Zhang
>>>
>>> As you mention, if the object is a
>>> Bio::EnsEMBL::Compara::Production::DnaFragChunk, Perl should be looking for
>>> the 'dnafrag' method in that module (or one of its parents).
>>>
>>> I have noticed that this call is made in a loop. Could you please check
>>> that the $qy_dna_object is always a
>>> Bio::EnsEMBL::Compara::Production::DnaFragChunk object? I am guessing that
>>> in subsequent iterations, the variable is set to something different.
>>>
>>> Could also please tell us what version of the API you are using?
>>>
>>> Thanks
>>>
>>> Javier
>>>
>>>
>>> On 01/12/11 08:14, Zhang Di wrote:
>>>
>>> Hi,
>>>
>>>
>>>     I'm running the compara pipeline for 2x alignment (first run
>>> PairAligner then Chain Net).
>>>    The raw and chain steps works fine.
>>>    the pipeline failed at the CreateAlignmentNetsJobs step complaining
>>> that:
>>>
>>>  Job with id=8380 died in status 'RUN' for the following reason: Can't
>>> locate object method "dnafrag" via package
>>> "Bio::EnsEMBL::Compara::Production::DnaFragChunkSet" at
>>> /data/ensembl/ensembl-compara/modules/Bio/EnsEMBL/Compara/Production/GenomicAlignBlock/CreateAlignmentNetsJobs.pm
>>> line 200.
>>>
>>>
>>>     After some  debug effort (just print "$qy_dna_object";), I found
>>> that $qy_dna_object is an instance of
>>> Bio::EnsEMBL::Compara::Production::DnaFragChunk, and this class has the
>>> method 'dnafrag'.
>>>
>>>     I'm not very familiar with perl object-oriented system. why did it
>>> try to find method 'dnafrag' via
>>> package Bio::EnsEMBL::Compara::Production::DnaFragChunkSet while the data
>>> is an instance of DnaFragChunk?
>>>
>>>  --
>>> Zhang Di
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list    Dev at ensembl.org
>>> List admin (including subscribe/unsubscribe): http://lists.ensembl.org/mailman/listinfo/dev
>>> Ensembl Blog: http://www.ensembl.info/
>>>
>>>
>>> --
>>> Javier Herrero, PhD
>>> Ensembl Compara Project Leader
>>> European Bioinformatics Institute (EMBL-EBI)
>>> Wellcome Trust Genome Campus, Hinxton
>>> Cambridge - CB10 1SD - UK
>>>
>>>
>>
>>
>> --
>> Zhang Di
>>
>
>
>
> --
> Zhang Di
>



-- 
Zhang Di
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20111202/846852e6/attachment.html>


More information about the Dev mailing list