import charite.christo.strap.StrapProtein; import charite.christo.strap.StrapProtein; import charite.christo.strap.ResidueAnnotation; import charite.christo.strap.StrapProtein2BiojavaSequence; import charite.christo.strap.BiojavaSequence2StrapProtein; import javax.swing.JScrollPane; import javax.swing.JFrame; import org.biojava.bio.gui.sequence.SequenceRenderer; import org.biojava.bio.gui.sequence.FeatureRenderer; import org.biojava.bio.gui.sequence.BasicFeatureRenderer; import org.biojava.bio.gui.sequence.SymbolSequenceRenderer; import org.biojava.bio.gui.sequence.SequencePanel; import org.biojava.bio.gui.sequence.FeatureBlockSequenceRenderer; import org.biojava.bio.gui.sequence.MultiLineRenderer; import org.biojava.bio.symbol.RangeLocation; import org.biojava.bio.seq.GappedSequence; import org.biojava.bio.seq.ProteinTools; /* java DemoStrapProtein2BiojavaSequence Usage of the class StrapProtein2BiojavaSequence is demonstrated. A STRAP protein object with a gapped sequence and a residue selection is created and converted into Biojava object. */ public class DemoStrapProtein2BiojavaSequence { public static void main(String argv[]) { /* Initiate a STRAP protein object with a gapped sequence */ final StrapProtein p=new StrapProtein(); p.setGappedSequence("ASD FGHKL"); /* Add a residue selection to the STRAP protein */ final ResidueAnnotation annotation=new ResidueAnnotation(p); annotation.setSelectedAminoacids("3-5,70-79,900-1000"); p.addResidueSelection(annotation); /* Convert the STRAP object to BioJava */ final GappedSequence biojavaSequence=new StrapProtein2BiojavaSequence(p).sequence(); /* Display using BioJava-methods */ showWithBiojava(biojavaSequence); } /* This method displays a Biojava object. */ /* It uses exclusively Biojava methods. */ /* See the examples in "Biojava in Anger" by Mark Schreiber for more details. */ private static void showWithBiojava(GappedSequence seq) { try{ final MultiLineRenderer mlr=new MultiLineRenderer(); final FeatureRenderer featr=new BasicFeatureRenderer(); final SequenceRenderer seqR=new SymbolSequenceRenderer(); final SequencePanel seqPanel=new SequencePanel(); final FeatureBlockSequenceRenderer fbr=new FeatureBlockSequenceRenderer(); fbr.setFeatureRenderer(featr); mlr.addRenderer(fbr); mlr.addRenderer(seqR); seqPanel.setRenderer(mlr); seqPanel.setSequence(seq); seqPanel.setRange(new RangeLocation(1,seq.length()+1)); final JFrame f=new JFrame(); f.setSize(300,300); f.getContentPane().add(new JScrollPane(seqPanel)); f.show(); } catch(Exception e){System.out.println("caught: "+e);e.printStackTrace(System.out);} } }