Difference between revisions of "rig input"
From irefindex
(6 intermediate revisions by the same user not shown) | |||
Line 36: | Line 36: | ||
3) Create RIGID | 3) Create RIGID | ||
− | 1 | + | ''' 1)Create ROGIDs ''' |
import java.security.MessageDigest; | import java.security.MessageDigest; | ||
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 ''' | |
import java.util.Arrays; | import java.util.Arrays; | ||
Line 76: | Line 76: | ||
inpArray = new ArrayList(Arrays.asList(inp)); | inpArray = new ArrayList(Arrays.asList(inp)); | ||
− | + | '''3) Create RIGID''' | |
+ | |||
String rig_input = ""; | String rig_input = ""; | ||
for (int i = 0; i < data.length; i++) { //data is the sorted list | for (int i = 0; i < data.length; i++) { //data is the sorted list | ||
rig_input = rig_input + data[i]; | rig_input = rig_input + data[i]; | ||
} | } | ||
− | String RIGID = getRIGID(rig_input); | + | String RIGID = getRIGID(rig_input); |
− | getRIGID(String rig_input){ | + | getRIGID(String rig_input){ |
− | if (rig_input == null) { | + | if (rig_input == null) { |
return "0"; | return "0"; | ||
} else { | } else { | ||
Line 102: | Line 103: | ||
} | } | ||
return "0"; | 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"; }