Re: Bootstrapping positions in alignment - Utilities package

View: New views
6 Messages — Rating Filter:   Alert me  

Re: Bootstrapping positions in alignment - Utilities package

by JorisMeys :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks, but it's not really what I'm looking for. My alignments are
flushed, so basically a matrix from which I need to select columns.
These column indices come from an array with random numbers. It works
with slice() from AlignI, I was just wondering if you could use an
index of some sort like for an array. Something like

$newaln = $oldaln [ @indices ]

Thing is, I use this loop for it, but it doesn't want to work. $aln is
a simpleAlign object

use Bio::Align::Utilities qw(:all);

my $out = Bio::SimpleAlign -> new;
foreach (@indices){
        my $temp = $aln -> slice($_ ,$_);
        eval{$out = &cat($out,$temp)} or print $@ and $out = $temp;
    }
I use the eval construction to get passed a first error, but it
doesn't work. I get as output :

Undefined subroutine &main::cat called at...
and then the result of the last round in the loop. I must be doing
something wrong with the cat function from Align::Utilities.  But I
have no clue what.

The other function from the Utilities package, bootstrap_replicates,
works just fine.

Any tips are welcome
Kind regards
Joris

On Sat, Oct 17, 2009 at 3:27 AM, Mark A. Jensen <maj@...> wrote:

> Hi Joris
> You may find what you're looking for in this post:
> http://lists.open-bio.org/pipermail/bioperl-l/2009-September/031292.html
> cheers MAJ
> ----- Original Message ----- From: "joris meys" <jorismeys@...>
> To: <bioperl-l@...>
> Sent: Friday, October 16, 2009 3:35 PM
> Subject: [Bioperl-l] Bootstrapping positions in alignment
>
>
>> Dear all,
>>
>> I'm using the packages AlignIO and AlignI to construct a bootstrapping
>> procedure on my alignments. There is a function slice() in AlignI I
>> can use, but I actually need just a number of positions, not a slice.
>> Is there any other way of accessing the object so I can just specify
>> one position?
>>
>> Thx in advance
>> Joris
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l@...
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>
>>
>
_______________________________________________
Bioperl-l mailing list
Bioperl-l@...
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Re: Bootstrapping positions in alignment - Utilities package

by Chris Fields-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Did you try bootstrap_replicates() from Bio::Align::Utilities?

chris

On Oct 16, 2009, at 9:51 PM, joris meys wrote:

> Thanks, but it's not really what I'm looking for. My alignments are
> flushed, so basically a matrix from which I need to select columns.
> These column indices come from an array with random numbers. It works
> with slice() from AlignI, I was just wondering if you could use an
> index of some sort like for an array. Something like
>
> $newaln = $oldaln [ @indices ]
>
> Thing is, I use this loop for it, but it doesn't want to work. $aln is
> a simpleAlign object
>
> use Bio::Align::Utilities qw(:all);
>
> my $out = Bio::SimpleAlign -> new;
> foreach (@indices){
>        my $temp = $aln -> slice($_ ,$_);
>        eval{$out = &cat($out,$temp)} or print $@ and $out = $temp;
>    }
> I use the eval construction to get passed a first error, but it
> doesn't work. I get as output :
>
> Undefined subroutine &main::cat called at...
> and then the result of the last round in the loop. I must be doing
> something wrong with the cat function from Align::Utilities.  But I
> have no clue what.
>
> The other function from the Utilities package, bootstrap_replicates,
> works just fine.
>
> Any tips are welcome
> Kind regards
> Joris
>
> On Sat, Oct 17, 2009 at 3:27 AM, Mark A. Jensen <maj@...>  
> wrote:
>> Hi Joris
>> You may find what you're looking for in this post:
>> http://lists.open-bio.org/pipermail/bioperl-l/2009-September/031292.html
>> cheers MAJ
>> ----- Original Message ----- From: "joris meys" <jorismeys@...>
>> To: <bioperl-l@...>
>> Sent: Friday, October 16, 2009 3:35 PM
>> Subject: [Bioperl-l] Bootstrapping positions in alignment
>>
>>
>>> Dear all,
>>>
>>> I'm using the packages AlignIO and AlignI to construct a  
>>> bootstrapping
>>> procedure on my alignments. There is a function slice() in AlignI I
>>> can use, but I actually need just a number of positions, not a  
>>> slice.
>>> Is there any other way of accessing the object so I can just specify
>>> one position?
>>>
>>> Thx in advance
>>> Joris
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l@...
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>
>>>
>>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@...
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

_______________________________________________
Bioperl-l mailing list
Bioperl-l@...
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Re: Bootstrapping positions in alignment - Utilities package

by Mark A. Jensen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

leave out the ampersand.
----- Original Message -----
From: "joris meys" <jorismeys@...>
To: "Mark A. Jensen" <maj@...>
Cc: <bioperl-l@...>
Sent: Friday, October 16, 2009 10:51 PM
Subject: Re: [Bioperl-l] Bootstrapping positions in alignment - Utilities
package


> Thanks, but it's not really what I'm looking for. My alignments are
> flushed, so basically a matrix from which I need to select columns.
> These column indices come from an array with random numbers. It works
> with slice() from AlignI, I was just wondering if you could use an
> index of some sort like for an array. Something like
>
> $newaln = $oldaln [ @indices ]
>
> Thing is, I use this loop for it, but it doesn't want to work. $aln is
> a simpleAlign object
>
> use Bio::Align::Utilities qw(:all);
>
> my $out = Bio::SimpleAlign -> new;
> foreach (@indices){
>        my $temp = $aln -> slice($_ ,$_);
>        eval{$out = &cat($out,$temp)} or print $@ and $out = $temp;
>    }
> I use the eval construction to get passed a first error, but it
> doesn't work. I get as output :
>
> Undefined subroutine &main::cat called at...
> and then the result of the last round in the loop. I must be doing
> something wrong with the cat function from Align::Utilities.  But I
> have no clue what.
>
> The other function from the Utilities package, bootstrap_replicates,
> works just fine.
>
> Any tips are welcome
> Kind regards
> Joris
>
> On Sat, Oct 17, 2009 at 3:27 AM, Mark A. Jensen <maj@...> wrote:
>> Hi Joris
>> You may find what you're looking for in this post:
>> http://lists.open-bio.org/pipermail/bioperl-l/2009-September/031292.html
>> cheers MAJ
>> ----- Original Message ----- From: "joris meys" <jorismeys@...>
>> To: <bioperl-l@...>
>> Sent: Friday, October 16, 2009 3:35 PM
>> Subject: [Bioperl-l] Bootstrapping positions in alignment
>>
>>
>>> Dear all,
>>>
>>> I'm using the packages AlignIO and AlignI to construct a bootstrapping
>>> procedure on my alignments. There is a function slice() in AlignI I
>>> can use, but I actually need just a number of positions, not a slice.
>>> Is there any other way of accessing the object so I can just specify
>>> one position?
>>>
>>> Thx in advance
>>> Joris
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l@...
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>
>>>
>>
>
>

_______________________________________________
Bioperl-l mailing list
Bioperl-l@...
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Re: Bootstrapping positions in alignment - Utilities package

by JorisMeys :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I did, and that one works. But I can't specify here that I want only
100 positions from an alignment of 300 long for example. That's why I
have to do it myself.

I did lose the ampersand in the statement, but that didn't help one
bit. Next to that, my program is now complaining about unblessed
references when I put an alignment as an argument for a subroutine,
and I have no clue why.

Guess I'm not so OOP minded. I'll struggle on, thanks for the hints.
Cheers
Joris

On Sat, Oct 17, 2009 at 5:38 AM, Chris Fields <cjfields@...> wrote:

> Did you try bootstrap_replicates() from Bio::Align::Utilities?
>
> chris
>
> On Oct 16, 2009, at 9:51 PM, joris meys wrote:
>
>> Thanks, but it's not really what I'm looking for. My alignments are
>> flushed, so basically a matrix from which I need to select columns.
>> These column indices come from an array with random numbers. It works
>> with slice() from AlignI, I was just wondering if you could use an
>> index of some sort like for an array. Something like
>>
>> $newaln = $oldaln [ @indices ]
>>
>> Thing is, I use this loop for it, but it doesn't want to work. $aln is
>> a simpleAlign object
>>
>> use Bio::Align::Utilities qw(:all);
>>
>> my $out = Bio::SimpleAlign -> new;
>> foreach (@indices){
>>       my $temp = $aln -> slice($_ ,$_);
>>       eval{$out = &cat($out,$temp)} or print $@ and $out = $temp;
>>   }
>> I use the eval construction to get passed a first error, but it
>> doesn't work. I get as output :
>>
>> Undefined subroutine &main::cat called at...
>> and then the result of the last round in the loop. I must be doing
>> something wrong with the cat function from Align::Utilities.  But I
>> have no clue what.
>>
>> The other function from the Utilities package, bootstrap_replicates,
>> works just fine.
>>
>> Any tips are welcome
>> Kind regards
>> Joris
>>
>> On Sat, Oct 17, 2009 at 3:27 AM, Mark A. Jensen <maj@...> wrote:
>>>
>>> Hi Joris
>>> You may find what you're looking for in this post:
>>> http://lists.open-bio.org/pipermail/bioperl-l/2009-September/031292.html
>>> cheers MAJ
>>> ----- Original Message ----- From: "joris meys" <jorismeys@...>
>>> To: <bioperl-l@...>
>>> Sent: Friday, October 16, 2009 3:35 PM
>>> Subject: [Bioperl-l] Bootstrapping positions in alignment
>>>
>>>
>>>> Dear all,
>>>>
>>>> I'm using the packages AlignIO and AlignI to construct a bootstrapping
>>>> procedure on my alignments. There is a function slice() in AlignI I
>>>> can use, but I actually need just a number of positions, not a slice.
>>>> Is there any other way of accessing the object so I can just specify
>>>> one position?
>>>>
>>>> Thx in advance
>>>> Joris
>>>> _______________________________________________
>>>> Bioperl-l mailing list
>>>> Bioperl-l@...
>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>>
>>>>
>>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l@...
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>

_______________________________________________
Bioperl-l mailing list
Bioperl-l@...
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Re: Bootstrapping positions in alignment - Utilities package

by JorisMeys :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Found the unblessed reference problem, but with or without ampersand,
I get the same error out of the eval. It doesn't find the function
somehow, and I'm baffled about why.

Cheers
Joris

On Sat, Oct 17, 2009 at 2:48 PM, joris meys <jorismeys@...> wrote:

> I did, and that one works. But I can't specify here that I want only
> 100 positions from an alignment of 300 long for example. That's why I
> have to do it myself.
>
> I did lose the ampersand in the statement, but that didn't help one
> bit. Next to that, my program is now complaining about unblessed
> references when I put an alignment as an argument for a subroutine,
> and I have no clue why.
>
> Guess I'm not so OOP minded. I'll struggle on, thanks for the hints.
> Cheers
> Joris
>
> On Sat, Oct 17, 2009 at 5:38 AM, Chris Fields <cjfields@...> wrote:
>> Did you try bootstrap_replicates() from Bio::Align::Utilities?
>>
>> chris
>>
>> On Oct 16, 2009, at 9:51 PM, joris meys wrote:
>>
>>> Thanks, but it's not really what I'm looking for. My alignments are
>>> flushed, so basically a matrix from which I need to select columns.
>>> These column indices come from an array with random numbers. It works
>>> with slice() from AlignI, I was just wondering if you could use an
>>> index of some sort like for an array. Something like
>>>
>>> $newaln = $oldaln [ @indices ]
>>>
>>> Thing is, I use this loop for it, but it doesn't want to work. $aln is
>>> a simpleAlign object
>>>
>>> use Bio::Align::Utilities qw(:all);
>>>
>>> my $out = Bio::SimpleAlign -> new;
>>> foreach (@indices){
>>>       my $temp = $aln -> slice($_ ,$_);
>>>       eval{$out = &cat($out,$temp)} or print $@ and $out = $temp;
>>>   }
>>> I use the eval construction to get passed a first error, but it
>>> doesn't work. I get as output :
>>>
>>> Undefined subroutine &main::cat called at...
>>> and then the result of the last round in the loop. I must be doing
>>> something wrong with the cat function from Align::Utilities.  But I
>>> have no clue what.
>>>
>>> The other function from the Utilities package, bootstrap_replicates,
>>> works just fine.
>>>
>>> Any tips are welcome
>>> Kind regards
>>> Joris
>>>
>>> On Sat, Oct 17, 2009 at 3:27 AM, Mark A. Jensen <maj@...> wrote:
>>>>
>>>> Hi Joris
>>>> You may find what you're looking for in this post:
>>>> http://lists.open-bio.org/pipermail/bioperl-l/2009-September/031292.html
>>>> cheers MAJ
>>>> ----- Original Message ----- From: "joris meys" <jorismeys@...>
>>>> To: <bioperl-l@...>
>>>> Sent: Friday, October 16, 2009 3:35 PM
>>>> Subject: [Bioperl-l] Bootstrapping positions in alignment
>>>>
>>>>
>>>>> Dear all,
>>>>>
>>>>> I'm using the packages AlignIO and AlignI to construct a bootstrapping
>>>>> procedure on my alignments. There is a function slice() in AlignI I
>>>>> can use, but I actually need just a number of positions, not a slice.
>>>>> Is there any other way of accessing the object so I can just specify
>>>>> one position?
>>>>>
>>>>> Thx in advance
>>>>> Joris
>>>>> _______________________________________________
>>>>> Bioperl-l mailing list
>>>>> Bioperl-l@...
>>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>>>
>>>>>
>>>>
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l@...
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>
>>
>

_______________________________________________
Bioperl-l mailing list
Bioperl-l@...
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Re: Bootstrapping positions in alignment - Utilities package

by JorisMeys :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ah-HA! Problem is -off course- the obvious : I checked the
Utilities.pm file, but that one doesn't contain the cat function.
Somebody should update his packages before complaining...

Thx for the help!
Cheers
Joris

On Sat, Oct 17, 2009 at 3:14 PM, joris meys <jorismeys@...> wrote:

> Found the unblessed reference problem, but with or without ampersand,
> I get the same error out of the eval. It doesn't find the function
> somehow, and I'm baffled about why.
>
> Cheers
> Joris
>
> On Sat, Oct 17, 2009 at 2:48 PM, joris meys <jorismeys@...> wrote:
>> I did, and that one works. But I can't specify here that I want only
>> 100 positions from an alignment of 300 long for example. That's why I
>> have to do it myself.
>>
>> I did lose the ampersand in the statement, but that didn't help one
>> bit. Next to that, my program is now complaining about unblessed
>> references when I put an alignment as an argument for a subroutine,
>> and I have no clue why.
>>
>> Guess I'm not so OOP minded. I'll struggle on, thanks for the hints.
>> Cheers
>> Joris
>>
>> On Sat, Oct 17, 2009 at 5:38 AM, Chris Fields <cjfields@...> wrote:
>>> Did you try bootstrap_replicates() from Bio::Align::Utilities?
>>>
>>> chris
>>>
>>> On Oct 16, 2009, at 9:51 PM, joris meys wrote:
>>>
>>>> Thanks, but it's not really what I'm looking for. My alignments are
>>>> flushed, so basically a matrix from which I need to select columns.
>>>> These column indices come from an array with random numbers. It works
>>>> with slice() from AlignI, I was just wondering if you could use an
>>>> index of some sort like for an array. Something like
>>>>
>>>> $newaln = $oldaln [ @indices ]
>>>>
>>>> Thing is, I use this loop for it, but it doesn't want to work. $aln is
>>>> a simpleAlign object
>>>>
>>>> use Bio::Align::Utilities qw(:all);
>>>>
>>>> my $out = Bio::SimpleAlign -> new;
>>>> foreach (@indices){
>>>>       my $temp = $aln -> slice($_ ,$_);
>>>>       eval{$out = &cat($out,$temp)} or print $@ and $out = $temp;
>>>>   }
>>>> I use the eval construction to get passed a first error, but it
>>>> doesn't work. I get as output :
>>>>
>>>> Undefined subroutine &main::cat called at...
>>>> and then the result of the last round in the loop. I must be doing
>>>> something wrong with the cat function from Align::Utilities.  But I
>>>> have no clue what.
>>>>
>>>> The other function from the Utilities package, bootstrap_replicates,
>>>> works just fine.
>>>>
>>>> Any tips are welcome
>>>> Kind regards
>>>> Joris
>>>>
>>>> On Sat, Oct 17, 2009 at 3:27 AM, Mark A. Jensen <maj@...> wrote:
>>>>>
>>>>> Hi Joris
>>>>> You may find what you're looking for in this post:
>>>>> http://lists.open-bio.org/pipermail/bioperl-l/2009-September/031292.html
>>>>> cheers MAJ
>>>>> ----- Original Message ----- From: "joris meys" <jorismeys@...>
>>>>> To: <bioperl-l@...>
>>>>> Sent: Friday, October 16, 2009 3:35 PM
>>>>> Subject: [Bioperl-l] Bootstrapping positions in alignment
>>>>>
>>>>>
>>>>>> Dear all,
>>>>>>
>>>>>> I'm using the packages AlignIO and AlignI to construct a bootstrapping
>>>>>> procedure on my alignments. There is a function slice() in AlignI I
>>>>>> can use, but I actually need just a number of positions, not a slice.
>>>>>> Is there any other way of accessing the object so I can just specify
>>>>>> one position?
>>>>>>
>>>>>> Thx in advance
>>>>>> Joris
>>>>>> _______________________________________________
>>>>>> Bioperl-l mailing list
>>>>>> Bioperl-l@...
>>>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>>>>
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> Bioperl-l mailing list
>>>> Bioperl-l@...
>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>
>>>
>>
>

_______________________________________________
Bioperl-l mailing list
Bioperl-l@...
http://lists.open-bio.org/mailman/listinfo/bioperl-l