import java.util.List;
import java.util.Vector;
-public class DnaUtils {
-
- /**
- * @param gbf CDS feature data
- * @param sequences ORIGIN data
- * @return Nucleotid String (sequence) of CDS
- */
- public static String getSequence(GenBankFeature gbf, Vector<GenBankSequence> sequences){
- if (!gbf.getType().equals(GenBankFeature.CDS)){
- //If the feature is not a CDS, no sequence is returned
- return null;
- }else{
- String range = gbf.getQualifier("range");
- if (range.startsWith("join")){
- //TODO
- //It's a composed sequence
- }else{
- //It's a simple range
- String[] positions = range.split("..");
- int initRange = Integer.parseInt(positions[0]);
- int endRange = Integer.parseInt(positions[1]);
- String sourceSequence = getNucleotidesFromSequenceVector(sequences);
- return sourceSequence.substring(initRange, endRange);
- }
- }
- return null;
-
- }
- private static boolean isSequenceInRange(int initRange, int endRange, GenBankSequence gbs){
- return ((initRange>=gbs.getId()) && (endRange>=gbs.getId()));
- }
- private static String getNucleotidesInRangeFromSequence(int initRange, int endRange, GenBankSequence gbs){
- return "";
- }
- public static String getNucleotidesFromSequenceVector(Vector<GenBankSequence> v){
- StringBuffer sb = new StringBuffer();
- for (GenBankSequence gbs:v){
- Vector<String> seqs = gbs.getSequences();
- for (String s:seqs)
- sb.append(s);
- }
- return sb.toString();
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
-
- }
+public class DnaUtils
+{
+
+ /**
+ * @param gbf
+ * CDS feature data
+ * @param sequences
+ * ORIGIN data
+ * @return Nucleotid String (sequence) of CDS
+ */
+ public static String getSequence(GenBankFeature gbf,
+ Vector<GenBankSequence> sequences)
+ {
+ if (!gbf.getType().equals(GenBankFeature.CDS))
+ {
+ // If the feature is not a CDS, no sequence is returned
+ return null;
+ }
+ else
+ {
+ String range = gbf.getQualifier("range");
+ if (range.startsWith("join"))
+ {
+ // TODO
+ // It's a composed sequence
+ }
+ else
+ {
+ // It's a simple range
+ String[] positions = range.split("..");
+ int initRange = Integer.parseInt(positions[0]);
+ int endRange = Integer.parseInt(positions[1]);
+ String sourceSequence = getNucleotidesFromSequenceVector(sequences);
+ return sourceSequence.substring(initRange, endRange);
+ }
+ }
+ return null;
+
+ }
+
+ private static boolean isSequenceInRange(int initRange, int endRange,
+ GenBankSequence gbs)
+ {
+ return ((initRange >= gbs.getId()) && (endRange >= gbs.getId()));
+ }
+
+ private static String getNucleotidesInRangeFromSequence(int initRange,
+ int endRange, GenBankSequence gbs)
+ {
+ return "";
+ }
+
+ public static String getNucleotidesFromSequenceVector(
+ Vector<GenBankSequence> v)
+ {
+ StringBuffer sb = new StringBuffer();
+ for (GenBankSequence gbs : v)
+ {
+ Vector<String> seqs = gbs.getSequences();
+ for (String s : seqs)
+ sb.append(s);
+ }
+ return sb.toString();
+ }
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args)
+ {
+ // TODO Auto-generated method stub
+
+ }
}