Sponsored Content
Full Discussion: Add static text in perl
Top Forums Shell Programming and Scripting Add static text in perl Post 302965835 by cmccabe on Wednesday 3rd of February 2016 01:05:04 PM
Old 02-03-2016
The complete program is below with the only thing not working is the static text. Thank you Smilie.

Code:
 #!/bin/perl
   use strict;
   my %nms=("NM_004004.5"=>"AR","NM_004992.3"=>"XLD","NM_003924.3"=>"AD");  # match NM and inheritence with gene
    
 # Accept the input and output files as parameters
       my $input_file = $ARGV[0];
       my $output_file = $ARGV[1];
     
       # Set the header columns to be added to the left
       # and to the right of the header in the input file
      my @left =  (
                       "Index",
                       "Chromosome Position",
                       "Gene",
                       "Inheritance",
                       "RNA Accession",
                       "Chr",
                       "Coverage",
                       "Score",
                       "A(#F,#R)",
                       "C(#F,#R)",
                       "G(#F,#R)",
                       "T(#F,#R)",
                       "Ins(#F,#R)",
                       "Del(#F,#R)",
                       "SNP db_xref",
                       "Mutation Call",
                       "Mutant Allele Frequency",
                       "Amino Acid Change"
                  );
      my @right = (
                      "HP",
                      "SPLICE",
                      "Pseudogene",
                      "Classification",
                      "HGMD",
                      "Disease",
                      "Sanger",
                      "References"
                  );
    
      # open the input file, read the header line and sandwich it
      # between @left and @right arrays
      my $final_header;
      open (FH, "<", $input_file) or die "Can't open $input_file: $!";
   chomp(my $hdr=<FH>);
       $final_header = sprintf("%s\t%s\t%s\n", join("\t", @left), $hdr, join("\t",@right));
       # final header is set, print it to the output file
      open (OF, ">", $output_file) or die "Can't open $output_file: $!";
      print OF "$final_header";
     # close (FH) or die "Can't close $output_file: $!";
   
    my @colsleft = map "Null",(1..$#left);   
    my @colsright = map "Null",(0..$#right);  
      
   while(<FH>)  {  # puts row of input file into $_ 
   chomp;
   my @vals = split/\t/; # this splits the line at tabs
   my @mutations=split/,/,$vals[9]; # splits on comma to create an array of mutations
   my ($gene,$transcript,$exon,$coding,$aa);
   for (@mutations)
   { 
   ($gene,$transcript,$exon,$coding,$aa) = split/\:/; # this takes col AB and splits it at colons
    grep {$transcript eq $_} keys %nms or next;
  }
  # warn join ("\t",$gene,$transcript,$exon,$coding,$aa);
  my $classification = "VUS";
  my @out=($.,@colsleft,$_,@colsright);
  $out[2]=$gene;
  $out[3]=$nms{$transcript};
  $out[4]=$transcript;
  $out[15]=$coding;
  $out[17]=$aa;
  $out[45]=$classification;
  
  #print OF join("\t",$.,@colsleft,$_,@colsright),"\n";   # row data is set, print it to the output file  
  print OF join("\t",@out),"\n";   # row data is set, print it to the output file   
     }

 

10 More Discussions You Might Find Interesting

1. Solaris

Add Static Routes to new physical address

Hi, I need help to add new route: 10.252.0.138, GW 10.252.0.129 to e1000g1 and 10.252.0.10, GW 10.252.0.1 to e1000g2 tnx (4 Replies)
Discussion started by: mehrdad68
4 Replies

2. Red Hat

permanently add static route

I have a machine with an interface that has two different addresses on CentOS 5 eth0: 10.20.21.77 eth0:1 141.218.1.221 If I issue this command I get the result I'm looking for. /sbin/route add -net 141.218.1.0 netmask 255.255.255.0 gw 10.20.21.77 ip route show dev eth0 141.218.1.0/24... (1 Reply)
Discussion started by: beaker457
1 Replies

3. Shell Programming and Scripting

How to add static lines to short file?

I've got a simple log file that looks something like this: And I need to append it to look like this: So I just want to add a timestamp and a static (non-variable) word to each line in the file. Is there an easy scripted way to cat the file and append that data to each line....?? (4 Replies)
Discussion started by: kevinmccallum
4 Replies

4. IP Networking

I need HELP to Set up Coyote Linux router with 1 static IP & 64 internal static IP

hello, i need help on setting my coyote linux, i've working on this for last 5 days, can't get it to work. I've been posting this message to coyote forum, and other linux forum, but haven't get any answer yet. Hope someone here can help me...... please see my attached picture first. ... (0 Replies)
Discussion started by: dlwoaud
0 Replies

5. Shell Programming and Scripting

Removing text between two static strings

Hi everyone, I need to replace the text between two strings (html tags) and I'm having trouble figuring out how to do so. I can display the text with sed but I'm not having any luck deleting the text between the two strings. My file looks like this: <oths>test</oths><div class="text">1928... (2 Replies)
Discussion started by: cg2
2 Replies

6. UNIX for Advanced & Expert Users

Static code analysis for Perl

As an addition to our ongoing investigation into static code analysis tools for a Perl programming we are maintaining, can anyone recommend a certain tool that he/she is experienced with? We are already actively using perl::critic (Perl::Critic) and rats... (2 Replies)
Discussion started by: figaro
2 Replies

7. Programming

Even the Static cURL Library Isn't Static

I'm writing a program which uses curl to be run on Linux PCs which will be used by a number of different users. I cannot make the users all install curl on their individual machines, so I have tried to link curl in statically, rather than using libcurl.so. I downloaded the source and created a... (8 Replies)
Discussion started by: BrandonShw
8 Replies

8. Programming

Perl find text and add line

Hi All I need to add a line to a file but after a certain block of text is found The block of text looks like this <RDF:Description RDF:about="urn:mimetype:video/quicktime" NC:value="video/quicktime" and i need to add this in the next line down ( note there is... (4 Replies)
Discussion started by: ab52
4 Replies

9. Shell Programming and Scripting

awk to skip lines find text and add text based on number

I am trying to use awk skip each line with a ## or # and check each line after for STB= and if that value in greater than or = to 0.8, then at the end of line the text "STRAND BIAS" is written in else "GOOD". So in the file of 4 entries attached. awk tried: awk NR > "##"' "#" -F"STB="... (6 Replies)
Discussion started by: cmccabe
6 Replies

10. Shell Programming and Scripting

How to add line breaks to perl command with large text in single quotes?

Below code extracts multiple field values from XML into array and prints all in one line. perl -nle '@r=/(?: jndiName| authDataAlias| value| minConnections| maxConnections| connectionTimeout| name)="(+)/g and print join ",",$ENV{tIPnSCOPE},$ENV{pr ovider},$ENV{impClassName},@r' server.xml ... (4 Replies)
Discussion started by: kchinnam
4 Replies
Bio::Index::Qual(3pm)					User Contributed Perl Documentation				     Bio::Index::Qual(3pm)

NAME
Bio::Index::Qual - Interface for indexing (multiple) fasta qual files SYNOPSIS
# Complete code for making an index for several # qual files use Bio::Index::Qual; use strict; my $Index_File_Name = shift; my $inx = Bio::Index::Qual->new( '-filename' => $Index_File_Name, '-write_flag' => 1); $inx->make_index(@ARGV); # Print out several sequences present in the index # in Qual format use Bio::Index::Qual; use strict; my $Index_File_Name = shift; my $inx = Bio::Index::Qual->new('-filename' => $Index_File_Name); my $out = Bio::SeqIO->new('-format' => 'qual','-fh' => *STDOUT); foreach my $id (@ARGV) { my $seq = $inx->fetch($id); # Returns Bio::Seq object $out->write_seq($seq); } # or, alternatively my $id; my $seq = $inx->get_Seq_by_id($id); #identical to fetch DESCRIPTION
Inherits functions for managing dbm files from Bio::Index::Abstract.pm, and provides the basic funtionallity for indexing qual files, and retrieving the sequence from them. For best results 'use strict'. Bio::Index::Qual supports the Bio::DB::BioSeqI interface, meaning it can be used as a Sequence database for other parts of bioperl Additional example code is available in scripts/index/*PLS and in the Bioperl Tutorial (<http://www.bioperl.org/wiki/Bptutorial.pl>). Note that by default the key for the sequence will be the first continuous string after the '>' in the qual header. If you want to use a specific substring of the qual header you must use the id_parser() method. You can also set or customize the unique key used to retrieve by writing your own function and calling the id_parser() method. For example: $inx->id_parser(&get_id); # make the index $inx->make_index($file_name); # here is where the retrieval key is specified sub get_id { my $line = shift; $line =~ /^(d+)/; $1; } FEED_BACK Mailing Lists User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists Support Please direct usage questions or support issues to the mailing list: bioperl-l@bioperl.org rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible. Reporting Bugs Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web: https://redmine.open-bio.org/projects/bioperl/ AUTHOR - James Gilbert, Mark Johnson Email - jgrg@sanger.ac.uk, mjohnson@watson.wustl.edu APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ _file_format Title : _file_format Function: The file format for this package, which is needed by the SeqIO system when reading the sequence. Returns : 'qual' _index_file Title : _index_file Usage : $index->_index_file( $file_name, $i ) Function: Specialist function to index QUAL format files. Is provided with a filename and an integer by make_index in its SUPER class. Example : Returns : Args : id_parser Title : id_parser Usage : $index->id_parser( CODE ) Function: Stores or returns the code used by record_id to parse the ID for record from a string. Useful for (for instance) specifying a different parser for different flavours of Qual file. Returns &default_id_parser (see below) if not set. If you supply your own id_parser subroutine, then it should expect a qual description line. An entry will be added to the index for each string in the list returned. Example : $index->id_parser( &my_id_parser ) Returns : ref to CODE if called without arguments Args : CODE default_id_parser Title : default_id_parser Usage : $id = default_id_parser( $header ) Function: The default Qual ID parser for Qual.pm Returns $1 from applying the regexp /^>s*(S+)/ to $header. Returns : ID string Args : a qual header line string perl v5.14.2 2012-03-02 Bio::Index::Qual(3pm)
All times are GMT -4. The time now is 01:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy