[Biojava-dev] [Biojava-l] access to qualities

Michael Heuer heuermh at gmail.com
Thu Nov 15 16:34:44 UTC 2012


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