X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2FSequenceGroup.java;h=2bdd5f84f170d727e589511c12f0bf06c8542ca8;hb=7abeaf76ba3913ccb95139df58b353bdde49429c;hp=ecdf2bce7313e603b86fdd444d8cbb0ce542a978;hpb=df9b85c1cf39894039018499fe802406cc37f209;p=jalview.git diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index ecdf2bc..2bdd5f8 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -113,6 +113,66 @@ public class SequenceGroup endRes = end; } + public SequenceI [] getSelectionAsNewSequences(AlignmentI align) + { + int iSize = sequences.size(); + SequenceI [] seqs = new SequenceI[iSize]; + SequenceI [] inorder = getSequencesInOrder(align); + + for (int i = 0; i < iSize; i++) + { + SequenceI seq = inorder[i]; + + seqs[i] = new Sequence(seq.getName(), + seq.getSequence(startRes, endRes + 1), + seq.findPosition(startRes), + findEndRes(seq)); + + seqs[i].setDescription(seq.getDescription()); + seqs[i].setDBRef(seq.getDBRef()); + seqs[i].setSequenceFeatures(seq.getSequenceFeatures()); + if (seq.getDatasetSequence() != null) + seqs[i].setDatasetSequence(seq.getDatasetSequence()); + + if(seq.getAnnotation()!=null) + { + for(int a=0; a 0) + { + eres += seq.getStart() - 1; + } + + return eres; + } + public Vector getSequences(boolean includeHidden) { if(!includeHidden) @@ -140,6 +200,18 @@ public class SequenceGroup } } + public SequenceI[] getSequencesAsArray(boolean includeHidden) + { + Vector tmp = getSequences(includeHidden); + if(tmp==null) + return null; + SequenceI [] result = new SequenceI[tmp.size()]; + for(int i=0; i