[Biojava-l] access to qualities
Michael Heuer
heuermh at gmail.com
Thu Nov 15 16:37:57 UTC 2012
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-l
mailing list