import charite.christo.strap.extensions.*;
import charite.christo.strap.extensions.SecondaryStructure_Jnet;
import charite.christo.strap.extensions.SecondaryStructure_NNPREDICT;
import charite.christo.strap.extensions.SecondaryStructure_Sopma;
import charite.christo.strap.extensions.CoiledCoil_PredictorRobinson;
import charite.christo.strap.extensions.TransmembraneHelix_Phobius;
import charite.christo.strap.extensions.TransmembraneHelix_MEMSAT;
/* ... There are many more int the package ... charite.christo.strap.extensions. */
import charite.christo.interfaces.SecondaryStructure_Predictor;
import charite.christo.interfaces.TransmembraneHelix_Predictor;
import charite.christo.interfaces.CoiledCoil_Predictor;
import charite.christo.interfaces.PredictionFromAminoacidSequence;
import charite.christo.Web;
import charite.christo.CacheResult;
/*
java DemoPrediction
Secondary structure elements like helices and beta sheets can be predicted from the primary structure.
Three interfaces are derived from PredictionFromAminoacidSequence for secondary structures, coiled-coils and
transmembrane helices.
*/
public class DemoPrediction {
public static void main(String[] argv){
/* The cache is located in ~/.StrapAlign/cached/ */
CacheResult.setEnabled(true);
/*Create an instance of SecondaryStructure_Predictor */
PredictionFromAminoacidSequence predictor=new SecondaryStructure_NNPREDICT();
/* Set the sequence. */
/* The setter allows also multiple sequences given as an array of Strings. */
/* This improves performance for web based methods and allows some methods to compute the consensus. */
predictor.setGappedSequences(new String[]{"MFLTRSEYDRGVNTFSPEGRLFQVEYAIEGHKLGSTAIGIQTSEGVCLAVEKRITSPLMEPSSIEKIVEIDAHIGCAMSGLIADAKTLIDKARVETQNHWFTYNETMTVESVTQAVSNLALQFGEEDADPGAMSRPFGVALLFGGVDEKGPQLFHMDPSGTFVQCDARAIGSASEGAQSSLQEVYHKSTTLKEAIKSSLIILKQVMEEKLNATNIELATVQPGQNFHMFTKEELEEVIKDMEILCEDNTSLSSIPNSLMQVDGDSGLYRNDFNSRDANSSDASNWTIDGENRTNLSFEGYLPPTCLSILHLQEKNWSALLTAVVIILTIAGNILVIMAVSLEKKLQNATNYFLMSLAIADMLLGFLVMPVSMLTILYGYRWPLPSKLCAVWIYLDVLFSTASIMHLCAISLDRYVAIQNPIHHSRFNSRTKAFLKIIAVWTISVGVSMPIPVFGLQDDSKVFKQGSCLLADDNFVLIGSFVAFFIPLTIMVITYFLTIKSLQKEATLCVSDLSTRAKLASFSFLPQSSLSSEKLFQRSIHREPGSYTGRRTMQSISNEQKACKVLGIVFFLFVVMWCPFFITNIMAVICKESCNEHVIGALLNVFVWIGYLSSAVNPLVYTLFNKTYRSAFSRYIQCQYKENRKPLQLILVNTIPALAYKSSQLQAGQNKDSKEDAEPTDNDCSMVTLGKQQSEETCTDNINTVNEKVSCVDKQKELDSKVRNVKDKVMCIEHEIKSLEDLQDEYDFKCKTLQNREHLLLKKMYLMLDNKRKEVVHKIIELLNVTELTQNALINDELVEWKRRQQSACIGGPPNACLDQQNWFTIVAESLQQVRQQLKKLEELEQKYTYEHDPITKNKQVLWDRTFSLFQQLIQSS"});
/* start computation */
predictor.compute();
/* get the result for the first and only sequence (index 0) */
char result[]=predictor.getPrediction()[0];
System.out.println(new String(result));
/* Save the Cache containing computed results */
CacheResult.save();
System.exit(0);
}
}