diff k2n.R @ 8:2ae336f19de0 draft

Uploaded
author nikos
date Tue, 04 Nov 2014 17:54:42 -0500
parents 83dfe38f6a09
children
line wrap: on
line diff
--- a/k2n.R	Tue Nov 04 15:11:36 2014 -0500
+++ b/k2n.R	Tue Nov 04 17:54:42 2014 -0500
@@ -3,35 +3,14 @@
 options(stringAsfactors = FALSE, useFancyQuotes = FALSE)
 args <- commandArgs(trailingOnly = TRUE)
 
-#get options, using the spec as defined by the enclosed list.
-#we read the options from the default: commandArgs(TRUE).
-spec = matrix( c(
-  'verbose', 'v', 2, "integer",
-  'help' , 'h', 0, "logical",
-  'merged', 'm', 1, "character",
-  'read_counts', 'c', 1, "character",
-  'max_observed', 'b', 1, "integer",
-  'barcode_length', 'l', 1, "integer",
-  'output', 'o', 1, "character"
-  ), byrow = TRUE, ncol = 4 );
-
-opt = getopt( spec );
-
-# if help was asked for print a friendly message
-# and exit with a non-zero error code
-if ( !is.null( opt$help ) ) {
-    cat( getopt( spec, usage=TRUE ) ) ;
-    q( status = 1 );
-}
-
 # Read inputs
-merged <- read.table( opt$merged )
-read_counts <- read.table( opt$read_counts )
+merged <- read.table( args[1] )
+read_counts <- read.table( args[2] )
 
 barcodes_nt <- merged[ do.call( paste, as.list( merged[ ,1:3 ] ) ) %in% do.call( paste, as.list( read_counts[ ( read_counts[ , 4 ] ) <= summary( read_counts[ , 4 ] )[ 5 ], 1:3 ] ) ) , 4 ]
 
 ##make the matrix with the nucleotide freqs per position:
-nt_counts <- matrix( nrow = 4, ncol = opt$barcode_length )
+nt_counts <- matrix( nrow = 4, ncol = as.numeric(args[4]) )
 for( h in 1:ncol( nt_counts ) ){
     j <- 1
     for( nt_local in c( "A","C","G","T" ) ) {
@@ -59,7 +38,7 @@
 i <- 1
 results[ i ] <- sum( 1 - ( 1 - probs )**i )
 
-while( results[ i ] <= opt$max_observed ) {
+while( results[ i ] <= as.numeric(args[3]) ) {
     i <- i + 1
     results[ i ] <- sum( 1 - ( 1 - probs )**i )   #Mf to Sf
 }
@@ -71,4 +50,4 @@
 Uf_to_Mf[ i ] <- which( difference == min( difference ) ) #if you want to know how many molecules underlie n unique barcodes ask Uf_to_Mf[n]
 }
 
-write( Uf_to_Mf, file = opt$output )
+write( Uf_to_Mf, file = args[5] )