Mercurial > repos > plus91-technologies-pvt-ltd > softsearch
view 2.4/src/Annotate_SoftSearch.pl @ 18:1163c16cb3c0 draft
Uploaded
author | plus91-technologies-pvt-ltd |
---|---|
date | Mon, 02 Jun 2014 07:35:53 -0400 |
parents | e3609c8714fb |
children |
line wrap: on
line source
#!/usr/bin/perl open(VCF,"$ARGV[0]")||die "Usage: <VCF> <Annotation.bed>\n\n\t\t The annotation BED should be of exons\n"; $bedtools=`which intersectBed`; if(!$bedtools){die "Requires Bedtools in path\n\n"} if(!$ARGV[1]){die "Usage: <VCF> <Annotation.bed>\n\n";} while (<VCF>){ if($_=~/^#/){print;next} chomp; @data=split(/\t/,$_); #Get left pair information $chr1=$data[0]; $pos1a=$data[1]-1; $pos1b=$data[1]; #Get right pair information $data[4]=~s/[ACTGactghr\[\]]//g;#$data[4]=~s/hr/chr/; @pos2=split(/:/,$data[4]); $chr2="chr"; $chr2.=$pos2[0]; $pos2a=$pos2[1]-1; $pos2b=$pos2[1]; #Now get left side annotations # #print "LEFT=get_anno($chr1,$pos1a,$pos1b)\n"; $left_gene=get_anno($chr1,$pos1a,$pos1b); #print "RIGHT=get_anno($chr2,$pos2a,$pos2b)\n"; $right_gene=get_anno($chr2,$pos2a,$pos2b); print "$_\t$left_gene\t$right_gene\n"; } close VCF; sub get_anno(){ my ($chr,$pos1,$pos2)=@_; $result=`perl -e 'if(($chr)&&($pos1)&&($pos2)){print join(\"\\t\",$chr,$pos1,$pos2,\"\\n\")}else {print STDERR "Not all variables defined: chr,pos1,pos2=$chr,$pos1,$pos2\n$_\n"}'|intersectBed -a $ARGV[1] -b stdin|cut -f4|head -1`; $result=~chomp;$result=~s/\n//; if(!$result){$result="NA"}; return $result; }