Difference between revisions of "rig input"

From irefindex
 
(14 intermediate revisions by the same user not shown)
Line 32: Line 32:
  
 
=== Creating ROGID without IRefIndex_digester ===
 
=== Creating ROGID without IRefIndex_digester ===
 +
1) Create ROGIDs
 +
2) Sort the ROGIDs
 +
3) Create RIGID
  
1.Create ROGIDs
+
''' 1)Create ROGIDs '''
2.Sort the ROGIDs
+
 
3.Create RIGID
+
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";
 +
}
 +
 
 +
 
 +
 
 +

Latest revision as of 10:42, 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";
}