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
    Essential Discoveries and Tools in Epitranscriptomics
    by seqadmin


    The field of epigenetics has traditionally concentrated more on DNA and how changes like methylation and phosphorylation of histones impact gene expression and regulation. However, our increased understanding of RNA modifications and their importance in cellular processes has led to a rise in epitranscriptomics research. “Epitranscriptomics brings together the concepts of epigenetics and gene expression,” explained Adrien Leger, PhD, Principal Research Scientist on Modified Bases...
    Today, 07:01 AM
  • seqadmin
    Current Approaches to Protein Sequencing
    by seqadmin


    Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
    04-04-2024, 04:25 PM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by seqadmin, 04-11-2024, 12:08 PM
0 responses
37 views
0 likes
Last Post seqadmin  
Started by seqadmin, 04-10-2024, 10:19 PM
0 responses
41 views
0 likes
Last Post seqadmin  
Started by seqadmin, 04-10-2024, 09:21 AM
0 responses
35 views
0 likes
Last Post seqadmin  
Started by seqadmin, 04-04-2024, 09:00 AM
0 responses
54 views
0 likes
Last Post seqadmin  
Working...
X