rig input
From irefindex
Revision as of 10:42, 18 November 2008 by Sabry (talk | contribs) (→Creating ROGID without IRefIndex_digester)
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"; }