[Biojava-dev] [Biojava-l] access to qualities
Tony Power
power3d at gmail.com
Fri Nov 16 10:03:40 UTC 2012
This is what I really needed as suggested by Michael:
List features = sequence.getFeaturesByType("qualityScores");
Instead what I was doing:
List<FeatureInterface<AbstractSequence<NucleotideCompound>,
NucleotideCompound>> features = s.getFeaturesByType("qualityScores");
Thanks you all guys for your feedback,
Tony
On Thu, Nov 15, 2012 at 4:37 PM, Michael Heuer <heuermh at gmail.com> wrote:
> Hello Tony,
>
> This unit test shows how to access the qualities in a QualityFeature
>
> public void testCreateDNASequenceWithQualityScores()
> {
> DNASequence sequence =
> FastqTools.createDNASequenceWithQualityScores(builder.build());
> assertNotNull(sequence);
>
> List features = sequence.getFeaturesByType("qualityScores");
> assertNotNull(features);
> assertEquals(1, features.size());
> QualityFeature qualityScores = (QualityFeature) features.get(0);
> assertEquals(sequence.getLength(),
> qualityScores.getQualities().size());
> assertEquals(sequence.getLength(),
> qualityScores.getLocations().getLength());
> }
>
>
> http://code.open-bio.org/biojava-live/trunk/biojava3-sequencing/src/test/java/org/biojava3/sequencing/io/fastq/FastqToolsTest.java?revision=9583&root=biojava&view=markup
>
> michael
>
>
> On Thu, Nov 15, 2012 at 10:34 AM, Michael Heuer <heuermh at gmail.com> wrote:
> > Hello Tony,
> >
> > The javadoc here
> >
> >
> http://www.biojava.org/docs/api/org/biojava3/sequencing/io/fastq/FastqTools.html#createDNASequenceWithQualityScores%28org.biojava3.sequencing.io.fastq.Fastq%29
> >
> > says "The quality scores are stored in a QualityFeature with a type
> > "qualityScores" the same length as the sequence."
> >
> > QualityFeature has several different methods to access the quality
> > scores, List<Number> getQualities, Number getQualitiesAt(int index),
> > etc.
> >
> >
> http://www.biojava.org/docs/api/org/biojava3/core/sequence/features/QualityFeature.html
> >
> >
> > Alternatively, it may be more efficient to not create DNASequence
> > objects, something like
> >
> > FastqReader fastqReader = new SangerFastqReader();
> > InputSupplier inputSupplier = Files.newReaderSupplier(new
> File("sanger.fastq"));
> >
> > fastqReader.stream(inputSupplier, new StreamListener()
> > {
> > @Override
> > public void fastq(final Fastq fastq)
> > {
> > int size = fastq.getSequence().length();
> > double[] qualityScores = FastqTools.qualityScores(fastq, new
> > double[size]);
> > ....
> > }
> > });
> >
> > michael
> >
> >
> > On Thu, Nov 15, 2012 at 9:03 AM, Tony Power <power3d at gmail.com> wrote:
> >> Thanks for the feedback.
> >> So, from the example I provided, how would you print the quality
> features?
> >>
> >>
> >> On Thu, Nov 15, 2012 at 2:46 PM, Scooter Willis <HWillis at scripps.edu>
> wrote:
> >>
> >>> Tony
> >>>
> >>> The features get added as a named string to support any number of
> feature
> >>> types. If you look in the FastqTools code should be able to find the
> >>> string that is used to denote the quality score and then use the
> >>> corresponding get method to return the value.
> >>>
> >>> Scooter
> >>>
> >>> On 11/15/12 9:23 AM, "Tony Power" <power3d at gmail.com> wrote:
> >>>
> >>> >Sorry, the message went before I finish it.
> >>> >
> >>> >How can I access the qualities of each sequence?
> >>> >
> >>> >I am trying like this:
> >>> >List<FeatureInterface<AbstractSequence<NucleotideCompound>,
> >>> >NucleotideCompound>> features = s.getFeaturesByType("qualityScores");
> >>> >for (int i = 0; i < features.size(); i++){
> >>> > System.out.println(": " + features.get(i).toString());
> >>> >}
> >>> >
> >>> >How can I access the qualities?
> >>> >
> >>> >Thanks for your help,
> >>> >Tony
> >>> >
> >>> >
> >>> >On Thu, Nov 15, 2012 at 2:15 PM, Tony Power <power3d at gmail.com>
> wrote:
> >>> >
> >>> >> Hi,
> >>> >>
> >>> >> I am trying to access to the qualities created with the example:
> >>> >>
> >>> >> FastqReader fastqReader = new SangerFastqReader();
> >>> >> List<DNASequence> sequences = new LinkedList<DNASequence>();
> >>> >> for (Fastq fastq : fastqReader.read(new File
> >>> >><
> >>>
> http://www.google.com/search?hl=en&q=allinurl%3Afile+java.sun.com&btnI=I
> >>> >>%27m%20Feeling%20Lucky>("sanger.fastq"))){
> >>> >>
> sequences.add(FastqTools.createDNASequenceWithQualityScores(fastq));}
> >>> >>
> >>> >>
> >>> >_______________________________________________
> >>> >Biojava-l mailing list - Biojava-l at lists.open-bio.org
> >>> >http://lists.open-bio.org/mailman/listinfo/biojava-l
> >>>
> >>>
> >> _______________________________________________
> >> Biojava-l mailing list - Biojava-l at lists.open-bio.org
> >> http://lists.open-bio.org/mailman/listinfo/biojava-l
>
More information about the biojava-dev
mailing list