Hallo Leute,
ich habe die WeightMatrixAnnotator benutzt, um die Position von einem Motiv in einem Sequence zu finden (getlocation).
d.h.
Sequence: A C G T G C T C G
Position: 1 2 3 4 5 6 7 8 9
wenn ich suche wo ACG ist (getmin), dann sollte rauskommen: 1
ich will gerne dass mein Programme die Position von alle Motiven was ich gebe raus gibt.
d.h:
ACG 1
CGT 2
GTG 3
TGC 4
GCT 5
CTC 6
TCG 7
Habe folgendes versucht,
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
was raus kommt ist:
ACG 1
CGT 1 2
GTG 1 2 3
TGC 1 2 3 4
GCT 1 2 3 4 5
CTC 1 2 3 4 5 6
TCG 1 2 3 4 5 6 7
was ich nicht will, hat vielleicht jemand Ahnung wie ich das problem lösen kann?
danke
ich habe die WeightMatrixAnnotator benutzt, um die Position von einem Motiv in einem Sequence zu finden (getlocation).
d.h.
Sequence: A C G T G C T C G
Position: 1 2 3 4 5 6 7 8 9
wenn ich suche wo ACG ist (getmin), dann sollte rauskommen: 1
ich will gerne dass mein Programme die Position von alle Motiven was ich gebe raus gibt.
d.h:
ACG 1
CGT 2
GTG 3
TGC 4
GCT 5
CTC 6
TCG 7
Habe folgendes versucht,
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Code:
int myseq=3;
string motiv;
Map map = new HashMap();
Sequence seq = DNATools.createDNASequence("ACGTGCTCG","seq");
for(int i=0;i<sequence0.length()-myseq+1;i++){
motiv = sequence0.substring(i,i+myseq);
map.put("seq0", DNATools.createDNA(motiv));
Alignment align = new SimpleAlignment(map);
Distribution[] dists =
DistributionTools.distOverAlignment(align, false, 0.01);
WeightMatrix matrix = new SimpleWeightMatrix(dists);
WeightMatrixAnnotator wma = new WeightMatrixAnnotator(matrix, 0.1);
seq = wma.annotate(seq);
System.out.println(motiv );
for (Iterator it = seq.features(); it.hasNext(); ) {
Feature f = (Feature)it.next();
Location loc = f.getLocation();
System.out.println("Match at " + loc.getMin());
}
}
}
was raus kommt ist:
ACG 1
CGT 1 2
GTG 1 2 3
TGC 1 2 3 4
GCT 1 2 3 4 5
CTC 1 2 3 4 5 6
TCG 1 2 3 4 5 6 7
was ich nicht will, hat vielleicht jemand Ahnung wie ich das problem lösen kann?
danke