3 import jalview.io.xdb.genbank.GenBankFeature;
4 import jalview.io.xdb.genbank.GenBankSequence;
6 import java.util.ArrayList;
8 import java.util.Vector;
18 * @return Nucleotid String (sequence) of CDS
20 public static String getSequence(GenBankFeature gbf,
21 Vector<GenBankSequence> sequences)
23 if (!gbf.getType().equals(GenBankFeature.CDS))
25 // If the feature is not a CDS, no sequence is returned
30 String range = gbf.getQualifier("range");
31 if (range.startsWith("join"))
34 // It's a composed sequence
38 // It's a simple range
39 String[] positions = range.split("..");
40 int initRange = Integer.parseInt(positions[0]);
41 int endRange = Integer.parseInt(positions[1]);
42 String sourceSequence = getNucleotidesFromSequenceVector(sequences);
43 return sourceSequence.substring(initRange, endRange);
50 private static boolean isSequenceInRange(int initRange, int endRange,
53 return ((initRange >= gbs.getId()) && (endRange >= gbs.getId()));
56 private static String getNucleotidesInRangeFromSequence(int initRange,
57 int endRange, GenBankSequence gbs)
62 public static String getNucleotidesFromSequenceVector(
63 Vector<GenBankSequence> v)
65 StringBuffer sb = new StringBuffer();
66 for (GenBankSequence gbs : v)
68 Vector<String> seqs = gbs.getSequences();
78 public static void main(String[] args)
80 // TODO Auto-generated method stub