
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rajkumar.in/index.php?action=history&amp;feed=atom&amp;title=Fetch_scaf.pl</id>
	<title>Fetch scaf.pl - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.rajkumar.in/index.php?action=history&amp;feed=atom&amp;title=Fetch_scaf.pl"/>
	<link rel="alternate" type="text/html" href="https://www.rajkumar.in/index.php?title=Fetch_scaf.pl&amp;action=history"/>
	<updated>2026-07-09T18:58:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://www.rajkumar.in/index.php?title=Fetch_scaf.pl&amp;diff=991&amp;oldid=prev</id>
		<title>Raj: New page: &lt;source lang=perl&gt;  #! /usr/bin/perl -w  # ************************************************************* # This Programme does the following in sequence # -&gt; Parse the co-ordinates files #...</title>
		<link rel="alternate" type="text/html" href="https://www.rajkumar.in/index.php?title=Fetch_scaf.pl&amp;diff=991&amp;oldid=prev"/>
		<updated>2009-12-29T20:08:56Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;lt;source lang=perl&amp;gt;  #! /usr/bin/perl -w  # ************************************************************* # This Programme does the following in sequence # -&amp;gt; Parse the co-ordinates files #...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=perl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#! /usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
# *************************************************************&lt;br /&gt;
# This Programme does the following in sequence&lt;br /&gt;
# -&amp;gt; Parse the co-ordinates files&lt;br /&gt;
# -&amp;gt; Select the scaffolds&lt;br /&gt;
# -&amp;gt; Mark the specific region&lt;br /&gt;
# -&amp;gt; Add 300bp on both the sides&lt;br /&gt;
# -&amp;gt; Fetch the scaffolds as fasta and then as a multifasta &lt;br /&gt;
# Author : Rajkumar (itc@rajkumar.in)&lt;br /&gt;
# Release: DEC 2009&lt;br /&gt;
# *************************************************************&lt;br /&gt;
&lt;br /&gt;
# Libraries&lt;br /&gt;
	use strict;&lt;br /&gt;
	use Bio::Perl;&lt;br /&gt;
	use Bio::SearchIO;&lt;br /&gt;
&lt;br /&gt;
# At the top: Time Start&lt;br /&gt;
	my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);&lt;br /&gt;
&lt;br /&gt;
# Variables&lt;br /&gt;
	my $path          = &amp;quot;/home/raj/bio&amp;quot;;&lt;br /&gt;
	my $scafdir       = &amp;quot;$path/euca/data/grandis/scaffold/trim&amp;quot;;&lt;br /&gt;
	my $blastdir      = &amp;quot;$path/euca/blast&amp;quot;;&lt;br /&gt;
	my $resdir        = &amp;quot;$blastdir/scaffold&amp;quot;;&lt;br /&gt;
	my $scaf_coor     = &amp;quot;$blastdir/scaf_coor_curated.stat&amp;quot;;&lt;br /&gt;
	my $addbp         = &amp;quot;300&amp;quot;;&lt;br /&gt;
	my $scaf_ssr_dir  = &amp;quot;$path/euca/data/grandis/scaffold/ssr&amp;quot;;&lt;br /&gt;
	my $scaf_ssr      = &amp;quot;$scaf_ssr_dir/scaf_ssr.fa&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	my ($i, $file, $file_)= $_;&lt;br /&gt;
	my (@files, @files1, @array)   = @_;&lt;br /&gt;
	&lt;br /&gt;
# Parsing Functions&lt;br /&gt;
&lt;br /&gt;
	# Having the required dir&lt;br /&gt;
	if (-e &amp;quot;$resdir&amp;quot;) {`rm -fr $resdir`;}&lt;br /&gt;
	if (! -e &amp;quot;$resdir&amp;quot;) {`mkdir $resdir`;}&lt;br /&gt;
	if (-e &amp;quot;$scaf_ssr_dir&amp;quot;) {`rm -fr $scaf_ssr_dir`;}&lt;br /&gt;
	if (! -e &amp;quot;$scaf_ssr_dir&amp;quot;) {`mkdir $scaf_ssr_dir`;}	&lt;br /&gt;
	&lt;br /&gt;
	foreach my $line (split (&amp;quot;\n&amp;quot;, `cat $scaf_coor`)) {&lt;br /&gt;
	&lt;br /&gt;
		my ($scaf_id, $start, $end) = split(/\t/, $line);&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		# Adding 300bp on both the sides&lt;br /&gt;
		my $length = ();&lt;br /&gt;
		my $math   = $start-$addbp;&lt;br /&gt;
		if ($math &amp;gt; 0) {&lt;br /&gt;
			$start  = $start - $addbp;&lt;br /&gt;
			$length = $end - $start + $addbp;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		else {&lt;br /&gt;
			$length = $end - $start + $addbp;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		# Get the scaffolds&lt;br /&gt;
		opendir (DIR, &amp;quot;$scafdir&amp;quot;) or die $!;&lt;br /&gt;
		@files = readdir(DIR);&lt;br /&gt;
		close(DIR);&lt;br /&gt;
		foreach my $file(@files) {&lt;br /&gt;
			next if ($file !~ m/$scaf_id.txt/g);&lt;br /&gt;
		&lt;br /&gt;
			my $in  = Bio::SeqIO-&amp;gt;new(-file =&amp;gt; &amp;quot;$scafdir/$file&amp;quot;, -format =&amp;gt; &amp;#039;Fasta&amp;#039;);&lt;br /&gt;
			my $identifier;&lt;br /&gt;
			my $sequence;&lt;br /&gt;
	&lt;br /&gt;
			while ( my $seq = $in-&amp;gt;next_seq() ) {&lt;br /&gt;
				$identifier = $seq-&amp;gt;id;&lt;br /&gt;
  				$sequence = $seq-&amp;gt;seq;&lt;br /&gt;
  				&lt;br /&gt;
  				$identifier = &amp;quot;GRAN_&amp;quot;.$identifier;&lt;br /&gt;
  				$sequence = substr($sequence, $start, $length);&lt;br /&gt;
  				&lt;br /&gt;
  				my $fasta = &amp;quot;&amp;gt;$identifier\n$sequence\n&amp;quot;;&lt;br /&gt;
  				open (FH, &amp;quot;&amp;gt;&amp;gt;&amp;quot;.$resdir.&amp;quot;/&amp;quot;.$file);&lt;br /&gt;
				print FH &amp;quot;$fasta&amp;quot;;&lt;br /&gt;
				close FH;&lt;br /&gt;
				&lt;br /&gt;
				print &amp;quot;\tWritten $scaf_id\n&amp;quot;&lt;br /&gt;
  			&lt;br /&gt;
  			}	&lt;br /&gt;
		} &lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	# Make a multifasta of results file&lt;br /&gt;
	opendir (DIR, &amp;quot;$resdir&amp;quot;) or die $!;&lt;br /&gt;
	@files1 = readdir(DIR);&lt;br /&gt;
	close(DIR);&lt;br /&gt;
	foreach my $file1(@files1) {&lt;br /&gt;
		next if ($file1 eq &amp;quot;.&amp;quot;  or $file1 eq &amp;quot;..&amp;quot;);&lt;br /&gt;
		push(@array, &amp;quot;$file1&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		chdir $resdir;&lt;br /&gt;
		`cat @array &amp;gt;$scaf_ssr`;&lt;br /&gt;
	&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	print &amp;quot;\nDone!\n\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# At the End: Time Calculation&lt;br /&gt;
	my ($sec_,$min_,$hour_,$mday_,$mon_,$year_,$wday_,$yday_,$isdst_) = localtime(time);&lt;br /&gt;
	my $days  = $mday_-$mday;&lt;br /&gt;
	my $hours = $hour_-$hour;&lt;br /&gt;
	my $mins  = $min_-$min;&lt;br /&gt;
	my $secs  = $sec_-$sec;&lt;br /&gt;
	print &amp;quot;\n------------------------\nDuration: &amp;quot;;&lt;br /&gt;
	if ($days&amp;gt;0) { print &amp;quot;$days days&amp;quot;;}&lt;br /&gt;
	if ($hours&amp;gt;0) { print &amp;quot;: $hours hours&amp;quot;;}&lt;br /&gt;
	if ($mins&amp;gt;0) { print &amp;quot;: $mins mins&amp;quot;;}&lt;br /&gt;
	if ($secs&amp;gt;0) { print &amp;quot;: $secs secs&amp;quot;;}&lt;br /&gt;
	print &amp;quot;\n------------------------\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# END&lt;br /&gt;
&amp;lt;/perl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Raj</name></author>
	</entry>
</feed>