annotate PSM2SAM.R @ 2:e1bb35f6ca28 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
author galaxyp
date Thu, 14 Jan 2016 18:13:18 -0500
parents 34f9e847dd4e
children ce09f1a1bbad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
1 #!/usr/bin/env Rscript
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
2
1
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
3 initial.options <- commandArgs(trailingOnly = FALSE)
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
4 script_parent_dir <- dirname(sub("--file=", "", initial.options[grep("--file=", initial.options)]))
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
5
0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
6 ## begin warning handler
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
7 withCallingHandlers({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
8
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
9 library(methods) # Because Rscript does not always do this
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
10
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
11 options('useFancyQuotes' = FALSE)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
12
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
13 suppressPackageStartupMessages(library("optparse"))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
14 suppressPackageStartupMessages(library("RGalaxy"))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
15
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
16
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
17 option_list <- list()
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
18
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
19 option_list$passedPSM <- make_option('--passedPSM', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
20 option_list$XScolumn <- make_option('--XScolumn', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
21 option_list$exon_anno <- make_option('--exon_anno', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
22 option_list$proteinseq <- make_option('--proteinseq', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
23 option_list$procodingseq <- make_option('--procodingseq', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
24 option_list$header <- make_option('--header', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
25 option_list$OutputFile <- make_option('--OutputFile', type='character')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
26
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
27
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
28 opt <- parse_args(OptionParser(option_list=option_list))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
29
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
30
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
31
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
32
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
33 PSMtab2SAM <- function(
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
34 passedPSM_file = GalaxyInputFile(required=TRUE),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
35 exon_anno_file = GalaxyInputFile(),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
36 proteinseq_file = GalaxyInputFile(),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
37 procodingseq_file = GalaxyInputFile(),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
38 header_file = GalaxyInputFile(),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
39 XScolumn = GalaxyCharacterParam(required=TRUE),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
40 OutputFile = GalaxyOutput("proSAM","sam"))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
41 {
1
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
42 if (length(exon_anno_file) == 0) { exon_anno_file = paste(script_parent_dir, "tool-data/exon_anno.RData", sep="/") }
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
43 if (length(proteinseq_file) == 0) { proteinseq_file = paste(script_parent_dir, "tool-data/proseq.RData", sep="/") }
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
44 if (length(procodingseq_file) == 0) { procodingseq_file = paste(script_parent_dir, "tool-data/procodingseq.RData", sep="/") }
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
45 if (length(header_file) == 0) { header_file = paste(script_parent_dir, "tool-data/header_refseq_hg19.txt", sep="/") }
0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
46
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
47 if (!file.exists(header_file)) { gstop("failed to read header file") }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
48 if (file.exists(OutputFile))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
49 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
50 if (file.info(OutputFile)$size > 0) { gstop("output file already exists") }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
51 else
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
52 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
53 tryCatch(
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
54 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
55 file.remove(OutputFile)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
56 }, error=function(err)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
57 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
58 gstop("failed to read empty existing file")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
59 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
60 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
61 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
62
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
63 suppressPackageStartupMessages(library(GenomicRanges))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
64 suppressPackageStartupMessages(library(Biostrings))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
65
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
66 options(stringsAsFactors=FALSE)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
67
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
68 scoreName = XScolumn
1
34f9e847dd4e planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit cf9086847f3153e28b697b5f4b0da1a677eb165a-dirty
galaxyp
parents: 0
diff changeset
69 columnName = gsub("[^A-Z0-9]", "_", scoreName)
0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
70
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
71 passedPSM <- tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
72 #read.delim(passedPSM_file, row.names=1)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
73 suppressPackageStartupMessages(library(RSQLite))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
74 drv <- dbDriver("SQLite")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
75 con <- dbConnect(drv, passedPSM_file)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
76
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
77 # do case-insensitive search for the score name
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
78 res <- dbSendQuery(con, paste("SELECT Id, Name FROM PeptideSpectrumMatchScoreName WHERE lower(Name)=lower('", scoreName, "')", sep=""))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
79 scoreInfo = fetch(res, n=1)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
80 scoreId = scoreInfo["Id"]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
81 realScoreName = scoreInfo["Name"] # original case
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
82 dbClearResult(res)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
83
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
84 sql <- paste("SELECT ss.Name as SourceName, s.NativeID",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
85 ", psm.ObservedNeutralMass AS precursor_neutral_mass",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
86 ", psm.Charge AS assumed_charge",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
87 ", s.ScanTimeInSeconds AS retention_time_sec",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
88 ", psm.Rank AS hit_rank",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
89 ", IFNULL(SUBSTR(pd.Sequence, pi.Offset+1, pi.Length), pep.DecoySequence) AS peptide",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
90 ", pro.Accession AS protein",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
91 ", COUNT(DISTINCT pro.Id) AS num_tot_proteins",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
92 ", psm.ObservedNeutralMass - (psm.MonoisotopicMassError - ROUND(psm.MonoisotopicMassError) * 1.0026) AS calc_neutral_pep_mass",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
93 ", psm.MonoisotopicMassError - ROUND(psm.MonoisotopicMassError) * 1.0026 AS massdiff",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
94 ", CTerminusIsSpecific+NTerminusIsSpecific AS num_tol_term",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
95 ", MissedCleavages AS num_missed_cleavages",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
96 ", psm.QValue AS qvalue",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
97 ", psmScore.Value AS ", columnName,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
98 ", GROUP_CONCAT(DISTINCT pm.Offset || ';' || mod.MonoMassDelta) AS modification",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
99 "FROM PeptideSpectrumMatch psm",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
100 "JOIN Spectrum s ON psm.Spectrum=s.Id",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
101 "JOIN SpectrumSource ss ON s.Source=ss.Id",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
102 "JOIN PeptideInstance pi ON psm.Peptide=pi.Peptide",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
103 "JOIN Protein pro ON pi.Protein=pro.Id",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
104 "JOIN Peptide pep ON pi.Peptide=pep.Id",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
105 "JOIN PeptideSpectrumMatchScore psmScore ON psmScore.PsmId=psm.Id AND ScoreNameId=", scoreId,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
106 "LEFT JOIN ProteinData pd ON pro.Id=pd.Id",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
107 "LEFT JOIN PeptideModification pm ON psm.Id=pm.PeptideSpectrumMatch",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
108 "LEFT JOIN Modification mod ON pm.Modification=mod.Id",
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
109 "GROUP BY psm.Id"
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
110 )
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
111
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
112 res <- dbSendQuery(con, sql)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
113 passedPSM <- fetch(res, n=-1)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
114 dbClearResult(res)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
115 dbDisconnect(con)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
116 passedPSM
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
117 }, error=function(err) {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
118 gstop("failed to read passedPSM: ", err)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
119 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
120
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
121 tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
122 load(exon_anno_file)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
123 exon_anno <- exon
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
124 }, error=function(err) {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
125 gstop("failed to read exon_anno: ", conditionMessage(err))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
126 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
127
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
128 tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
129 load(proteinseq_file)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
130 }, error=function(err) {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
131 gstop("failed to read proteinseq: ", conditionMessage(err))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
132 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
133
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
134 tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
135 load(procodingseq_file)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
136 }, error=function(err) {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
137 gstop("failed to read procodingseq: ", conditionMessage(err))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
138 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
139
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
140 PEP <- passedPSM[, 'peptide']
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
141 #Spectrumid <- paste(passedPSM[, 'SourceName'], gsub(" ", "_", passedPSM[, 'NativeID']), sep="/")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
142 Spectrumid <- paste(passedPSM[, 'SourceName'], passedPSM[, 'NativeID'], sep="/")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
143 #PEP_SEQ <- formatPep(spectra[, 'Sequence'])
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
144
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
145 SAM <- c()
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
146
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
147 spectrumcount <- table(Spectrumid)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
148
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
149 for(i in 1:dim(passedPSM)[1]){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
150 #print(i)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
151 peptide <- PEP[i]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
152 QNAME <- Spectrumid[i]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
153 idx <- grep(peptide, proteinseq[, 'peptide'], fixed=TRUE)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
154 if(length(idx) == 0){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
155 RNAME <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
156 MAPQ <- 255
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
157 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
158 PNEXT <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
159 TLEN <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
160 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
161 POS <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
162 SEQ <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
163 CIGAR <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
164 FLAG <- 0x4
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
165 annoted <- '?'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
166 XA <- paste('XA:Z:', annoted, sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
167 res <- c(FLAG, RNAME, POS, MAPQ, CIGAR, RNEXT, PNEXT, TLEN,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
168 as.character(SEQ), QUAL, XA)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
169 res <- unique(data.frame(t(res)))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
170 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
171 pro <- proteinseq[idx, ]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
172 sta_pos <- unlist(lapply(pro[, 'peptide'], function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
173 regexpr(peptide, x, fixed=TRUE)))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
174 pep_len <- nchar(peptide)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
175 end_pos <- sta_pos + pep_len - 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
176
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
177 coding <- procodingseq[match(pro[, 'pro_name'],
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
178 procodingseq[, 'pro_name']), ]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
179 code_s <- (sta_pos-1) * 3 + 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
180 code_e <- end_pos * 3
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
181 codingseq <- substring(coding[, 'coding'], code_s, code_e)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
182
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
183
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
184
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
185 exonp <- lapply(pro[, 'tx_name'], function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
186 exon_anno[exon_anno[, 'tx_name']==x, ])
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
187
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
188 exonp <- lapply(exonp, function(x){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
189 if(length(unique(x[, 'tx_id'])) > 1){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
190 x[grep(x[1, 'tx_id'], x[, 'tx_id'],
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
191 fixed=TRUE), ]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
192 }else x
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
193 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
194
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
195 if(passedPSM[i, 'hit_rank'] == 1) pri <- TRUE else pri <- FALSE
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
196
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
197 res <- mapply(function(x, y, z, m)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
198 if(dim(z)[1] == 0){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
199 .proteinUnannotated(x, y, z, m, primary=pri)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
200 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
201 if((nchar(m) != 3*pep_len) | (y > max(z[, 'cds_end'],
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
202 na.rm = TRUE))){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
203 #if(toString(translate(DNAString(m))) != peptide){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
204 .peptideUnannotated(x, y, z, m, primary=pri)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
205 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
206 .MapCoding2genome(x, y, z, m, primary=pri)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
207 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
208 },
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
209 code_s, code_e, exonp, codingseq)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
210
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
211 res <- unique(data.frame(t(res)))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
212
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
213 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
214 XL <- paste('XL:i:', as.numeric(spectrumcount[QNAME]), sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
215 NH <- paste('NH:i:', dim(res)[1], sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
216 XP <- paste('XP:Z:', peptide, sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
217 #XF <- paste('XF:f:', round(passedPSM[i, XFcolumn], digits=4), sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
218 XC <- paste('XC:i:', passedPSM[i, 'assumed_charge'], sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
219 XS <- paste('XS:f:', round(as.numeric(passedPSM[i, columnName]),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
220 digits=4), sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
221 #XA <- paste('XA:Z:', annoted, sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
222 XN <- paste('XN:i:', passedPSM[i, 'num_missed_cleavages'], sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
223 XT <- paste('XT:i:', passedPSM[i, 'num_tol_term'], sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
224
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
225 XM <- ifelse(is.na(passedPSM[i, 'modification']), paste('XM:Z:-'),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
226 paste('XM:Z:', passedPSM[i, 'modification'], sep=''))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
227
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
228 res <- cbind(QNAME, res, NH, XL, XP, XC, XS, XM, XN, XT)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
229 SAM <- rbind(SAM, res)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
230 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
231
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
232 file.copy(header_file, OutputFile)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
233 write.table(SAM, file=OutputFile, sep='\t', quote=FALSE, row.names=FALSE, col.names=FALSE, append=TRUE)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
234 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
235
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
236
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
237
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
238 .proteinUnannotated <-function(c_sta, c_end, exon_anno, cseq, primary=TRUE, ...)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
239 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
240 RNAME <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
241 MAPQ <- 255
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
242 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
243 PNEXT <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
244 TLEN <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
245 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
246 POS <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
247 SEQ <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
248 CIGAR <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
249 annoted <- 2
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
250 XA <- paste('XA:Z:', annoted, sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
251 FLAG <- 0x4
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
252
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
253 tmp <- c(FLAG, RNAME, POS, MAPQ, CIGAR, RNEXT, PNEXT, TLEN,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
254 as.character(SEQ), QUAL, XA)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
255 tmp
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
256 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
257
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
258
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
259
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
260 .peptideUnannotated <- function(c_sta, c_end, exon_anno, cseq, primary=TRUE, ...)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
261 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
262 #RNAME <- as.character(exon_anno[1, 'chromosome_name'])
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
263 RNAME <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
264 MAPQ <- 255
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
265 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
266 PNEXT <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
267 TLEN <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
268 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
269 POS <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
270 SEQ <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
271 CIGAR <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
272 annoted <- 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
273 XA <- paste('XA:Z:', annoted, sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
274 FLAG <- 0x4
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
275 #if(exon_anno[1, 'strand'] == '+'){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
276 # FLAG <- ifelse(primary==TRUE, 0x00, 0x00+0x100)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
277 #}else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
278 # FLAG <- ifelse(primary==TRUE, 0x10, 0x10+0x100)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
279 #}
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
280
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
281 tmp <- c(FLAG, RNAME, POS, MAPQ, CIGAR, RNEXT, PNEXT, TLEN,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
282 as.character(SEQ), QUAL, XA)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
283 tmp
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
284 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
285
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
286
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
287
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
288 .MapCoding2genome <- function(c_sta, c_end, exon_anno, cseq, primary=TRUE, ...)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
289 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
290 idxs <- intersect(which(exon_anno[, 'cds_start'] <= c_sta),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
291 which(exon_anno[, 'cds_end'] >= c_sta))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
292 idxe <- intersect(which(exon_anno[, 'cds_start'] <= c_end),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
293 which(exon_anno[, 'cds_end'] >= c_end))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
294 len <- c_end - c_sta + 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
295 RNAME <- as.character(exon_anno[1, 'chromosome_name'])
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
296 MAPQ <- 255
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
297 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
298 PNEXT <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
299 TLEN <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
300 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
301 annoted <- 0
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
302 XA <- paste('XA:Z:', annoted, sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
303
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
304 if(exon_anno[1, 'strand'] == '+'){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
305 POS <- exon_anno[idxs, 'cds_chr_start'] + c_sta -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
306 exon_anno[idxs, 'cds_start']
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
307 SEQ <- DNAString(cseq)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
308 FLAG <- ifelse(primary==TRUE, 0x00, 0x00+0x100)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
309
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
310 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
311 POS <- exon_anno[idxe, 'cds_chr_start'] +
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
312 exon_anno[idxe, 'cds_end'] - c_end
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
313 SEQ <- reverseComplement(DNAString(cseq))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
314 FLAG <- ifelse(primary==TRUE, 0x10, 0x10 + 0x100)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
315 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
316
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
317 if(idxe == idxs){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
318 CIGAR <- paste(len, 'M', sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
319 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
320 if(exon_anno[1, 'strand'] == '+'){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
321 #insert <- exon_anno[idxe, 'cds_chr_start'] - exon_anno[idxs,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
322 # 'cds_chr_end']- 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
323 part1 <- exon_anno[idxs, 'cds_end'] - c_sta + 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
324 part2 <- c_end - exon_anno[idxe, 'cds_start'] + 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
325
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
326 insert <- unlist(lapply(1:(idxe - idxs), function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
327 paste(exon_anno[idxs + x, 'cds_chr_start'] -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
328 exon_anno[idxs+x-1, 'cds_chr_end']- 1, 'N', sep='')))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
329 if(idxe-idxs >1){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
330 innerexon <- unlist(lapply(1:(idxe-idxs-1), function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
331 paste(exon_anno[idxs + x, 'cds_chr_end'] -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
332 exon_anno[idxs + x, 'cds_chr_start'] + 1, 'M',
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
333 sep='')))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
334 }else{ innerexon <- ''}
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
335
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
336 #ifelse(idxe-idxs >1, unlist(lapply(1:(idxe-idxs-1), function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
337 #paste(exon_anno[idxs+x, 'cds_chr_end'] -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
338 # exon_anno[idxs+x, 'cds_chr_start']+1,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
339 # 'M', sep=''))), '')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
340 midpattern <- rep(NA, length(insert) + length(innerexon))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
341 midpattern[seq(1, length(insert) + length(innerexon),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
342 by=2)] <- insert
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
343 midpattern[seq(2, length(insert) + length(innerexon),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
344 by=2)] <- innerexon
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
345 midpattern <- paste(midpattern, collapse='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
346
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
347 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
348 #insert <- exon_anno[idxs, 'cds_chr_start'] -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
349 # exon_anno[idxe, 'cds_chr_end']- 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
350 part1 <- c_end- exon_anno[idxe, 'cds_start'] + 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
351 part2 <- exon_anno[idxs, 'cds_end'] - c_sta + 1
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
352
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
353 insert <- unlist(lapply(1:(idxe-idxs), function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
354 paste(exon_anno[idxe - x, 'cds_chr_start'] -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
355 exon_anno[idxe-x + 1, 'cds_chr_end']- 1,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
356 'N', sep='')))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
357 if(idxe-idxs >1){
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
358 innerexon <- unlist(lapply(1:(idxe-idxs-1), function(x)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
359 paste(exon_anno[idxe-x, 'cds_chr_end'] -
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
360 exon_anno[idxe-x, 'cds_chr_start']+1, 'M', sep='')))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
361 }else{ innerexon <-''}
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
362
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
363 midpattern <- rep(NA, length(insert)+length(innerexon))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
364 midpattern[seq(1, length(insert) + length(innerexon),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
365 by=2)] <- insert
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
366 midpattern[seq(2, length(insert) + length(innerexon),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
367 by=2)] <- innerexon
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
368 midpattern <- paste(midpattern, collapse='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
369
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
370 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
371
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
372 CIGAR <- paste(part1, 'M', midpattern, part2, 'M', sep='')
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
373 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
374
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
375 tmp <- c(FLAG, RNAME, POS, MAPQ, CIGAR, RNEXT, PNEXT, TLEN,
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
376 as.character(SEQ), QUAL, XA)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
377 tmp
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
378 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
379
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
380
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
381 params <- list()
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
382 for(param in names(opt))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
383 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
384 if (!param == "help")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
385 params[param] <- opt[param]
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
386 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
387
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
388 setClass("GalaxyRemoteError", contains="character")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
389 wrappedFunction <- function(f)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
390 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
391 tryCatch(do.call(f, params),
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
392 error=function(e) new("GalaxyRemoteError", conditionMessage(e)))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
393 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
394
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
395
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
396 suppressPackageStartupMessages(library(RGalaxy))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
397 do.call(PSMtab2SAM, params)
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
398
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
399 ## end warning handler
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
400 }, warning = function(w) {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
401 cat(paste("Warning:", conditionMessage(w), "\n"))
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
402 invokeRestart("muffleWarning")
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
403 })