fractionLearning: working on...

Usage Arguments Examples

Usage

1
fractionLearning(peptide, numSlice, proteinRegressed)

Arguments

peptide
numSlice
proteinRegressed

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (peptide, numSlice, proteinRegressed) 
{
    peptide.slices <- peptide[, grep("^Slice.\d", colnames(peptide))]
    peptide.original.assignment <- as.character(peptide[, "Proteins"])
    names(peptide.original.assignment) <- peptide[, "id"]
    peptide.assignment.range1 <- list()
    peptide.unique.range1 <- c()
    peptide.predict <- list()
    count <- 0
    stp <- 100
    recorder <- 0
    for (i in 1:nrow(peptide)) {
        recorder <- recorder + 1
        prots <- as.character(peptide[i, "Proteins"])
        pIds <- unlist(strsplit(prots, ";"))
        selected.pIds.range1 <- c()
        for (j in 1:length(pIds)) {
            if (regexpr("CON__", pIds[j]) > 0) {
                selected.pIds.range1 <- c(selected.pIds.range1, 
                  pIds[j])
            }
            else {
                count <- count + 1
                preds <- proteinRegressed[pIds[j]]
                peptide.predict[[count]] <- paste(i, pIds[j], 
                  preds, sep = ";")
                preds <- round(preds)
                range1 <- preds
                if (range1 < 1) {
                  range1 <- 1
                }
                if (range1 > numSlice) {
                  range1 <- numSlice
                }
                if (sum(peptide.slices[i, range1], na.rm = T) > 
                  0) {
                  selected.pIds.range1 <- c(selected.pIds.range1, 
                    pIds[j])
                }
            }
        }
        if (length(selected.pIds.range1) > 0) {
            peptide.assignment.range1[i] <- paste(selected.pIds.range1, 
                collapse = ";")
            if (length(selected.pIds.range1) == 1) {
                peptide.unique.range1 <- c(peptide.unique.range1, 
                  selected.pIds.range1)
            }
        }
        else {
            peptide.assignment.range1[i] <- paste(pIds, collapse = ";")
        }
        if (recorder == stp) {
            print(i)
            recorder <- 0
        }
    }
    peptide.assignment.range1 <- unlist(peptide.assignment.range1)
    names(peptide.assignment.range1) <- peptide[, "id"]
    result <- list()
    result$predict <- peptide.predict
    result$original <- peptide.original.assignment
    result$range1 <- peptide.assignment.range1
    result$extra.unique.range1 <- peptide.unique.range1
    return(result)
  }

PengyiYang/ReFraction documentation built on May 14, 2019, 11:01 p.m.