[Biojava-dev] Extended ABIF Parser and SCF Writer

Franklin Bristow fbristow at gmail.com
Fri Jun 19 15:29:51 UTC 2009


Sorry Richard,
I meant to respond to Mark, I'm very sleepy this morning...

Thanks,
Franklin

On Fri, Jun 19, 2009 at 10:00 AM, Richard Holland <holland at eaglegenomics.com
> wrote:

> Sorry I haven't been following the thread... what problem is this a
> solution for?
>
> thanks,
> Richard
>
> On Fri, 2009-06-19 at 09:52 -0500, Franklin Bristow wrote:
> > Hi Richard,
> > I've written a very small private class that extends ABIFChromatogram.
>  This
> > class has a method that basically copies what you have done in
> > ABIFChromatogram when you load a file as an ABIFChromatogram,
> specifically:
> >
> > >         /**
> > >          * Create an instance of an ExtendedABIFChromatogram using the
> > > supplied
> > >          * file. This is meant to be called in lieu of the static
> create
> > > method
> > >          * that is found in {@link ABIFChromatogram}.
> > >          *
> > >          * @param f
> > >          *            the ABIF formatted file
> > >          * @return an instance of ExtendedABIFChromatogram
> > >          * @throws UnsupportedChromatogramFormatException
> > >          *             the file supplied is not an ABIF formatted
> > > chromatogram
> > >          * @throws IOException
> > >          *             if an I/O error occurs
> > >          */
> > >         public ExtendedABIFChromatogram createExtended(File f)
> > >                 throws UnsupportedChromatogramFormatException,
> IOException
> > > {
> > >             new Parser(f);
> > >             return this;
> > >         }
> > >
> > This removes the need for using reflection to alter the accessibility of
> the
> > methods.
> >
> > I've attached the updated code to this message, I hope that you will
> allow
> > it through your filters again.  Thanks again for having a look at my
> code!
> >
> > Thanks,
> > Franklin
> >
> > On Fri, Jun 19, 2009 at 12:23 AM, <mark.schreiber at novartis.com> wrote:
> >
> > >
> > > Hi Franklin -
> > >
> > > If there is a good argument for making the protected
> setBaseCallAlignment
> > > method public then we could look at changing this so you don't need to
> use
> > > reflection.  As you say in your code comments this reflection will not
> work
> > > unless the security policy allows it which will not be the case in many
> > > systems.
> > >
> > > Another alternative would be to modify ABIFChromatogram and provide a
> > > public method that lets people safely call the setBaseCallAlignment
> > > (requires write access to the SVN). Finally you could extend
> > > ABIFChromatogram and add a public method that will call the protected
> method
> > > (of course this won't work if the method is private).
> > >
> > > Nice to see well documented code!
> > >
> > > - Mark
> > >
> > > biojava-dev-bounces at lists.open-bio.org wrote on 06/19/2009 10:31:13
> AM:
> > >
> > >
> > > > Hi Everyone,
> > > > I've just spent the last few days putting together an extended ABIF
> > > parser
> > > > and and SCF writer.  The parser that I wrote extends the existing
> > > ABIFParser
> > > > but takes into account much of the information that was made
> available a
> > > few
> > > > years ago when ABI released the ABIF File Format specification (
> > > > http://www.appliedbiosystems.
> > > > com/support/software_community/ABIF_File_Format.pdf).
> > > > I've heavily based my code and methods on the perl implementation of
> the
> > > > ABIF parser Bio::Trace::ABIF by Nicola Vitacolonna.
> > > >
> > > > I also wrote a writer for SCF formatted chromatograms.  I wrote this
> > > mostly
> > > > using the documentation found in the staden formats documentation (
> > > > http://staden.sourceforge.net/manual/formats_unix_2.html and
> > > > http://iubio.bio.indiana.edu/soft/molbio/molbio.
> > > > old/staden/www_pages/scf-rfc.html
> > > > ).
> > > >
> > > > Finally, I have written a small utility class that will prepare an
> > > > ABIFChromatogram for writing out as an SCF formatted file.  This is
> the
> > > > entire reason that I wrote both of the above classes.  I will admit
> that
> > > > there is a pretty nasty hack in the SCFUtils class, but it was the
> > > quickest
> > > > way I could think of doing what I needed to do.  I use reflection in
> > > order
> > > > to make a protected method accessible so that I could set the value
> > > myself
> > > > without having to subclass ABIFChromatogram.  Of course, I would like
> to
> > > > change this but the circumstances under which I have had to write
> this
> > > code
> > > > forced me to do it this way for now.
> > > >
> > > > All of this code is written for Java 5, but if it is necessary to
> change
> > > it
> > > > for inclusion into your source tree I will make the change.
> > > >
> > > > So, I welcome comments and suggestions on how I can improve this to
> make
> > > it
> > > > appealing enough to have it included in biojava in the future.
> > > >
> > > > Since the code is rather long, I've attached it as a zip file.
>  Andreas
> > > told
> > > > me that he would keep an eye on the filters for it and would let it
> > > through
> > > > when he saw it, so hopefully it makes it through okay.
> > > >
> > > > Thanks everyone for your time!
> > > >
> > > > --
> > > > Franklin
> > > > [attachment "ABIFParser.zip" deleted by Mark Schreiber/GP/Novartis]
> > > > _______________________________________________
> > > > biojava-dev mailing list
> > > > biojava-dev at lists.open-bio.org
> > > > http://lists.open-bio.org/mailman/listinfo/biojava-dev
> > >
> > > _________________________
> > >
> > > CONFIDENTIALITY NOTICE
> > >
> > > The information contained in this e-mail message is intended only for
> the
> > > exclusive use of the individual or entity named above and may contain
> > > information that is privileged, confidential or exempt from disclosure
> under
> > > applicable law. If the reader of this message is not the intended
> recipient,
> > > or the employee or agent responsible for delivery of the message to the
> > > intended recipient, you are hereby notified that any dissemination,
> > > distribution or copying of this communication is strictly prohibited.
> If you
> > > have received this communication in error, please notify the sender
> > > immediately by e-mail and delete the material from any computer.  Thank
> you.
> > >
> >
> >
> >
> > _______________________________________________
> > biojava-dev mailing list
> > biojava-dev at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/biojava-dev
> --
> Richard Holland, BSc MBCS
> Operations and Delivery Director, Eagle Genomics Ltd
> T: +44 (0)1223 654481 ext 3 | E: holland at eaglegenomics.com
> http://www.eaglegenomics.com/
>
>


-- 
Franklin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abifparser.zip
Type: application/zip
Size: 20254 bytes
Desc: not available
URL: <http://lists.open-bio.org/pipermail/biojava-dev/attachments/20090619/a72e8b77/attachment-0002.zip>


More information about the biojava-dev mailing list