Mercurial > repos > jfb > kinamine7_7
comparison KinaMine-Galaxy-7-7/src/kinamine/Peptide.java @ 0:67635b462045 draft
Uploaded
author | jfb |
---|---|
date | Tue, 20 Feb 2018 14:31:15 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:67635b462045 |
---|---|
1 /** | |
2 ***************************************************************************** | |
3 * <p> | |
4 * Copyright (c) Regents of the University of Minnesota. All Rights Reserved. | |
5 * <p> | |
6 * Author: Kevin Murray University of Minnesota - (murra668@umn.edu) | |
7 * <p> | |
8 ***************************************************************************** | |
9 */ | |
10 package kinamine; | |
11 | |
12 import java.util.ArrayList; | |
13 import java.util.Arrays; | |
14 import java.util.List; | |
15 | |
16 /** | |
17 * Peptide object representing the relevant information from the submitted | |
18 * peptide report. Stores the values necessary for writing a report formatted | |
19 * for existing Excel sheets. | |
20 * | |
21 * @version 1.0 | |
22 * @author murra668 | |
23 */ | |
24 public class Peptide { | |
25 | |
26 /** Sequence of peptide. */ | |
27 String seq; | |
28 | |
29 /** Accession of Protein associated with this peptide. */ | |
30 List<String> id; | |
31 | |
32 /** Full Accessions. */ | |
33 String ref; | |
34 | |
35 /** Motif of phospho-tyrosine. */ | |
36 ArrayList<String> motif; | |
37 | |
38 /** Index of phospho-tyrosine in the peptide sequence. */ | |
39 ArrayList<Integer> tyrIndex; | |
40 | |
41 /** Index of phospho-tyrosine in protein sequence. */ | |
42 ArrayList<Integer> tyrProtIndex; | |
43 | |
44 /** Length of peptide sequence. */ | |
45 int length; | |
46 | |
47 /** | |
48 * Constructs a Peptide object from the parsed peptide info from a line in | |
49 * the peptide report. | |
50 * | |
51 * @param pepInfo tab-separated line of peptide info | |
52 * @param ids | |
53 */ | |
54 public Peptide(String[] pepInfo, List ids) { | |
55 | |
56 /** Store sequence */ | |
57 this.seq = pepInfo[8]; | |
58 | |
59 /** Store sequence length. */ | |
60 this.length = pepInfo[8].length(); | |
61 | |
62 /** Initialize empty motif array. */ | |
63 this.motif = new ArrayList<>(); | |
64 | |
65 /** Extract peptide references. */ | |
66 this.id = ids; | |
67 this.ref = pepInfo[3]; | |
68 | |
69 /** Store the index of phospho-tyrosine of the peptide and protein. */ | |
70 this.tyrIndex = getIndex(pepInfo[9]); | |
71 this.tyrProtIndex = getIndex(pepInfo[10]); | |
72 } | |
73 | |
74 /** | |
75 * Gets the index of the phospho-tyrosine in the peptide and corresponding | |
76 * protein, as indicated by the modification column of the peptide report. | |
77 * There may be more than one phospho-tyr within a peptide. | |
78 * <p> | |
79 * Location formatted as Phospho(Y)@index. | |
80 * | |
81 * @param mods string of mod locations | |
82 * @return ArrayList of integers. | |
83 */ | |
84 private ArrayList<Integer> getIndex(String mods) { | |
85 | |
86 /** Modifications are separated by ';'. */ | |
87 List<String> psm = Arrays.asList(mods.split(";")); | |
88 | |
89 /** Initialize new index array. */ | |
90 ArrayList<Integer> index = new ArrayList<>(); | |
91 | |
92 /** Check all modifications. */ | |
93 for (int i = 0; i < psm.size(); i++) { | |
94 | |
95 /** Check if phospho-tyr. */ | |
96 if (psm.get(i).contains("Phospho(Y)")) { | |
97 | |
98 /** Trim for correct indexing. */ | |
99 String mod = psm.get(i).trim(); | |
100 | |
101 /** Add to index array */ | |
102 index.add(Integer.valueOf(mod.substring(11))); | |
103 } | |
104 } | |
105 | |
106 return index; | |
107 | |
108 } | |
109 } |