import charite.christo.strap.StrapProtein;
import charite.christo.strap.StrapProtein;
import charite.christo.strap.ResidueAnnotation;
import static java.lang.System.*;
import static charite.christo.ChConstants.*;
/*
java DemoResidueAnnotation
Residue annotations associate text to a set of residues.
The text is an array of key value pairs.
*/
public class DemoResidueAnnotation {
public static void main(String argv[]) {
final StrapProtein p=new StrapProtein();
p.setResidueType("ASDFGHKL");
out.println("p.getResidueType()="+p.getResidueTypeAsString());
final ResidueAnnotation annotation=new ResidueAnnotation(p);
p.addResidueSelection(annotation);
/* Text attributes like remarks can be added. */
/* Beside REMARK several other type of text attributes exist. */
/* Please see the STRAP manual for details. */
annotation.setValue("Remark","a remark");
/* The difference to a classical Map is that you can add a 2nd remark. */
/* Using the key ResidueAnnotation.REMARK, both entries can be retrieved. */
annotation.setValue("Remark","another remark");
/* Specify the selected residues */
/* Indices out of range are ignored. */
annotation.setSelectedAminoacids("3-5,7,70-79,900-1000");
/* print an "X" for selected and a dot for not selected. */
printBool(annotation.getSelectedAminoacids(), annotation.getSelectedAminoacidsOffset());
out.println();
/* All residue selections can be retrieved from the protein object.*/
/* In this example there is only one residue selection. */
out.println("The number of ResidueAnnotation-objects in p is "+p.getResidueAnnotations().length);
exit(0);
}
private static void printBool(boolean bb[],int offset) {
for(int i=0;i<offset;i++) out.print('-');
for(boolean b:bb) out.print(b ? "X" : ".");
}
}