[Biojava-l] Pattern matching
mark.schreiber at novartis.com
mark.schreiber at novartis.com
Tue Jun 26 01:33:02 UTC 2007
Hi -
I think this has come up before on the list.
Matcher.find() by default will begin a new search at the end of the old
search. To make it begin it's search at any other place use the other form
of the Matcher.find(int start) method.
- Mark
Jerome LANE <Jerome.Lane at igh.cnrs.fr>
Sent by: biojava-l-bounces at lists.open-bio.org
06/26/2007 02:24 AM
To: biojava-l at lists.open-bio.org
cc: (bcc: Mark Schreiber/GP/Novartis)
Subject: [Biojava-l] Pattern matching
Hi,
I have used biojava Pattern class to match DNA sequence. But I can't
find all matches for my sequence. For example here a bit of code that I
have implemented to search for "aa" pattern in "aaaa" DNA sequence :
-----------------------------------
try {
// Variables needed...
org.biojava.utils.regex.Matcher occurences ;
FiniteAlphabet IUPAC = DNATools.getDNA();
SymbolList WorkingSequence = DNATools.createDNA("aaaa");
// Create pattern using pattern factory.
org.biojava.utils.regex.Pattern pattern;
PatternFactory FACTORY = PatternFactory.makeFactory(IUPAC);
try{
pattern = FACTORY.compile("aa");
} catch(Exception e) {e.printStackTrace(); return;}
System.out.println("Searching for:
"+pattern.patternAsString( ) );
// Obtain iterator of matches.
try {
occurences = pattern.matcher( WorkingSequence );
} catch(Exception e) {e.printStackTrace(); return;}
// Foreach match
while( occurences.find( ) ) {
System.out.println("Match: " +"\t"+ WorkingSequence
+"\n"+ occurences.start() +"\t"+
occurences.group().seqString());
}
} catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
}
----------------------------
And this is the output :
----------------------------
Searching for: aa
Match: org.biojava.bio.symbol.SimpleSymbolList at ea82ff69 length: 4
1 aa
Match: org.biojava.bio.symbol.SimpleSymbolList at ea82ff69 length: 4
3 aa
--------------------------------
But for the input sequence "aaaa" I should have 3 matchs at postion 1, 2
and 3. Is there any parameter to provide for it ?
Best regards
Jerome
_______________________________________________
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