[Bioperl-guts-l] [Bug 2320] New: problem with high_quality_discrepancies in ContigAnalysis: Can't call method "start" on an undefined value at /home/jayoung/traskdata/perl/lib/Bio/Assembly/ContigAnalysis.pm line 177.

bugzilla-daemon at portal.open-bio.org bugzilla-daemon at portal.open-bio.org
Thu Jun 14 18:06:06 EDT 2007


http://bugzilla.open-bio.org/show_bug.cgi?id=2320

           Summary: problem with high_quality_discrepancies in
                    ContigAnalysis: Can't call method "start" on an
                    undefined value at
                    /home/jayoung/traskdata/perl/lib/Bio/Assembly/ContigAnal
                    ysis.pm line 177.
           Product: BioPerl
           Version: 1.5 branch
          Platform: Sun
        OS/Version: SunOS
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Bio::SeqIO
        AssignedTo: bioperl-guts-l at bioperl.org
        ReportedBy: jayoung at fhcrc.org


Hi 

I'm almost certain this is a bug, but it's possible there's an error in my
code. I'm still quite naive about object-oriented programming. Any help
appreciated!

I've written a script that works fine on a small test input file, but when I
try it on a larger file (my real dataset), I get an error and it stops running,
and I can't work out why. 

The script reads in an ace file produced by phredPhrap and seq quality from
corresponding phd files, checks how many high quality discrepancies (HQDs) each
sequence read has, and if a read has more than a threshold number of HQDs, it
tags those discrepancies (makes a new phd file, edits quality to 99 of the
discrepant regions, and adds tag text at the end) so that hopefully phredPhrap
won't assemble that read into the contig next time (phredPhrap sometimes puts a
read in a contig even though it has a whole bunch of mismatches - I want to try
to kick those reads out of the contig).

At this line of my script: 
   my @hqds = $ca->high_quality_discrepancies();
(where $ca is a contig analysis object)
I get this error when the script hits a certain contig: 
Can't call method "start" on an undefined value at
/home/jayoung/traskdata/perl/lib/Bio/Assembly/ContigAnalysis.pm line 177.

Other contigs in the ace file get processed fine, and in a smaller ace file,
everything works fine. I can't work out why this one contig in the bigger ace
file causes a problem, although I can see using consed that it contains a LOT
of HQDs, and other contigs the script seem to deal with fine had <=11 HQDs.
That's exactly the kind of problem contig I wrote this script to try to fix. I
used Dumper($ca) to take a look at the object and at first glance there's
nothing different about it from other contigs, but I'm not sure what I'm
looking for really. 

Some version info is below. I tried updating the Assembly package, taking it
from bioperl-1.5.2_102, but that didn't help. 

I'm happy to send the offending input ace file, and/or entire phredPhrap
directory, and/or the entire script to whoever wants it, but thought they were
too bit big to include here. 

thanks in advance for any help,

Janet Young 

------------------------------------------------------------------- 
Fred Hutchinson Cancer Research Center
1100 Fairview Avenue N., C3-168, 
P.O. Box 19024, Seattle, WA 98109-1024, USA.
tel: (206) 667 1471 fax: (206) 667 6524
email: jayoung at fhcrc.org
http://www.fhcrc.org/labs/trask/
------------------------------------------------------------------- 


[35] bedrock:/home/jayoung> perl -MBio::Root::Version -e 'print
"$Bio::Root::Version::VERSION\n"'
1.5
[36] bedrock:/home/jayoung> perl -MBio::Assembly::Contig -e 'print
"$Bio::Assembly::Contig::VERSION\n"'
1.5
[37] bedrock:/home/jayoung> perl -MBio::Assembly::ContigAnalysis -e 'print
"$Bio::Assembly::ContigAnalysis::VERSION\n"'
1.5

[38] bedrock:/home/jayoung> uname -a
SunOS bedrock 5.10 Generic_118833-36 sun4v sparc SUNW,Sun-Fire-T200

Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=solaris, osvers=2.9, archname=sun4-solaris
    uname='sunos slate 5.9 generic_118558-19 sun4u sparc sunw,sun-fire-280r '
    config_args='-Dprefix=/usr/local/perl5/5.8.8 -des'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='/opt/SUNWspro/bin/cc', ccflags ='-I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-I/usr/local/include'
    ccversion='Sun C 5.5 2003/03/12', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/opt/SUNWspro/bin/cc', ldflags =' -L/usr/lib -L/usr/ccs/lib
-L/opt/SUNWspro/prod/lib -L/usr/local/lib '
    libpth=/usr/lib /usr/ccs/lib /opt/SUNWspro/prod/lib /usr/local/lib
    libs=-lsocket -lnsl -ldl -lm -lc
    perllibs=-lsocket -lnsl -ldl -lm -lc
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags='-G -L/usr/lib -L/usr/ccs/lib
-L/opt/SUNWspro/prod/lib -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO
  Built under solaris
  Compiled at Aug 18 2006 07:22:41
  %ENV:
   
PERL5LIB="/home/jayoung/traskdata/lib/currentRMdir:/home/jayoung/traskdata/perl/lib:/home/jayoung/traskdata/perl/lib/perl5:/home/jayoung/traskdata/perl/lib/site_perl/5.8.8/sun4-solaris:/home/jayoung/traskdata/lib/RSPerl/share/lib/site_perl/5.8.8/sun4-solaris:/home/jayoung/traskdata/lib/RSPerl/share/lib/site_perl:/home/jayoung/traskdata/lib/RSPerl/share/lib/5.8.8/sun4-solaris:/home/jayoung/traskdata/lib/RSPerl/scripts:/opt/local/lib/perl5:/usr/local/perl5/5.8.8/lib:/usr/local/perl5/5.8.8/lib/site_perl/5.8.8:/home/btrask/traskdata/lib/R/library/RSPerl/perl"
  @INC:
    /home/jayoung/traskdata/lib/currentRMdir
    /home/jayoung/traskdata/perl/lib/5.8.8/sun4-solaris
    /home/jayoung/traskdata/perl/lib/5.8.8
    /home/jayoung/traskdata/perl/lib/sun4-solaris
    /home/jayoung/traskdata/perl/lib
    /home/jayoung/traskdata/perl/lib/perl5/sun4-solaris
    /home/jayoung/traskdata/perl/lib/perl5
    /home/jayoung/traskdata/perl/lib/site_perl/5.8.8/sun4-solaris
    /home/jayoung/traskdata/lib/RSPerl/share/lib/site_perl/5.8.8/sun4-solaris
    /home/jayoung/traskdata/lib/RSPerl/share/lib/site_perl
    /home/jayoung/traskdata/lib/RSPerl/share/lib/5.8.8/sun4-solaris
    /home/jayoung/traskdata/lib/RSPerl/scripts
    /opt/local/lib/perl5
    /usr/local/perl5/5.8.8/lib/5.8.8/sun4-solaris
    /usr/local/perl5/5.8.8/lib/5.8.8
    /usr/local/perl5/5.8.8/lib
    /usr/local/perl5/5.8.8/lib/site_perl/5.8.8/sun4-solaris
    /usr/local/perl5/5.8.8/lib/site_perl/5.8.8
    /home/btrask/traskdata/lib/R/library/RSPerl/perl/sun4-solaris
    /home/btrask/traskdata/lib/R/library/RSPerl/perl
    /opt/perl5/5.8.8/lib/5.8.8/sun4-solaris
    /opt/perl5/5.8.8/lib/5.8.8
    /opt/perl5/5.8.8/lib/site_perl/5.8.8/sun4-solaris
    /opt/perl5/5.8.8/lib/site_perl/5.8.8
    /opt/perl5/5.8.8/lib/site_perl
    .


-- 
Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Bioperl-guts-l mailing list