Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • ETHANol
    Senior Member
    • Feb 2010
    • 308

    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

  • SEQadmin2
    Nine Things a Sample Prep Scientist Thinks About Before Sequencing
    by SEQadmin2


    I’m not a sequencing expert. I’m a purification scientist who uses NGS to evaluate workflows my group develops. With this perspective, we think about the sample first and the NGS workflow second. The sequencer is an exceptionally honest reporter, but it can only report on what you give it, so whether you get clean, interpretable data from an NGS workflow is largely determined before you begin.


    Here are nine questions we think about, in roughly the order they matter, before...
    06-18-2026, 07:11 AM
  • SEQadmin2
    From Collection to Sequencing: Why Sample Preparation and Preservation Define Sequencing Data
    by SEQadmin2


    Data variability is still an issue in sequencing technologies despite the advances in reproducibility and accuracy of these platforms. But the problem does not originate in the sequencing itself, but in the previous steps, before the sample reaches the sequencer.


    The first step is collection, followed by preservation and sample preparation for analysis. Most scientists overlook those steps, but not being careful might just be skewing the experiment’s results.
    ...
    06-02-2026, 10:05 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by SEQadmin2, 06-17-2026, 06:09 AM
0 responses
25 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 06-09-2026, 11:58 AM
0 responses
42 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 06-05-2026, 10:09 AM
0 responses
48 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 06-04-2026, 08:59 AM
0 responses
49 views
0 reactions
Last Post SEQadmin2  
Working...