Difference between revisions of "rig input"

From irefindex
Line 42: Line 42:
 
//http://iharder.sourceforge.net/current/java/base64// or any other method which would represent the //byte output in base64
 
//http://iharder.sourceforge.net/current/java/base64// or any other method which would represent the //byte output in base64
  
public class My_digester {
+
public class My_digester {
 
  public My_digester() {  }
 
  public My_digester() {  }
 
  public String getROGID(String seq, int taxid) {
 
  public String getROGID(String seq, int taxid) {
Line 65: Line 65:
 
         return "0";
 
         return "0";
 
     }
 
     }
}
+
}
  
 
===2) Sort the ROGIDs ===
 
===2) Sort the ROGIDs ===

Revision as of 10:40, 18 November 2008

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";

}