[Bioperl-l] Patching lucy

Phillip San Miguel pmiguel at purdue.edu
Mon Aug 1 15:39:07 EDT 2005


Hi Andrew,

Thanks for the effort you went to here. Still looks there is a (more 
minor) problem though.
patch gives a few errors (see below) using your new diff. Looks like 2 
of the 7 patches failed to patch lucy.c from lucy version lucy-1.19p.

But the resulting source code does compile and run on the lucy test 
data. But the PolyA patches did not get inserted.

Do you know if all 7 of your patches were installed into the lucy.c file 
from lucy-1.19p?

(By the way, I think we are on the same page.  I do understand that your 
perl code parses lucy output. I've tried it on lucy 1.19p output and it 
succeeds--although it, of course, lacks some of the functionality that 
would be available from the patched version of lucy).

Phillip

Here is the output when I run patch:

(lucy)% cd lucy-1.19p
(lucy-1.19p)% patch -b -i AndrewsNewPatch.diff lucy.c
  Looks like a normal diff.
Hunk #4 failed at line 893.
Hunk #5 failed at line 896.
2 out of 7 hunks failed: saving rejects to lucy.c.rej
  I can't seem to find a patch in there anywhere.

Here is the lucy.c.rej file contents:

***************
*** 893,893 ****
!       if (left) seqs[i].left+=left;
--- 898,902 ----
!       if (left) {
!         seqs[i].left+=left;
!         /*  AGW added next line */
!         fprintf(stderr, "%s has PolyA (left).\n", seqs[i].name);
!       }
***************
*** 896,896 ****
!       if (right) seqs[i].right-=right;
--- 905,909 ----
!       if (right) {
!         seqs[i].right-=right;
!         /*  AGW added next line */
!         fprintf(stderr, "%s has PolyA (right).\n", seqs[i].name);
!         }


Andrew Walsh wrote:

> Hi Phillip,
>
> The patch pasted at the bottom of this e-mail should do the trick.  
> When you say that lucy seg faults, I assume you mean that you get the 
> segfault when running lucy on its own.  The module itself does not 
> call lucy.  It is only parsing the output from the files that lucy 
> creates. lucy itself should be taking phred files as its input.  The 
> patch is required if you want to use the stderr from the lucy to get 
> more information from the module about the sequences.  If you apply 
> this patch, you can try running the test that comes with the lucy 
> tarball (see the README.FIRST file in the distribution).  It works for 
> me (Suse 9.0 on a Pentium 3 box).  Let me know if there are any 
> problems.  I will update the Appendix for Bio::Tools::Lucy in CVS.
>
> Cheers,
>
> Andrew
>
>
> 277a278,279
> >       /* AGW added next line */
> >       fprintf(stderr, "Short/ no insert: %s\n", seqs[i].name);
> 588c590,592
> <     if ((seqs[i].len=bases)<=0)
> ---
> >     if ((seqs[i].len=bases)<=0) {
> >       /* AGW added next line */
> >       fprintf(stderr, "Empty: %s\n", seqs[i].name);
> 589a594
> >     }
> 893c898,902
> <       if (left) seqs[i].left+=left;
> ---
> >       if (left) {
> >         seqs[i].left+=left;
> >         /*  AGW added next line */
> >         fprintf(stderr, "%s has PolyA (left).\n", seqs[i].name);
> >       }
> 896c905,909
> <       if (right) seqs[i].right-=right;
> ---
> >       if (right) {
> >         seqs[i].right-=right;
> >         /*  AGW added next line */
> >         fprintf(stderr, "%s has PolyA (right).\n", seqs[i].name);
> >         }
> 898a912,913
> >         /* AGW added next line */
> >         fprintf(stderr, "Dropped PolyA: %s\n", seqs[i].name);
> 949a965,966
> >         /* AGW added next line */
> >           fprintf(stderr, "Vector: %s\n", seqs[i].name);
>
>
>
>
> Phillip SanMiguel wrote:
>
>> The patch to lucy source code from (the appendix):
>>
>> http://doc.bioperl.org/releases/bioperl-1.4/Bio/Tools/Lucy.html
>>
>> seems not to work for lucy-1.19p or lucy-1.19s. Actually patch runs 
>> fine, but the resulting executable (after make) seg faults when run 
>> on the lucy test data.
>>
>> Any advice?
>>
>> I've sent email directly to the module creator, Andrew G. Walsh, as 
>> requested in the module. But I'm not sure if the module creator 
>> regularly monitors the hotmail account listed therein. So I thought 
>> I'd post here, in case someone had a patch that would work on lucy-1.19.
>>
>
>



More information about the Bioperl-l mailing list