private ArrayList<Integer> listSwitchType(String _type) { if (_type.equals("helix")) return _vp.getRNA().findHelix(_vp.getNearestBase()); if (_type.equals("current")) { return _vp.getSelectionIndices(); } if (_type.equals("allBases")) { return _vp.getRNA().findAll(); } if (_type.equals("loop1")) { return _vp.getRNA().findLoopForward(_vp.getNearestBase()); } if (_type.equals("loop2")) { return _vp.getRNA().findLoopBackward(_vp.getNearestBase()); } if (_type.equals("stem")) return _vp.getRNA().findStem(_vp.getNearestBase()); if (_type.equals("base")) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(_vp.getNearestBase()); return list; } if (_type.equals("basepair") || _type.equals("bpcolor") || _type.equals("bp")) { ArrayList<Integer> list = new ArrayList<Integer>(); int i = _vp.getNearestBase(); list.add(i); ModeleBase mb = _vp.getRNA().get_listeBases().get(i); int j = mb.getElementStructure(); if (mb.getElementStructure() != -1) { list.add(i); list.add(j); } return list; } if (_type.equals("5'")) return _vp.getRNA().findNonPairedBaseGroup(_vp.getNearestBase()); if (_type.equals("3'")) return _vp.getRNA().findNonPairedBaseGroup(_vp.getNearestBase()); if (_type.equals("bulge")) return _vp.getRNA().findNonPairedBaseGroup(_vp.getNearestBase()); if (_type.equals("all")) return _vp.getRNA().findAll(); return new ArrayList<Integer>(); }
private boolean optionAnnotation() { if (!_type.contains("annotation")) return false; // a partir du menu principale (gestion des annotations) if (_type.equals("annotationsaddPosition")) { _vp.getVARNAUI() .UIAnnotationsAddPosition( _vp.getPopup().getSpawnPoint().x, _vp.getPopup().getSpawnPoint().y); } else if (_type.equals("annotationsaddBase")) { _vp.getVARNAUI() .UIAnnotationsAddBase(_vp.getPopup().getSpawnPoint().x, _vp.getPopup().getSpawnPoint().y); } else if (_type.equals("annotationsaddLoop")) { _vp.getVARNAUI() .UIAnnotationsAddLoop(_vp.getPopup().getSpawnPoint().x, _vp.getPopup().getSpawnPoint().y); } else if (_type.equals("annotationsaddChemProb")) { _vp.getVARNAUI() .UIAnnotationsAddChemProb( _vp.getPopup().getSpawnPoint().x, _vp.getPopup().getSpawnPoint().y); } else if (_type.equals("annotationsaddRegion")) { _vp.getVARNAUI() .UIAnnotationsAddRegion( _vp.getPopup().getSpawnPoint().x, _vp.getPopup().getSpawnPoint().y); } else if (_type.equals("annotationsaddHelix")) { _vp.getVARNAUI() .UIAnnotationsAddHelix( _vp.getPopup().getSpawnPoint().x, _vp.getPopup().getSpawnPoint().y); } else if (_type.equals("annotationsautohelices")) { _vp.getVARNAUI().UIAutoAnnotateHelices(); } else if (_type.equals("annotationsautointerior")) { _vp.getVARNAUI().UIAutoAnnotateInteriorLoops(); } else if (_type.equals("annotationsautoterminal")) { _vp.getVARNAUI().UIAutoAnnotateTerminalLoops(); } else if (_type.equals("annotationsautohelices")) { _vp.getVARNAUI().UIAutoAnnotateHelices(); } else if (_type.equals("annotationsremove")) { _vp.getVARNAUI().UIAnnotationsRemove(); } else if (_type.equals("annotationsautoextremites")) { _vp.getVARNAUI().UIAutoAnnotateStrandEnds(); } else if (_type.equals("annotationsedit")) { _vp.getVARNAUI().UIAnnotationsEdit(); // a partir du menu selection (annotation la plus proche) } else if (_type.equals("Selectionannotationremove")) { _vp.getVARNAUI().UIAnnotationRemoveFromAnnotation(_vp.get_selectedAnnotation()); } else if (_type.equals("Selectionannotationedit")) { _vp.getVARNAUI().UIAnnotationEditFromAnnotation(_vp.get_selectedAnnotation()); // a partir d'une structure(base, loop, helix) dans l'arn // (annotation li� a la structure) } else if (_type.endsWith("annotationadd") || _type.contains("annotationremove") || _type.contains("annotationedit")) { try { TextAnnotation.AnchorType type = trouverAncrage(); ArrayList<Integer> listeIndex = new ArrayList<Integer>(); switch (type) { case BASE: listeIndex.add(_vp.getNearestBase()); case LOOP: if (_type.startsWith("loop1")) listeIndex = _vp.getRNA().findLoopForward(_vp.getNearestBase()); else if (_type.startsWith("loop2")) listeIndex = _vp.getRNA().findLoopBackward(_vp.getNearestBase()); else listeIndex = _vp.getRNA().findLoop(_vp.getNearestBase()); break; case HELIX: listeIndex = _vp.getRNA().findHelix(_vp.getNearestBase()); break; } if (_type.endsWith("annotationadd")) { _vp.getVARNAUI().UIAnnotationAddFromStructure(type, listeIndex); } else if (_type.contains("annotationremove")) { _vp.getVARNAUI().UIAnnotationRemoveFromStructure(trouverAncrage(), listeIndex); } else if (_type.contains("annotationedit")) { _vp.getVARNAUI().UIAnnotationEditFromStructure(trouverAncrage(), listeIndex); } } catch (Exception e2) { e2.printStackTrace(); } } else return false; return true; }