rig input

From irefindex
Revision as of 16:12, 17 November 2008 by Sabry (talk | contribs)

Generating ROGIDs and RIGIDs

The following examples expalins how to generate ROGIDs from primary amino acid sequence and also the methods to sort ROGs before creating RIGIDs


Using the IRefIndex_digester

  • you require the IRefIndex_digester.jar in your class path)

IRefIndex_digester digetster = new IRefIndex_digester();

  String seq = "PQITLWQRPLVTVKIGGQLKEALLDTGEICGHKAIGT";
  String seq2 = "ADDTVLEEMNLPGKWKPKMIGGIGGFIKARQYDQIAI";
  String ROGID_1 = digetster.getROGID(seq, 9606);
  String ROGID_2 = digetster.getROGID(seq2, 9606);
  ArrayList<String> data = new ArrayList<String>();
  data.add(ROGID_1);
  data.add(ROGID_2);
   try {
      data = digetster.sortBase64ASCII(data);
       } catch (InvalidBase64Exception ex) {
          ex.printStackTrace();
       }
  System.out.println("ROGID of 1 = " + ROGID_1);
  System.out.println("ROGID of 1 = " + ROGID_2);
  System.out.println("Sorted list = "+data );
  String rig_input = "";
  for (int i = 0; i < data.size(); i++) {
      rig_input = rig_input + data.get(i);
  }
  System.out.println("concat string = "+rig_input);
  System.out.println("RIGID = "+digetster.getSeguForWithNum(rig_input));


Creating ROGID without IRefIndex_digester

1) Create ROGIDs 2) Sort the ROGIDs 3) Create RIGID

1. Create ROGIDs

import java.security.MessageDigest; import <some>.Base64 // for this you could use the base64 class from //http://iharder.sourceforge.net/current/java/base64// or any other method which would represent the //byte output in base64

public class My_digester {

public My_digester() {   }
public String getROGID(String seq, int taxid) {
      if (seq == null) {
           return "0";
       } else {
           seq = seq.replaceAll("[^A-Za-z0-9]", "").trim().toUpperCase();
           if (seq.length() > 0) {
               try {
                   MessageDigest md = MessageDigest.getInstance("SHA");
                   String data = seq;
                   md.update(data.getBytes());
                   byte[] digest = md.digest();
                   String r = Base64.encodeBytes(digest);
                   r = r.replace("=", "");
                   return r + taxid;
               } catch (NoSuchAlgorithmException ex) {
                   ex.printStackTrace();
               }
           }
       }
       return "0";
   }

}

2) Sort the ROGIDs

import java.util.Arrays; String[] inp = {ROGID_1,ROGID2}; validate(inp); Arrays.sort(inp); inpArray.clear(); inpArray = new ArrayList(Arrays.asList(inp));

3) Create RIGID

 String rig_input = "";
 for (int i = 0; i < data.length; i++) {   //data is the sorted list
           rig_input = rig_input + data[i];           
       }
 String RIGID = getRIGID(rig_input);
 getRIGID(String rig_input){
 if (rig_input == null) {
           return "0";
       } else {
           rig_input = rig_input.replaceAll("[^A-Za-z0-9]", "").trim().toUpperCase();
           if (rig_input.length() > 0) {
               try {
                   MessageDigest md = MessageDigest.getInstance("SHA");
                   String data = rig_input;
                   md.update(data.getBytes());
                   byte[] digest = md.digest();
                   String r = Base64.encodeBytes(digest);
                   r = r.replace("=", "");
                   return r;
               } catch (NoSuchAlgorithmException ex) {
                   ex.printStackTrace();
               }
           }
       }
       return "0";

}