Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Reads mapping of ends of chromosomes

    First, does anybody have a script that will trim reads that map off the ends of chromosomes in SAM files?

    Second, in case anyone needs a perl script that will 'take care' of reads that map off the ends of chromosomes in BED files I wrote one. Seems like it works. Maybe trivial to some but not bad for a salty old bench scientist. I think it works but I am no scripting expert. If anyone has reason to believe otherwise I'd like to know.

    Code:
    #/usr/bin/perl
    use strict; use warnings;
    
    #bedEndRepair.pl by Ethan Ford.  Use at own risk!!!!!
    
    
    #bedEndRepair.pl:  Takes reads that map off the end of chromosomes in a bed file and repositions them as a two nucleotide read at
    #					end of the chromosome.
    
    #Usage: 1) make a fasta index file with samtools with the following command: 'samtools faidx <ref.fasta>' or
    #			make a 2 column tab deliminted text file. The first column contains the chromosome name written as it is in column 1 of your bed file, e.g. chr1,
    #			and the second column has the length of the corresponding chromosome (and integer)
    
    #		2) type: "perl bedEndRepair.pl path/to/your/indexfile.fai path/to/your/bedfile.bed" into the command line.
    #		3) Output is saved in your current working dirctory with the name yourbedfile.repaired.bed
    
    my $outfile = $ARGV[1];
    $outfile =~ s/\.bed$/\.repaired.bed/;
    open(BEDOUT, ">$outfile") or die("Failed to open output file");
    
    open(INDEXFILE, $ARGV[0]) or die "Failed to open bed file";
    open(BEDFILE, $ARGV[1]) or die "Failed to open index file";
    
    
    # turns indexfile.fai into a hash
    my %indexhash;
    
    while (<INDEXFILE>) {	
    	chomp;
    	my ($indexchr, $indexlength) = split("\t", $_);
    	$indexhash{$indexchr} = $indexlength;
    };
    
    while (<BEDFILE>) {
    	chomp;
    	(my ($chr), my ($start), my ($stop), my ($c4), my ($c5), my ($strand)) = split("\t");
    		
    	if ($start < 1) 
    			{print BEDOUT $chr, "\t", '1', "\t", '2', "\t", $c4, "\t", $c5, "\t", $strand, "\n";}
    			
    	elsif ($stop > $indexhash{"$chr"})
    			{print BEDOUT $chr, "\t", $indexhash{"$chr"}-1, "\t", $indexhash{"$chr"}, "\t", $c4, "\t", $c5, "\t", $strand, "\n";}
    						
    	else
    			{print BEDOUT $chr, "\t", $start, "\t", $stop, "\t", $c4, "\t", $c5, "\t", $strand, "\n";}
    							
    						
    };	
    	
    close (BEDFILE); close (INDEXFILE); close (BEDOUT);
    exit;
    --------------
    Ethan

Latest Articles

Collapse

  • seqadmin
    Strategies for Sequencing Challenging Samples
    by seqadmin


    Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
    03-22-2024, 06:39 AM
  • seqadmin
    Techniques and Challenges in Conservation Genomics
    by seqadmin



    The field of conservation genomics centers on applying genomics technologies in support of conservation efforts and the preservation of biodiversity. This article features interviews with two researchers who showcase their innovative work and highlight the current state and future of conservation genomics.

    Avian Conservation
    Matthew DeSaix, a recent doctoral graduate from Kristen Ruegg’s lab at The University of Colorado, shared that most of his research...
    03-08-2024, 10:41 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by seqadmin, Yesterday, 06:37 PM
0 responses
8 views
0 likes
Last Post seqadmin  
Started by seqadmin, Yesterday, 06:07 PM
0 responses
8 views
0 likes
Last Post seqadmin  
Started by seqadmin, 03-22-2024, 10:03 AM
0 responses
49 views
0 likes
Last Post seqadmin  
Started by seqadmin, 03-21-2024, 07:32 AM
0 responses
67 views
0 likes
Last Post seqadmin  
Working...
X