annotate PSM2SAM.R @ 3:ce09f1a1bbad draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
author galaxyp
date Thu, 28 Jan 2016 18:40:54 -0500
parents 34f9e847dd4e
children cd69250e1150
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),
3
ce09f1a1bbad planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
galaxyp
parents: 1
diff changeset
35 exon_anno_file = GalaxyInputFile(required=TRUE),
ce09f1a1bbad planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
galaxyp
parents: 1
diff changeset
36 proteinseq_file = GalaxyInputFile(required=TRUE),
ce09f1a1bbad planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
galaxyp
parents: 1
diff changeset
37 procodingseq_file = GalaxyInputFile(required=TRUE),
ce09f1a1bbad planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
galaxyp
parents: 1
diff changeset
38 header_file = GalaxyInputFile(required=TRUE),
0
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 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
42 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
43 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
44 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
45 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
46 else
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
47 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
48 tryCatch(
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 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
51 }, 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
52 {
3
ce09f1a1bbad planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit 141369f97aa2804d2bbfd9ed620ea2a5574994c2-dirty
galaxyp
parents: 1
diff changeset
53 gstop("failed to remove empty existing file")
0
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 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
56 }
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 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
59 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
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 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
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 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
64 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
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 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
67 #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
68 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
69 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
70 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
71
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
72 # 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
73 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
74 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
75 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
76 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
77 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
78
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
79 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
80 ", 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
81 ", 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
82 ", 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
83 ", 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
84 ", 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
85 ", 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
86 ", 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
87 ", 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
88 ", 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
89 ", 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
90 ", 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
91 ", 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
92 ", 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
93 ", 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
94 "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
95 "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
96 "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
97 "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
98 "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
99 "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
100 "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
101 "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
102 "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
103 "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
104 "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
105 )
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
106
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
107 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
108 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
109 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
110 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
111 passedPSM
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
112 }, 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
113 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
114 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
115
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
116 tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
117 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
118 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
119 }, 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
120 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
121 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
122
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
123 tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
124 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
125 }, 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
126 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
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
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
129 tryCatch({
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
130 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
131 }, 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
132 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
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
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
135 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
136 #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
137 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
138 #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
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 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
141
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
142 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
143
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
144 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
145 #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
146 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
147 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
148 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
149 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
150 RNAME <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
151 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
152 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
153 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
154 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
155 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
156 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
157 SEQ <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
158 CIGAR <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
159 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
160 annoted <- '?'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
161 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
162 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
163 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
164 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
165 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
166 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
167 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
168 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
169 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
170 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
171
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
172 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
173 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
174 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
175 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
176 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
177
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
178
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
179
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
180 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
181 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
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 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
184 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
185 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
186 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
187 }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
188 })
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
189
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
190 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
191
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
192 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
193 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
194 .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
195 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
196 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
197 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
198 #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
199 .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
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 .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
202 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
203 },
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
204 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
205
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
206 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
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 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
210 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
211 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
212 #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
213 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
214 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
215 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
216 #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
217 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
218 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
219
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
220 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
221 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
222
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
223 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
224 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
225 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
226
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
227 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
228 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
229 }
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
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
233 .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
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 RNAME <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
236 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
237 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
238 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
239 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
240 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
241 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
242 SEQ <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
243 CIGAR <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
244 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
245 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
246 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
247
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
248 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
249 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
250 tmp
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
251 }
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
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
254
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
255 .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
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 #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
258 RNAME <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
259 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
260 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
261 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
262 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
263 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
264 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
265 SEQ <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
266 CIGAR <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
267 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
268 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
269 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
270 #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
271 # 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
272 #}else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
273 # 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
274 #}
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
275
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
276 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
277 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
278 tmp
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
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
282
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
283 .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
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 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
286 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
287 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
288 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
289 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
290 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
291 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
292 RNEXT <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
293 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
294 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
295 QUAL <- '*'
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
296 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
297 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
298
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
299 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
300 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
301 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
302 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
303 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
304
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
305 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
306 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
307 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
308 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
309 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
310 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
311
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
312 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
313 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
314 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
315 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
316 #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
317 # '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
318 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
319 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
320
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 <- 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
322 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
323 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
324 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
325 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
326 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
327 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
328 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 }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
330
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
331 #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
332 #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
333 # 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
334 # '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
335 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
336 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
337 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
338 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
339 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
340 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
341
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
342 }else{
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
343 #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
344 # 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
345 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
346 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
347
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 <- 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
349 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
350 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
351 '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
352 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
353 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
354 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
355 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
356 }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
357
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
358 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
359 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
360 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
361 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
362 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
363 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
364
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
365 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
366
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
367 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
368 }
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 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
371 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
372 tmp
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
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
376 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
377 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
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 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
380 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
381 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
382
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
383 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
384 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
385 {
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
386 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
387 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
388 }
c506e5dac2bb planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/psm_to_sam commit b37186806a83fb3a59a1b4ccb1d44667d5224277-dirty
galaxyp
parents:
diff changeset
389
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 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
392 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
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 ## 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
395 }, 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
396 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
397 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
398 })