X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FSequenceFeatureFetcher.java;h=2c0aaac9d15fbcd82f26c2987105286679a1c486;hb=ebb52a433edbbdbd31ab82cbb1c59fc116a72b1d;hp=e034b3fb49f0f179421ed716ce75d15672886db5;hpb=b100e1ff9a2e736a5535dda3abded2bf59144af4;p=jalview.git diff --git a/src/jalview/analysis/SequenceFeatureFetcher.java b/src/jalview/analysis/SequenceFeatureFetcher.java index e034b3f..2c0aaac 100755 --- a/src/jalview/analysis/SequenceFeatureFetcher.java +++ b/src/jalview/analysis/SequenceFeatureFetcher.java @@ -2,6 +2,7 @@ package jalview.analysis; import java.io.*; import java.util.*; +import javax.swing.*; import jalview.io.*; import jalview.gui.*; import jalview.datamodel.*; @@ -11,6 +12,9 @@ public class SequenceFeatureFetcher implements Runnable AlignmentI align; AlignmentPanel ap; ArrayList unknownSequences; + JInternalFrame outputFrame = new JInternalFrame(); + CutAndPasteTransfer output = new CutAndPasteTransfer(false); + StringBuffer sbuffer = new StringBuffer(); public SequenceFeatureFetcher(AlignmentI align, AlignmentPanel ap) { @@ -80,7 +84,6 @@ public class SequenceFeatureFetcher implements Runnable remainingIds.append(ids.get(i) + ";"); EBIFetchClient ebi = new EBIFetchClient(); - System.out.println(remainingIds.toString()); String[] result = ebi.fetchData(remainingIds.toString(), "xml", null); if(result!=null) @@ -96,12 +99,23 @@ public class SequenceFeatureFetcher implements Runnable } }catch(Exception ex){ex.printStackTrace();} - ap.RefreshPanels(); + ap.repaint(); findMissingIds(align); + if(sbuffer.length()>0) + { + output.formatForOutput(); + outputFrame.setContentPane(output); + output.setText("Your sequences have been matched to Uniprot. Some of the ids have been\n" + +"altered, most likely the start/end residue will have been updated.\n" + +"Save your alignment to maintain the updated id.\n\n"+sbuffer.toString()); + Desktop.addInternalFrame(outputFrame, "Sequence names updated ", 600,300); + + } if(unknownSequences.size()>0) { - WSWUBlastClient blastClient = new WSWUBlastClient(align, unknownSequences); + //ignore for now!!!!!!!!!! + // WSWUBlastClient blastClient = new WSWUBlastClient(align, unknownSequences); } } @@ -132,13 +146,13 @@ void ReadUniprotFile(String [] result, RandomAccessFile out, AlignmentI align) sequence = align.findName( seqName.substring(0, seqName.indexOf('_'))); if(sequence!=null) { - System.out.println("changing "+sequence.getName()+" to "+seqName); + sbuffer.append("changing "+sequence.getName()+" to "+seqName+"\n"); sequence.setName(seqName); } } if(sequence==null) { - System.out.println("UNIPROT updated suggestion is "+result[r]); + sbuffer.append("UNIPROT updated suggestion is "+result[r]+"\n"); sequence = align.findName( result[r] ) ; // this entry has been suggested by ebi. @@ -189,16 +203,12 @@ void ReadUniprotFile(String [] result, RandomAccessFile out, AlignmentI align) if(out!=null) try{ out.writeBytes("\n"); }catch(Exception ex){} - - if(sstart>=sequence.getStart() && eend<=sequence.getEnd()) - { SequenceFeature sf = new SequenceFeature(type, sstart, eend, description, status); features.add(sf); - } } if(result[r].indexOf("-1) @@ -230,7 +240,7 @@ void ReadUniprotFile(String [] result, RandomAccessFile out, AlignmentI align) { unknownSequences.add(sequence.getName()); features = null; - System.out.println(sequence.getName()+ "does not match "); + sbuffer.append(sequence.getName()+ " SEQUENCE NOT %100 MATCH \n"); continue; } @@ -238,8 +248,8 @@ void ReadUniprotFile(String [] result, RandomAccessFile out, AlignmentI align) absStart+=1; if(absStart!=sequence.getStart() || absEnd!=sequence.getEnd()) - System.out.println("Updated: "+sequence.getName()+" "+ - sequence.getStart()+"/"+sequence.getEnd()+" to "+ absStart+"/"+absEnd); + sbuffer.append("Updated: "+sequence.getName()+" "+ + sequence.getStart()+"/"+sequence.getEnd()+" to "+ absStart+"/"+absEnd+"\n"); sequence.setStart(absStart);