public static HELM2Notation getSirnaNotation(String senseSeq, String antiSenseSeq, String rnaDesignType)
			throws NotationException, FastaFormatException, HELM2HandledException, RNAUtilsException,
			org.helm.notation2.exception.NotationException, ChemistryException, CTKException,
			NucleotideLoadingException {
		HELM2Notation helm2notation = null;
		if (senseSeq != null && senseSeq.length() > 0) {
			helm2notation = SequenceConverter.readRNA(senseSeq);
		}
		if (antiSenseSeq != null && antiSenseSeq.length() > 0) {
			PolymerNotation antisense = new PolymerNotation("RNA2");
			antisense = new PolymerNotation(antisense.getPolymerID(),
					FastaFormat.generateElementsforRNA(antiSenseSeq, antisense.getPolymerID()));

			helm2notation.addPolymer(antisense);
		}
		validateSiRNADesign(helm2notation.getListOfPolymers().get(0), helm2notation.getListOfPolymers().get(1),
				rnaDesignType);
		helm2notation.getListOfConnections().addAll(hybridization(helm2notation.getListOfPolymers().get(0),
				helm2notation.getListOfPolymers().get(1), rnaDesignType));
		ChangeObjects.addAnnotation(new AnnotationNotation("RNA1{ss}|RNA2{as}"), 0, helm2notation);
		return helm2notation;
	}
public static HELM2Notation getSirnaNotation ( String senseSeq , String antiSenseSeq , String rnaDesignType ) throws NotationException , FastaFormatException , HELM2HandledException , RNAUtilsException , org . helm . notation2 . exception . NotationException , ChemistryException , CTKException , NucleotideLoadingException { HELM2Notation helm2notation = null ; if ( senseSeq != null && senseSeq . length ( ) > 0 ) { helm2notation = SequenceConverter . readRNA ( senseSeq ) ; } if ( antiSenseSeq != null && antiSenseSeq . length ( ) > 0 ) { PolymerNotation antisense = new PolymerNotation ( "RNA2" ) ; antisense = new PolymerNotation ( antisense . getPolymerID ( ) , FastaFormat . generateElementsforRNA ( antiSenseSeq , antisense . getPolymerID ( ) ) ) ; helm2notation . addPolymer ( antisense ) ; } validateSiRNADesign ( helm2notation . getListOfPolymers ( ) . get ( 0 ) , helm2notation . getListOfPolymers ( ) . get ( 1 ) , rnaDesignType ) ; helm2notation . getListOfConnections ( ) . addAll ( hybridization ( helm2notation . getListOfPolymers ( ) . get ( 0 ) , helm2notation . getListOfPolymers ( ) . get ( 1 ) , rnaDesignType ) ) ; ChangeObjects . addAnnotation ( new AnnotationNotation ( "RNA1{ss}|RNA2{as}" ) , 0 , helm2notation ) ; return helm2notation ; }
this method converts nucleotide sequences into HELM notation based on
design pattern

@param senseSeq
5-3 nucleotide sequence
@param antiSenseSeq
3-5 nucleotide sequence
@param rnaDesignType given design pattern
@return HELM2Notation for siRNA
@throws NotationException if notation is not valid
@throws FastaFormatException if the fasta input is not valid
@throws HELM2HandledException if it contains HELM2 specific features, so that it can not be casted to HELM1 Format
@throws RNAUtilsException if the polymer is not a RNA/DNA
@throws org.helm.notation2.exception.NotationException if notation is not valid
@throws ChemistryException
if the Chemistry Engine can not be initialized
@throws CTKException  general ChemToolKit exception passed to HELMToolKit
@throws NucleotideLoadingException if nucleotides can not be loaded