#!/usr/bin/perl #================================= #Script to split fasta file based on text file of sequence ids. #Questions/commments to brian oakley at ars.usda dot gov #k.purdy at warwick.ac dot uk #================================= use Bio::DB::Fasta; my $usage = "\nUsage: $0 fastafile textfile\n\n"; my $fastaFile = $ARGV[0] or die $usage; chomp (my $queryFile = $ARGV[1]); my $db = Bio::DB::Fasta->new( $fastaFile ); open (IN, $queryFile); while (){ chomp; $seq = $_; my $sequence = $db->seq($seq); if (defined( $sequence )) { print ">$seq\n", "$sequence\n"; } if (!defined( $sequence )) { open (OUT, ">>seqs_not_found.txt"); print (OUT $seq,"\n"); } }