<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[BOL: Owner]]></title>
	<link>https://bioinformaticsonline.com/snippets/owner/santhilalsubhash?</link>
	<atom:link href="https://bioinformaticsonline.com/snippets/owner/santhilalsubhash?" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/snippets/view/28048/calculate-confidence-interval-for-multiple-columns-in-a-matrix-table-using-r-function-ci-normal-and-ci-tdist</guid>
	<pubDate>Fri, 24 Jun 2016 18:01:04 -0500</pubDate>
	<link>https://bioinformaticsonline.com/snippets/view/28048/calculate-confidence-interval-for-multiple-columns-in-a-matrix-table-using-r-function-ci-normal-and-ci-tdist</link>
	<title><![CDATA[Calculate confidence interval for multiple columns in a matrix (table) using R function CI_normal and CI_tdist]]></title>
	<description><![CDATA[<code>#USAGE: CI_normal(matrix[,c(x:y)],97.5) - multiple column from a normal distribution
#USAGE: CI_tdist(matrix[,c(x:y)],97.5) - multiple column from a t distribution
#USAGE: CI_normal(matrix[,x],97.5) - single column from a normal distribution
#USAGE: CI_tdist(matrix[,x],97.5) - single column from a t distribution
#Created and updated by Santhilal Subhash on 2016/06/07 
CI_normal &lt;- function(li,stat)
{
	cat(paste0(&quot;CI&quot;,&quot;\t&quot;,&quot;column&quot;,&quot;\t&quot;,&quot;Lower.limit&quot;,&quot;\t&quot;,&quot;Upper.limit&quot;,&quot;\n&quot;))
	if(length(colnames(li))&gt;1)
	{
		for(i in 1:length(colnames(li)))
		{
			sample &lt;- colnames(li)
			error &lt;- qnorm(stat/100)*sd(li[,i])/sqrt(length(li[,i]))
			left &lt;- mean(li[,i])-error
			right &lt;- mean(li[,i])+error
			cat(paste0(stat,&quot;% norm dist&quot;,&quot;\t&quot;,sample[i],&quot;\t&quot;,left,&quot;\t&quot;,right,&quot;\n&quot;))

		}
	}
	else{
		error &lt;- qnorm(stat/100)*sd(li)/sqrt(length(li))
		left &lt;- mean(li)-error
		right &lt;- mean(li)+error
		cat(paste0(stat,&quot;% norm dist&quot;,&quot;\tNA&quot;,&quot;\t&quot;,left,&quot;\t&quot;,right,&quot;\n&quot;))

	}

}
CI_tdist &lt;- function(li,stat)
{
	cat(paste0(&quot;CI&quot;,&quot;\t&quot;,&quot;column&quot;,&quot;\t&quot;,&quot;Lower.limit&quot;,&quot;\t&quot;,&quot;Upper.limit&quot;,&quot;\n&quot;))
	if(length(colnames(li))&gt;1)
	{
		for(i in 1:length(colnames(li)))
		{
			sample &lt;- colnames(li)
			error &lt;- qt(stat/100,df=length(li[,i])-1)*sd(li[,i])/sqrt(length(li[,i]))
			left &lt;- mean(li[,i])-error
			right &lt;- mean(li[,i])+error
			cat(paste0(stat,&quot;% t-dist&quot;,&quot;\t&quot;,sample[i],&quot;\t&quot;,left,&quot;\t&quot;,right,&quot;\n&quot;))

		}
	}
	else{

		error &lt;- qt(stat/100,df=length(li)-1)*sd(li)/sqrt(length(li))
		left &lt;- mean(li)-error
		right &lt;- mean(li)+error
		cat(paste0(stat,&quot;% t-dist&quot;,&quot;\tNA&quot;,&quot;\t&quot;,left,&quot;\t&quot;,right,&quot;\n&quot;))

	}

}</code>]]></description>
	<dc:creator>EagleEye</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/snippets/view/28043/rpkm-normalization-perl</guid>
	<pubDate>Fri, 24 Jun 2016 17:53:09 -0500</pubDate>
	<link>https://bioinformaticsonline.com/snippets/view/28043/rpkm-normalization-perl</link>
	<title><![CDATA[RPKM normalization - Perl]]></title>
	<description><![CDATA[<code>#!/usr/bin/perl
#use strict;
#use warnings;
#Author: Santhilal Subhash
#Contact: santhilal.subhash@gu.se
#RPKM for RNAseq V1.3
#USAGE for sample input provided: perl rpkm_script_beta.pl sample_count_test.count 2:9 15 &gt; sample_count_test.rpkm
#USAGE: perl rpkm_script_beta.pl input_count_file.txt ActualColumnStart:ActualColumnEnd ColumnGeneLength &gt; results.rpkm
open $fh1, &#039;&lt;&#039;, $ARGV[0] or die $!;
open $fh2, &#039;&lt;&#039;, $ARGV[0] or die $!;
$total = 0;
$count = 0;
$cols=$ARGV[1];
$len_col=$ARGV[2];
while (&lt;$fh1&gt;) 
{
	@array=split(&quot;\t&quot;);
	($cstart,$cend)=split(&quot;:&quot;,$cols);
	for($i=$cstart-1;$i&lt;=$cend-1;$i++)
	{
		$libarray[$i] += $array[$i];
	}
}

while (&lt;$fh2&gt;) 
{
	$next = &lt;&gt;;
	if ($next =~ /^#/) 
	{
		$header=$next;
		$header =~ s/#//;
		print &quot;$header&quot;;
	}
	if ($next !~ /^#/) 
	{

 		@array=split(&quot;\t&quot;);
  		($cstart,$cend)=split(&quot;:&quot;,$cols);
  		for($i=$cstart-1;$i&lt;=$cend-1;$i++)

		{
			if($array[$i]!=0)
			{
				$array_rpkm[$i]=((1000000000*$array[$i])/($libarray[$i]*$array[$len_col-1]));
			}
			else
			{
				$array_rpkm[$i]=0;
			}
		}
			local $&quot; = &quot;\t&quot;;
				
		print &quot;$array[$cstart-2]@array_rpkm\t@array[$cend..$#array]&quot;;
	}
}</code>]]></description>
	<dc:creator>EagleEye</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/snippets/view/28042/rpkm-normalization-r-script</guid>
	<pubDate>Fri, 24 Jun 2016 17:45:55 -0500</pubDate>
	<link>https://bioinformaticsonline.com/snippets/view/28042/rpkm-normalization-r-script</link>
	<title><![CDATA[RPKM normalization- R script]]></title>
	<description><![CDATA[<code>P&lt;-read.table(&quot;input_table.txt&quot;,sep=&quot;\t&quot;,header=T)

len &lt;- ncol(p)

rownames(p) &lt;- p[,1]

for(i in 2:ncol(p)-1)

{

d &lt;-p[,i]

l &lt;- p[,len] #accessing the length column

cS &lt;- sum(as.numeric(p[,i])) #Total mapped reads per sample 

rpkm[[i]] &lt;- (10^9)*(as.numeric(p[,i]))/(as.numeric(l)*cS)

rpkm[[1]] &lt;- p[[1]]

}

write.table(rpkm,&quot;output_table_rpkm.txt&quot;,sep=&quot;\t&quot;,quote=F,row.names=F)​</code>]]></description>
	<dc:creator>EagleEye</dc:creator>
</item>

</channel>
</rss>