<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4183898802211940998</id><updated>2011-11-27T16:41:39.697-08:00</updated><title type='text'>Bioscript</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bioscript.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4183898802211940998/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bioscript.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/14658964544887212629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4183898802211940998.post-4786360588404767441</id><published>2007-06-02T07:24:00.000-07:00</published><updated>2008-02-01T02:40:04.340-08:00</updated><title type='text'>Primer Designing  on  Metallothionein</title><content type='html'>&lt;strong&gt;Description&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Metallothionein (MT) is ubiquitously low molecular weight cys-rich metalloproteins, which functionally play a vital role in absorption of heavy metal ion in both vertebrates and plants. They are thought to play roles both in the intracellular fixation of the essential trace elements, zinc and copper, neutralizing the harmful influences of exposure to toxic elements such as cadmium and mercury and in the protection from a variety of stress conditions (1). The aim of the present algorithm is to identify the primer sequence without any user intervention. This algorithm identifies the gene region by unique metallothionein signature sites, which are derived using MSA (multiple sequence alignment) on available metallothionein vertebrate protein sequence. The algorithm identifies the exact location of start region and end region of the Mt gene without any user intervention.&lt;br /&gt;&lt;a href="http://tinyurl.com/2dsgu9"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The appropriateness of the primers must meet the following requirements (2,3)(i) primer sequence should have 45-65% GC content; (ii) the annealing temperature of each primer should match and be within a 45-75ºC range; (iii) the primer should be able to form G/C clamps; (iv) at the 3’ end, there should not three or more G or C bases; (v) primers should not have a tendency to form secondary structure; (vi) mis-priming should be avoided&lt;br /&gt;&lt;br /&gt;The algorithm automates the primer length according to the gene range, and algorithm calculates an overall presence of all the nucleotides in the given primer by which the program calculates the GC% of the given gene.&lt;br /&gt;&lt;br /&gt;If ‘n’ were the length of the primer, GC% is calculated by the formula&lt;br /&gt;&lt;br /&gt;GC %=[( G+C)/n]*100&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Since the value of both GC and AT is known using the calculation of temperature for the primer using the formula is&lt;br /&gt;Tm=2(A+T) +4(G+C)&lt;br /&gt;The primers are filtered following this process if the primer is having GC% in the range &gt;40 and &lt;60,&gt;50 and &lt;65,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.geocities.com/loyolite112000/Jprimer.zip"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4183898802211940998-4786360588404767441?l=bioscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bioscript.blogspot.com/feeds/4786360588404767441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4183898802211940998&amp;postID=4786360588404767441' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4183898802211940998/posts/default/4786360588404767441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4183898802211940998/posts/default/4786360588404767441'/><link rel='alternate' type='text/html' href='http://bioscript.blogspot.com/2007/06/primer-designing-on-metallothionein.html' title='Primer Designing  on  Metallothionein'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/14658964544887212629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4183898802211940998.post-1155825700728392066</id><published>2007-05-04T07:27:00.000-07:00</published><updated>2007-11-20T05:21:05.722-08:00</updated><title type='text'>Bioperl Scripts</title><content type='html'>&lt;textarea name="message" rows="25"&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;# Extract sequence chains from PDB file&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Read in PDB file:  Warning - some files are very large!&lt;br /&gt;print "Enter Pdb file name,\n"; &lt;br /&gt;my $filename =&lt;STDIN&gt;;&lt;br /&gt;&lt;br /&gt;  chomp $filename;&lt;br /&gt;    unless(-e $filename) {&lt;br /&gt;     print "$filename does not exist!\n";&lt;br /&gt; exit;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my @file = get_file_data($filename);&lt;br /&gt;&lt;br /&gt;# Parse the record types of the PDB file&lt;br /&gt;my %recordtypes = parsePDBrecordtypes(@file);&lt;br /&gt;&lt;br /&gt;# Extract the amino acid sequences of all chains in the protein&lt;br /&gt;my @chains = extractSEQRES( $recordtypes{'SEQRES'} );&lt;br /&gt;&lt;br /&gt;# Translate the 3-character codes to 1-character codes, and print&lt;br /&gt;foreach my $chain (@chains) {&lt;br /&gt;    print "$chain\n";&lt;br /&gt;    print iub3to1($chain), "\n";&lt;br /&gt;}&lt;br /&gt;print "Press &lt;Enter&gt; to exit";&lt;br /&gt;&lt;STDIN&gt;;&lt;br /&gt;exit;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# parsePDBrecordtypes&lt;br /&gt;#&lt;br /&gt;#-given an array of a PDB file, return a hash with&lt;br /&gt;#    keys   = record type names&lt;br /&gt;#    values = scalar containing lines for that record type &lt;br /&gt;&lt;br /&gt;sub parsePDBrecordtypes {&lt;br /&gt;&lt;br /&gt;    my @file = @_;&lt;br /&gt;&lt;br /&gt;    use strict;&lt;br /&gt;    use warnings;&lt;br /&gt;    &lt;br /&gt;    my %recordtypes = (  );&lt;br /&gt;    &lt;br /&gt;    foreach my $line (@file) {&lt;br /&gt;    &lt;br /&gt;        # Get the record type name which begins at the&lt;br /&gt;        # start of the line and ends at the first space&lt;br /&gt;&lt;br /&gt;        # The pattern (\S+) is returned and saved in $recordtype&lt;br /&gt;        my($recordtype) = ($line =~ /^(\S+)/);&lt;br /&gt;    &lt;br /&gt;        # .= fails if a key is undefined, so we have to&lt;br /&gt;        # test for definition and use either .= or = depending&lt;br /&gt;        if(defined $recordtypes{$recordtype} ) {&lt;br /&gt;            $recordtypes{$recordtype} .= $line;&lt;br /&gt;        }else{&lt;br /&gt;            $recordtypes{$recordtype} = $line;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    return %recordtypes;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# extractSEQRES&lt;br /&gt;#&lt;br /&gt;#-given an scalar containing SEQRES lines,&lt;br /&gt;#    return an array containing the chains of the sequence&lt;br /&gt;&lt;br /&gt;sub extractSEQRES {&lt;br /&gt;&lt;br /&gt;    use strict;&lt;br /&gt;    use warnings;&lt;br /&gt;&lt;br /&gt;    my($seqres) = @_;&lt;br /&gt;&lt;br /&gt;    my $lastchain = '';&lt;br /&gt;    my $sequence = '';&lt;br /&gt;    my @results = (  );&lt;br /&gt;    # make array of lines&lt;br /&gt;&lt;br /&gt;    my @record = split ( /\n/, $seqres);&lt;br /&gt;    &lt;br /&gt;    foreach my $line (@record) {&lt;br /&gt;        # Chain is in column 12, residues start in column 20&lt;br /&gt;        my ($thischain) = substr($line, 11, 1);&lt;br /&gt;        my($residues)  = substr($line, 19, 52); # add space at end&lt;br /&gt;    &lt;br /&gt;        # Check if a new chain, or continuation of previous chain&lt;br /&gt;        if("$lastchain" eq "") {&lt;br /&gt;            $sequence = $residues;&lt;br /&gt;        }elsif("$thischain" eq "$lastchain") {&lt;br /&gt;            $sequence .= $residues;&lt;br /&gt;    &lt;br /&gt;        # Finish gathering previous chain (unless first record)&lt;br /&gt;        }elsif ( $sequence ) {&lt;br /&gt;            push(@results, $sequence);&lt;br /&gt;            $sequence = $residues;&lt;br /&gt;        }&lt;br /&gt;        $lastchain = $thischain;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # save last chain&lt;br /&gt;    push(@results, $sequence);&lt;br /&gt;    &lt;br /&gt;    return @results;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# iub3to1&lt;br /&gt;#&lt;br /&gt;#-change string of 3-character IUB amino acid codes (whitespace separated)&lt;br /&gt;#    into a string of 1-character amino acid codes&lt;br /&gt;&lt;br /&gt;sub iub3to1 {&lt;br /&gt;&lt;br /&gt;    my($input) = @_;&lt;br /&gt;    &lt;br /&gt;    my %three2one = (&lt;br /&gt;      'ALA' =&gt; 'A',&lt;br /&gt;      'VAL' =&gt; 'V',&lt;br /&gt;      'LEU' =&gt; 'L',&lt;br /&gt;      'ILE' =&gt; 'I',&lt;br /&gt;      'PRO' =&gt; 'P',&lt;br /&gt;      'TRP' =&gt; 'W',&lt;br /&gt;      'PHE' =&gt; 'F',&lt;br /&gt;      'MET' =&gt; 'M',&lt;br /&gt;      'GLY' =&gt; 'G',&lt;br /&gt;      'SER' =&gt; 'S',&lt;br /&gt;      'THR' =&gt; 'T',&lt;br /&gt;      'TYR' =&gt; 'Y',&lt;br /&gt;      'CYS' =&gt; 'C',&lt;br /&gt;      'ASN' =&gt; 'N',&lt;br /&gt;      'GLN' =&gt; 'Q',&lt;br /&gt;      'LYS' =&gt; 'K',&lt;br /&gt;      'ARG' =&gt; 'R',&lt;br /&gt;      'HIS' =&gt; 'H',&lt;br /&gt;      'ASP' =&gt; 'D',&lt;br /&gt;      'GLU' =&gt; 'E',&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;    # clean up the input&lt;br /&gt;    $input =~ s/\n/ /g;&lt;br /&gt;&lt;br /&gt;    my $seq = '';&lt;br /&gt;    &lt;br /&gt;    # This use of split separates on any contiguous whitespace&lt;br /&gt;    my @code3 = split(' ', $input);&lt;br /&gt;&lt;br /&gt;    foreach my $code (@code3) {&lt;br /&gt;        # A little error checking&lt;br /&gt;        if(not defined $three2one{$code}) {&lt;br /&gt;            print "Code $code not defined\n";&lt;br /&gt;            next;&lt;br /&gt;        }&lt;br /&gt;        $seq .= $three2one{$code};&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;sub get_file_data {&lt;br /&gt;&lt;br /&gt;    my($filename) = @_;&lt;br /&gt;&lt;br /&gt;    use strict;&lt;br /&gt;    use warnings;&lt;br /&gt;&lt;br /&gt;    # Initialize variables&lt;br /&gt;    my @filedata = (  );&lt;br /&gt;&lt;br /&gt;    unless( open(GET_FILE_DATA, $filename) ) {&lt;br /&gt;        print STDERR "Cannot open file \"$filename\"\n\n";&lt;br /&gt;        exit;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    @filedata = &lt;GET_FILE_DATA&gt;;&lt;br /&gt;&lt;br /&gt;    close GET_FILE_DATA;&lt;br /&gt;&lt;br /&gt;    return @filedata;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    return $seq;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Links&lt;br /&gt;&lt;br /&gt;&lt;stdin&gt;&lt;A href="http://julian92.tripod.com/chain_pl"&gt;Extract sequence chains from PDB file&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4183898802211940998-1155825700728392066?l=bioscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bioscript.blogspot.com/feeds/1155825700728392066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4183898802211940998&amp;postID=1155825700728392066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4183898802211940998/posts/default/1155825700728392066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4183898802211940998/posts/default/1155825700728392066'/><link rel='alternate' type='text/html' href='http://bioscript.blogspot.com/2007/05/bioperl-scripts.html' title='Bioperl Scripts'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/14658964544887212629</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
