Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • boetsie
    Senior Member
    • Feb 2010
    • 245

    #16
    Here you go. You had a mistake in your code, you took the third column as your contig in this line;

    my $contig = $s[2];

    while the contig was in the second column.

    In addition, since you only have a subset of your data, you'll get these warnings. I removed the use warnings line. Run the script as;

    perl script.pl Sample_aligned_reads.txt sample_contig.txt

    Code:
    #!usr/bin/perl-w
    use strict;
    
    open(SAM,$ARGV[0]);
    my %hash = ();
    while(<SAM>){
      chomp;
      next if($_ =~ /^@/); ## remove the headers in sam file
      #split the line and obtain the read and contig
      my ($read,$contig,$sequence) =split;
    #split the read on the '|' character, to obtain the weight
      my (undef, $weight) = split(/\|/,$read);
    #save the total number of reads and clusters in the hash
      $hash{$contig}{'clusters'}++;
      $hash{$contig}{'total'}+=$weight;
    }
    close SAM;
    
    
    open(CTG,$ARGV[1]);
    my ($contigSeq,$prevhead) = ("","");
    while(<CTG>){
      chomp;
      $contigSeq.= $_ if(eof(CTG));
      if (/\>(\S+)/ || eof(CTG)){
         my $head=$1;
         if($contigSeq ne ''){
           #$contigSeq is the contig sequence, $prevhead is your contig
           my $len = length($contigSeq);
           #Now print the results
           print "$prevhead\t$len\t$hash{$prevhead}{'clusters'}\t$hash{$prevhead}{'total'}\t$contigSeq\n" if(defined $hash{$prevhead});
         }
         $prevhead = $head;
         $contigSeq='';
      }else{
         $contigSeq .= $_;
      }
    }
    close CTG;

    Comment

    • bambus
      Member
      • Nov 2013
      • 20

      #17
      Yes,I am sorry forgot to mention , I modified the data while extracting the columns of interest from original SAM file,but now I executed the script on complete data files.

      Again I will try with this modified script.

      Comment

      • bambus
        Member
        • Nov 2013
        • 20

        #18
        Oh great! its working,thank you very much.

        Comment

        • boetsie
          Senior Member
          • Feb 2010
          • 245

          #19
          Great, good luck with your analysis.

          Comment

          • bambus
            Member
            • Nov 2013
            • 20

            #20
            Thank you once again.

            Comment

            Latest Articles

            Collapse

            ad_right_rmr

            Collapse

            News

            Collapse

            Topics Statistics Last Post
            Started by SEQadmin2, Yesterday, 11:58 AM
            0 responses
            10 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-05-2026, 10:09 AM
            0 responses
            25 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-04-2026, 08:59 AM
            0 responses
            35 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-02-2026, 12:03 PM
            0 responses
            58 views
            0 reactions
            Last Post SEQadmin2  
            Working...