#!/usr/bin/perl -w #Author: Qunfeng Dong #only extract X or Y sequence from RescueMuGSS.trim #this is used for vmatch to filter out parentials #usage: ./ExtractXYseq.pl RescueMuGSS.trim #output: GridGparental.txt, GridHparental.txt ... use strict; open(G, '>GridG_XYseq.fsa'); open(H, '>GridH_XYseq.fsa'); open(I, '>GridI_XYseq.fsa'); open(K, '>GridK_XYseq.fsa'); open(M, '>GridM_XYseq.fsa'); open(P, '>GridP_XYseq.fsa'); $/ = '>'; open(FILE, "$ARGV[0]") || die ("Cannot open"); while(){ next unless /RescueMu/; chomp; my ($sid, $pid) = /gi\S+\s+(\S+)\s+(\d+)/; next unless ($sid =~ /\.x/ || $sid =~ /\.y/); if($pid eq '1006'){ print G ">$_\n"; }elsif($pid eq '1007'){ print H ">$_\n"; }elsif($pid eq '1008'){ print I ">$_\n"; }elsif($pid eq '3526'){ print K ">$_\n"; }elsif($pid eq '3590'){ print M ">$_\n"; }elsif($pid eq '3591'){ print P ">$_\n"; }else{ print STDERR "$pid Wrong Grid!\n"; exit; } } close(FILE); $/ = "\n";