# Sridhar Ramachandran
# sramacha@cs.wright.edu
# 04/21/2005
# Murugan Samarpanam
# This script checkes the GC content of the Consensous ALUs. 


#!/bin/perl

open(alurepeats ,'alu-225-repeats');
# OPENS THE ALU FILE
#open(alurepeats ,'testpattern.txt');	
	@filelines = <alurepeats>;
	# GATHERS ALL THE LINES IN THE FILE
	
	open (AluGCdata , ">alugcdata_age_cpg.txt");
	# open a file to record data
	$seenanalu = 0;
	$gotGC = 0;
	$checkcnt = 0;
	$gotaC = 0;
	$gotCpG = 0;
	
	foreach $filelines (@filelines)
	# INVESTIGATES ON EACH LINE IN THE ALU FILE
	{

		chomp;
		$filelines =~ s/^\s+//;
		# Trims the white space in the start if any
		$filelines =~ s/\s+$//;
		# Trims the white spaces from the end if any
		
		#------------ Searches for ALUs ------------
		if ( $filelines =~ /^ALU/) 
		{ 
						
			$checkcnt = &getnum("$filelines");
			$checkcnt = $checkcnt-1;
			print AluGCdata $checkcnt;
			print AluGCdata ";";
			$aluage = &getage("$checkcnt");
			print AluGCdata $aluage;
			print AluGCdata ";";
			print AluGCdata $filelines; 
			$seenanalu = 1;	
			next;
		
		} # End of If $filelines = /^ALU/
		#------------------------------------------- 
		 
		#----------- Take in the Alu seq -----------
		if ($seenanalu == 1)
		{
			$lengthofalu = length($filelines);
			# Get the length of the Alu
			@basepairs = split (//,$filelines);
			# Get each base from the sequence
			$keepingAcount = $lengthofalu;
			
			foreach $basepairs(@basepairs)
			{
				$keepingAcount = $keepingAcount - 1;
				#print $keepingAcount;
				#print "\n";
				# a record of how many nucleotides remain
				
				if ($gotaC == 1)
				# Searches for a CpG
				{ 
					#print "\n I am here \n";
					
					if ($basepairs eq 'G')
					# Got a CpG
					{ 
						$gotaC = 0; # resets the got a C value 	
						$gotGC = $gotGC - 1; # deducts the C	
						$gotCpG = $gotCpG + 1; # records the CpG
						#print "\n $basepairs I found a CpG \n";
						next; # quits the loop
										
					} # if ($gotaC eq 1)
					
					else
					# so it wasent a CpG afterall
					{
						
						if ($basepairs eq 'C')
						# Double C eh!!
						{ 
							$gotGC = $gotGC+1;
							$gotaC = 1; # keeps a hope on for  cPg	
					
					
						} # if ($basepairs eq 'C') 
						else
						{	
							$gotaC = 0;
						}
						
					} # end of it wasent a CpG a=fterall
					
				} # if ($gotGC eq 1)
				
				else
				{
					#print "\n $basepairs I am here at this time \n";			
				
				
					if ($basepairs eq 'C')
					# Searches for a C
					{ 
						
						if ($keepingAcount ne 0) { $gotaC = 1;	}
						# if this is the last nucleotide then there is no hope for a CpG
												
						$gotGC = $gotGC+1; # increment the GC count anyway
						# if CpG is found we shall deduct this away	
					
					
					} # if ($basepairs eq 'C')
			
					elsif ($basepairs eq 'G')
					# Searches for a G
					{ 
												
						$gotaC = 0;
						$gotGC = $gotGC+1;	
					
					
					} # if ($basepairs eq 'G') 
					else
					{
					
						#print "\n $basepairs I am resetting the gotaC \n";
						$gotaC = 0;
					
					
					} # oh well if was some other nucleotide eh!
			
				
				} # end of else if $gotaC = 1
			
			} # foreach $basepairs(@basepairs)
			
			# ---- Calculations ----------------
			
			$gcpercent = 0; # Reset 
			#print $gotCpG;
			#print "\n";
			$lengthofalu = $lengthofalu - (2*$gotCpG);
			#print $gotCpG;
			#print "\n";
			#print $lengthofalu;		
			# corrects the length for the CpG exclusions
			$gcpercent = 100 * ($gotGC/$lengthofalu);
			
			print AluGCdata ";";
			print AluGCdata $gcpercent;
			print AluGCdata ";";
			print AluGCdata $gotCpG;
			print AluGCdata "\n";
			
			
			#-----------------------------------
			$seenanalu = 0;
			$gotGC = 0;
			$gotaC = 0;
			$gotCpG = 0;
		
		} # End of if $seenanalu = 1
		#-------------------------------------------
		

	} # End of Foreach @filelines
	
	# closes the data output file
	close (AluGCdata);


print "\n";
# CLOSES THE ALU FILE
close(alurepeats);


#==========================================================

# SUBROUTINE TO GET THE ALU NUMBER
# ALU NUMBER IS RETURN VALUE - 1

sub getnum 
{
	chomp(@_) ;
		
	if ( $_[0] eq 'ALUSX') { $_ = 1;}
	if ( $_[0] eq 'ALUY') { $_ = 2;}
	if ( $_[0] eq 'ALUJO_2') { $_ = 3;}
	if ( $_[0] eq 'ALUSP') { $_ = 4;}
	if ( $_[0] eq 'ALUSC') { $_ = 5;}
	if ( $_[0] eq 'ALUYA5') { $_ = 6;}
	if ( $_[0] eq 'ALUYB8') { $_ = 7;}
	if ( $_[0] eq 'ALUSC_2') { $_ = 8;}
	if ( $_[0] eq 'ALUYB3A2') { $_ = 9;}
	if ( $_[0] eq 'ALUJB_2') { $_ = 10;}
	if ( $_[0] eq 'ALUSX_2') { $_ = 11;}
	if ( $_[0] eq 'ALUYE5') { $_ = 12;}
	if ( $_[0] eq 'ALUSX_3') { $_ = 13;}
	if ( $_[0] eq 'ALUYG6') { $_ = 14;}
	if ( $_[0] eq 'ALUSQ_2') { $_ = 15;}
	if ( $_[0] eq 'ALUSQ_3') { $_ = 16;}
	if ( $_[0] eq 'ALUSX_4') { $_ = 17;}
	if ( $_[0] eq 'ALUY_2') { $_ = 18;}
	if ( $_[0] eq 'ALUYI6') { $_ = 19;}
	if ( $_[0] eq 'ALUSP_2') { $_ = 20;}
	if ( $_[0] eq 'ALUY_3') { $_ = 21;}
	if ( $_[0] eq 'ALUSX_5') { $_ = 22;}
	if ( $_[0] eq 'ALUY_4') { $_ = 23;}
	if ( $_[0] eq 'ALUSP_3') { $_ = 24;}
	if ( $_[0] eq 'ALUY_5') { $_ = 25;}
	if ( $_[0] eq 'ALUY_6') { $_ = 26;}
	if ( $_[0] eq 'ALUY_7') { $_ = 27;}
	if ( $_[0] eq 'ALUYB3A2_2') { $_ = 28;}
	if ( $_[0] eq 'ALUSP_4') { $_ = 29;}
	if ( $_[0] eq 'ALUJB_3') { $_ = 30;}
	if ( $_[0] eq 'ALUY_8') { $_ = 31;}
	if ( $_[0] eq 'ALUSC_3') { $_ = 32;}
	if ( $_[0] eq 'ALUSP_5') { $_ = 33;}
	if ( $_[0] eq 'ALUJO_3') { $_ = 34;}
	if ( $_[0] eq 'ALUY_9') { $_ = 35;}
	if ( $_[0] eq 'ALUSP_6') { $_ = 36;}
	if ( $_[0] eq 'ALUSC_4') { $_ = 37;}
	if ( $_[0] eq 'ALUSG_2') { $_ = 38;}
	if ( $_[0] eq 'ALUJO_4') { $_ = 39;}
	if ( $_[0] eq 'ALUSP_7') { $_ = 40;}
	if ( $_[0] eq 'ALUY_10') { $_ = 41;}
	if ( $_[0] eq 'ALUSC_5') { $_ = 42;}
	if ( $_[0] eq 'ALUSC_6') { $_ = 43;}
	if ( $_[0] eq 'ALUSQ_4') { $_ = 44;}
	if ( $_[0] eq 'ALUY_11') { $_ = 45;}
	if ( $_[0] eq 'ALUY_12') { $_ = 46;}
	if ( $_[0] eq 'ALUSQ_5') { $_ = 47;}
	if ( $_[0] eq 'ALUSQ_6') { $_ = 48;}
	if ( $_[0] eq 'ALUY_13') { $_ = 49;}
	if ( $_[0] eq 'ALUSX_6') { $_ = 50;}
	if ( $_[0] eq 'ALUSQ_7') { $_ = 51;}
	if ( $_[0] eq 'ALUSQ_8') { $_ = 52;}
	if ( $_[0] eq 'ALUSG_3') { $_ = 53;}
	if ( $_[0] eq 'ALUSG_4') { $_ = 54;}
	if ( $_[0] eq 'ALUSG_5') { $_ = 55;}
	if ( $_[0] eq 'ALUSC_7') { $_ = 56;}
	if ( $_[0] eq 'ALUSC_8') { $_ = 57;}
	if ( $_[0] eq 'ALUSX_7') { $_ = 58;}
	if ( $_[0] eq 'ALUSG_6') { $_ = 59;}
	if ( $_[0] eq 'ALUSQ_9') { $_ = 60;}
	if ( $_[0] eq 'ALUJO') { $_ = 61;}
	if ( $_[0] eq 'ALUJB') { $_ = 62;}
	if ( $_[0] eq 'ALUJB_4') { $_ = 63;}
	if ( $_[0] eq 'ALUJB_5') { $_ = 64;}
	if ( $_[0] eq 'ALUJB_6') { $_ = 65;}
	if ( $_[0] eq 'ALUJB_7') { $_ = 66;}
	if ( $_[0] eq 'ALUJO_5') { $_ = 67;}
	if ( $_[0] eq 'ALUJB_8') { $_ = 68;}
	if ( $_[0] eq 'ALUSZ_2') { $_ = 69;}
	if ( $_[0] eq 'ALUSX_8') { $_ = 70;}
	if ( $_[0] eq 'ALUSZ_3') { $_ = 71;}
	if ( $_[0] eq 'ALUSZ') { $_ = 72;}
	if ( $_[0] eq 'ALUSX_9') { $_ = 73;}
	if ( $_[0] eq 'ALUSX_10') { $_ = 74;}
	if ( $_[0] eq 'ALUSQ') { $_ = 75;}
	if ( $_[0] eq 'ALUSQ_10') { $_ = 76;}
	if ( $_[0] eq 'ALUSQ_11') { $_ = 77;}
	if ( $_[0] eq 'ALUSP_8') { $_ = 78;}
	if ( $_[0] eq 'ALUSP_9') { $_ = 79;}
	if ( $_[0] eq 'ALUSP_10') { $_ = 80;}
	if ( $_[0] eq 'ALUSG_7') { $_ = 81;}
	if ( $_[0] eq 'ALUSG') { $_ = 82;}
	if ( $_[0] eq 'ALUSG_8') { $_ = 83;}
	if ( $_[0] eq 'ALUSG_9') { $_ = 84;}
	if ( $_[0] eq 'ALUSG_10') { $_ = 85;}
	if ( $_[0] eq 'ALUSC_9') { $_ = 86;}
	if ( $_[0] eq 'ALUSG_11') { $_ = 87;}
	if ( $_[0] eq 'ALUY_14') { $_ = 88;}
	if ( $_[0] eq 'ALUY_15') { $_ = 89;}
	if ( $_[0] eq 'ALUY_16') { $_ = 90;}
	if ( $_[0] eq 'ALUY_17') { $_ = 91;}
	if ( $_[0] eq 'ALUY_18') { $_ = 92;}
	if ( $_[0] eq 'ALUY_19') { $_ = 93;}
	if ( $_[0] eq 'ALUY_20') { $_ = 94;}
	if ( $_[0] eq 'ALUYA1') { $_ = 95;}
	if ( $_[0] eq 'ALUY_21') { $_ = 96;}
	if ( $_[0] eq 'ALUY_22') { $_ = 97;}
	if ( $_[0] eq 'ALUY_23') { $_ = 98;}
	if ( $_[0] eq 'ALUY_24') { $_ = 99;}
	if ( $_[0] eq 'ALUSG_12') { $_ = 100;}
	if ( $_[0] eq 'ALUSG_13') { $_ = 101;}
	if ( $_[0] eq 'ALUSG_14') { $_ = 102;}
	if ( $_[0] eq 'ALUSC_10') { $_ = 103;}
	if ( $_[0] eq 'ALUSC_11') { $_ = 104;}
	if ( $_[0] eq 'ALUY_25') { $_ = 105;}
	if ( $_[0] eq 'ALUY_26') { $_ = 106;}
	if ( $_[0] eq 'ALUY_27') { $_ = 107;}
	if ( $_[0] eq 'ALUSG_15') { $_ = 108;}
	if ( $_[0] eq 'ALUSC_12') { $_ = 109;}
	if ( $_[0] eq 'ALUYB9') { $_ = 110;}
	if ( $_[0] eq 'ALUJO_6') { $_ = 111;}
	if ( $_[0] eq 'ALUY_28') { $_ = 112;}
	if ( $_[0] eq 'ALUYE5_2') { $_ = 113;}
	if ( $_[0] eq 'ALUJO_7') { $_ = 114;}
	if ( $_[0] eq 'ALUSG_16') { $_ = 115;}
	if ( $_[0] eq 'ALUSG_17') { $_ = 116;}
	if ( $_[0] eq 'ALUSX_11') { $_ = 117;}
	if ( $_[0] eq 'ALUSG_18') { $_ = 118;}
	if ( $_[0] eq 'ALUY_29') { $_ = 119;}
	if ( $_[0] eq 'ALUSG_19') { $_ = 120;}
	if ( $_[0] eq 'ALUSX_12') { $_ = 121;}
	if ( $_[0] eq 'ALUSC_13') { $_ = 122;}
	if ( $_[0] eq 'ALUSC_14') { $_ = 123;}
	if ( $_[0] eq 'ALUSX_13') { $_ = 124;}
	if ( $_[0] eq 'ALUSX_14') { $_ = 125;}
	if ( $_[0] eq 'ALUY_30') { $_ = 126;}
	if ( $_[0] eq 'ALUSX_15') { $_ = 127;}
	if ( $_[0] eq 'ALUSX_16') { $_ = 128;}
	if ( $_[0] eq 'ALUJO_8') { $_ = 129;}
	if ( $_[0] eq 'ALUSC_15') { $_ = 130;}
	if ( $_[0] eq 'ALUJB_9') { $_ = 131;}
	if ( $_[0] eq 'ALUJB_10') { $_ = 132;}
	if ( $_[0] eq 'ALUSC_16') { $_ = 133;}
	if ( $_[0] eq 'ALUY_31') { $_ = 134;}
	if ( $_[0] eq 'ALUY_32') { $_ = 135;}
	if ( $_[0] eq 'ALUJB_11') { $_ = 136;}
	if ( $_[0] eq 'ALUSQ_12') { $_ = 137;}
	if ( $_[0] eq 'ALUSG_20') { $_ = 138;}
	if ( $_[0] eq 'ALUJO_9') { $_ = 139;}
	if ( $_[0] eq 'ALUSX_17') { $_ = 140;}
	if ( $_[0] eq 'ALUSG_21') { $_ = 141;}
	if ( $_[0] eq 'ALUJO_10') { $_ = 142;}
	if ( $_[0] eq 'ALUY_33') { $_ = 143;}
	if ( $_[0] eq 'ALUSG_22') { $_ = 144;}
	if ( $_[0] eq 'ALUSX_18') { $_ = 145;}
	if ( $_[0] eq 'ALUSC_17') { $_ = 146;}
	if ( $_[0] eq 'ALUSG_23') { $_ = 147;}
	if ( $_[0] eq 'ALUY_34') { $_ = 148;}
	if ( $_[0] eq 'ALUY_35') { $_ = 149;}
	if ( $_[0] eq 'ALUSP_11') { $_ = 150;}
	if ( $_[0] eq 'ALUY_36') { $_ = 151;}
	if ( $_[0] eq 'ALUSP_12') { $_ = 152;}
	if ( $_[0] eq 'ALUJO_11') { $_ = 153;}
	if ( $_[0] eq 'ALUSX_19') { $_ = 154;}
	if ( $_[0] eq 'ALUSX_20') { $_ = 155;}
	if ( $_[0] eq 'ALUJO_12') { $_ = 156;}
	if ( $_[0] eq 'ALUSQ_13') { $_ = 157;}
	if ( $_[0] eq 'ALUSX_21') { $_ = 158;}
	if ( $_[0] eq 'ALUY_37') { $_ = 159;}
	if ( $_[0] eq 'ALUSG_24') { $_ = 160;}
	if ( $_[0] eq 'ALUY_38') { $_ = 161;}
	if ( $_[0] eq 'ALUJB_12') { $_ = 162;}
	if ( $_[0] eq 'ALUSP_13') { $_ = 163;}
	if ( $_[0] eq 'ALUSG_25') { $_ = 164;}
	if ( $_[0] eq 'ALUSQ_14') { $_ = 165;}
	if ( $_[0] eq 'ALUY_39') { $_ = 166;}
	if ( $_[0] eq 'ALUSP_14') { $_ = 167;}
	if ( $_[0] eq 'ALUSP_15') { $_ = 168;}
	if ( $_[0] eq 'ALUJO_13') { $_ = 169;}
	if ( $_[0] eq 'ALUSX_22') { $_ = 170;}
	if ( $_[0] eq 'ALUSG_26') { $_ = 171;}
	if ( $_[0] eq 'ALUJO_14') { $_ = 172;}
	if ( $_[0] eq 'ALUY_40') { $_ = 173;}
	if ( $_[0] eq 'ALUSP_16') { $_ = 174;}
	if ( $_[0] eq 'ALUSG_27') { $_ = 175;}
	if ( $_[0] eq 'ALUY_41') { $_ = 176;}
	if ( $_[0] eq 'ALUSX_23') { $_ = 177;}
	if ( $_[0] eq 'ALUJO_15') { $_ = 178;}
	if ( $_[0] eq 'ALUSX_24') { $_ = 179;}
	if ( $_[0] eq 'ALUJO_16') { $_ = 180;}
	if ( $_[0] eq 'ALUJB_13') { $_ = 181;}
	if ( $_[0] eq 'ALUSX_25') { $_ = 182;}
	if ( $_[0] eq 'ALUJO_17') { $_ = 183;}
	if ( $_[0] eq 'ALUSQ_15') { $_ = 184;}
	if ( $_[0] eq 'ALUY_42') { $_ = 185;}
	if ( $_[0] eq 'ALUY_43') { $_ = 186;}
	if ( $_[0] eq 'ALUSX_26') { $_ = 187;}
	if ( $_[0] eq 'ALUSQ_16') { $_ = 188;}
	if ( $_[0] eq 'ALUY_44') { $_ = 189;}
	if ( $_[0] eq 'ALUSZ_4') { $_ = 190;}
	if ( $_[0] eq 'ALUJO_18') { $_ = 191;}
	if ( $_[0] eq 'ALUJO_19') { $_ = 192;}
	if ( $_[0] eq 'ALUSX_27') { $_ = 193;}
	if ( $_[0] eq 'ALUSC_18') { $_ = 194;}
	if ( $_[0] eq 'ALUSX_28') { $_ = 195;}
	if ( $_[0] eq 'ALUJO_20') { $_ = 196;}
	if ( $_[0] eq 'ALUSQ_17') { $_ = 197;}
	if ( $_[0] eq 'ALUSX_29') { $_ = 198;}
	if ( $_[0] eq 'ALUJB_14') { $_ = 199;}
	if ( $_[0] eq 'ALUSC_19') { $_ = 200;}
	if ( $_[0] eq 'ALUSG_28') { $_ = 201;}
	if ( $_[0] eq 'ALUY_45') { $_ = 202;}
	if ( $_[0] eq 'ALUY_46') { $_ = 203;}
	if ( $_[0] eq 'ALUY_47') { $_ = 204;}
	if ( $_[0] eq 'ALUJO_21') { $_ = 205;}
	if ( $_[0] eq 'ALUJB_15') { $_ = 206;}
	if ( $_[0] eq 'ALUJO_22') { $_ = 207;}
	if ( $_[0] eq 'ALUSC_20') { $_ = 208;}
	if ( $_[0] eq 'ALUSC_21') { $_ = 209;}
	if ( $_[0] eq 'ALUSC_22') { $_ = 210;}
	if ( $_[0] eq 'ALUY_48') { $_ = 211;}
	if ( $_[0] eq 'ALUSQ_18') { $_ = 212;}
	if ( $_[0] eq 'ALUSP_17') { $_ = 213;}
	if ( $_[0] eq 'ALUYA8') { $_ = 214;}
	if ( $_[0] eq 'ALUYC2') { $_ = 215;}
	if ( $_[0] eq 'ALUYD2') { $_ = 216;}
	if ( $_[0] eq 'ALUYD3') { $_ = 217;}
	if ( $_[0] eq 'ALUYD3A1') { $_ = 218;}
	if ( $_[0] eq 'ALUYD8') { $_ = 219;}
	if ( $_[0] eq 'ALUYA4') { $_ = 220;}
	if ( $_[0] eq 'ALUYF1') { $_ = 221;}
	if ( $_[0] eq 'ALUYH9') { $_ = 222;}
	if ( $_[0] eq 'ALUYBC3A') { $_ = 223;}
	if ( $_[0] eq 'ALUYE2') { $_ = 224;}
	if ( $_[0] eq 'ALUYF2') { $_ = 225;}

	return $_;
	
};

#==================================================================

#==================================================================
# SUBROUTINE TO GET THE ALU AGE FROM THE NUMBERS 


 
 sub getage {
 
 
 	chomp(@_) ;
	
	#---------------------1---------------------
	if ($_[0] eq 60){ $_ = 1;}
  	
	#---------------------2-----------------------
	if ($_[0] eq 61){ $_ = 56;}
  	if ($_[0] eq 2 ) { $_ = 56;}
	if ($_[0] eq 28){ $_ = 56;}
	if ($_[0] eq 66){ $_ = 56;}
	
	#---------------------3-----------------------
	if ($_[0] eq 9){ $_ = 52;}
  	if ($_[0] eq 138){ $_ = 52;}
	if ($_[0] eq 177){ $_ = 52;}
	if ($_[0] eq 206){ $_ = 52;}
	if ($_[0] eq 110){ $_ = 52;}
	if ($_[0] eq 152){ $_ = 52;}
	if ($_[0] eq 155){ $_ = 52;}
	if ($_[0] eq 168){ $_ = 52;}
	if ($_[0] eq 171){ $_ = 52;}
	if ($_[0] eq 179){ $_ = 52;}
	if ($_[0] eq 182){ $_ = 52;}
	if ($_[0] eq 190){ $_ = 52;}
	if ($_[0] eq 191){ $_ = 52;}
	if ($_[0] eq 195){ $_ = 52;}
	if ($_[0] eq 204){ $_ = 52;}
	if ($_[0] eq 128){ $_ = 52;}
	if ($_[0] eq 130){ $_ = 52;}
	if ($_[0] eq 141){ $_ = 52;}
	if ($_[0] eq 33){ $_ = 52;}
	
		#****************************
		if ($_[0] eq 38){ $_ = 52;}
		#****************************
	
	#---------------------4-----------------------
	if ($_[0] eq 205){ $_ = 48;}
  	if ($_[0] eq 62){ $_ = 48;}
	if ($_[0] eq 63){ $_ = 48;}
	if ($_[0] eq 131){ $_ = 48;}
	if ($_[0] eq 29){ $_ = 48;}
	if ($_[0] eq 64){ $_ = 48;}
	if ($_[0] eq 65){ $_ = 48;}
	if ($_[0] eq 135){ $_ = 48;}
	if ($_[0] eq 161){ $_ = 48;}
	if ($_[0] eq 180){ $_ = 48;}
	if ($_[0] eq 198){ $_ = 48;}
	if ($_[0] eq 113){ $_ = 48;}
	
		
	#---------------------5-----------------------
	if ($_[0] eq 67){ $_ = 44;}
  	
	#---------------------6-----------------------
	if ($_[0] eq 68){ $_ = 42;}
  	
	#---------------------7-----------------------
	if ($_[0] eq 12){ $_ = 40;}
	
	
	#---------------------8-----------------------
  	if ($_[0] eq 69){ $_ = 38;}
	if ($_[0] eq 123){ $_ = 38;}
	if ($_[0] eq 169){ $_ = 38;}
	if ($_[0] eq 154){ $_ = 38;}
	if ($_[0] eq 73){ $_ = 38;}
	if ($_[0] eq 139){ $_ = 38;}
	
	
		#****************************
		if ($_[0] eq 120){ $_ = 38;}
		#****************************
	
	#---------------------9-----------------------
	if ($_[0] eq 0){ $_ = 36;}
  	if ($_[0] eq 21){ $_ = 36;}
	if ($_[0] eq 157){ $_ = 36;}
	
	
	#----------------------10----------------------
	if ($_[0] eq 186){ $_ = 35.67;}
	if ($_[0] eq 192){ $_ = 35.67;}
	if ($_[0] eq 194){ $_ = 35.67;}
	if ($_[0] eq 197){ $_ = 35.67;}
	if ($_[0] eq 72){ $_ = 35.67;}
	if ($_[0] eq 10){ $_ = 35.67;}
	if ($_[0] eq 49){ $_ = 35.67;}
	if ($_[0] eq 71){ $_ = 35.67;}
	if ($_[0] eq 128){ $_ = 35.67;}
	if ($_[0] eq 144){ $_ = 35.67;}
	if ($_[0] eq 176){ $_ = 35.67;}
	if ($_[0] eq 178){ $_ = 35.67;}
	if ($_[0] eq 181){ $_ = 35.67;}
	if ($_[0] eq 153){ $_ = 35.67;}
	
	
	#-----------------------11---------------------
	if ($_[0] eq 57){ $_ = 35.34;}
  	if ($_[0] eq 124){ $_ = 35.34;}
	if ($_[0] eq 74){ $_ = 35.34;}
	if ($_[0] eq 211){ $_ = 35.34;}
	if ($_[0] eq 16){ $_ = 35.34;}
	if ($_[0] eq 189){ $_ = 35.34;}
	if ($_[0] eq 81){ $_ = 35.34;}
	if ($_[0] eq 70){ $_ = 35.34;}
	if ($_[0] eq 127){ $_ = 35.34;}
	
	
	#-----------------------12---------------------
  	if ($_[0] eq 116){ $_ = 35;}
	if ($_[0] eq 14){ $_ = 35;}
	if ($_[0] eq 59){ $_ = 35;}
	if ($_[0] eq 52){ $_ = 35;}
	if ($_[0] eq 37){ $_ = 35;}
	
	
	#-----------------------13---------------------
  	if ($_[0] eq 196){ $_ = 34.68;}
	if ($_[0] eq 47){ $_ = 34.68;}
	if ($_[0] eq 46){ $_ = 34.68;}
	if ($_[0] eq 51){ $_ = 34.68;}
	if ($_[0] eq 75){ $_ = 34.68;}
	if ($_[0] eq 76){ $_ = 34.68;}
	if ($_[0] eq 3){ $_ = 34.68;}
	if ($_[0] eq 156){ $_ = 34.68;}
	if ($_[0] eq 164){ $_ = 34.68;}
	if ($_[0] eq 183){ $_ = 34.68;}
	if ($_[0] eq 187){ $_ = 34.68;}
	if ($_[0] eq 84){ $_ = 34.68;}
	if ($_[0] eq 159){ $_ = 34.68;}
	if ($_[0] eq 100){ $_ = 34.68;}
	if ($_[0] eq 115){ $_ = 34.68;}
	if ($_[0] eq 117){ $_ = 34.68;}
	if ($_[0] eq 119){ $_ = 34.68;}
	if ($_[0] eq 101){ $_ = 34.68;}
	if ($_[0] eq 200){ $_ = 34.68;}
	if ($_[0] eq 80){ $_ = 34.68;}
	if ($_[0] eq 140){ $_ = 34.68;}
	if ($_[0] eq 58){ $_ = 34.68;}
	if ($_[0] eq 82){ $_ = 34.68;}
	if ($_[0] eq 86){ $_ = 34.68;}
	
	
	#-----------------------14---------------------
  	if ($_[0] eq 43){ $_ = 34.35;}
	if ($_[0] eq 15){ $_ = 34.35;}
	if ($_[0] eq 50){ $_ = 34.35;}
	if ($_[0] eq 35){ $_ = 34.35;}
	if ($_[0] eq 39){ $_ = 34.35;}
	if ($_[0] eq 79){ $_ = 34.35;}
	if ($_[0] eq 28){ $_ = 34.35;}
	if ($_[0] eq 32){ $_ = 34.35;}
	if ($_[0] eq 149){ $_ = 34.35;}
	if ($_[0] eq 151){ $_ = 34.35;}
	if ($_[0] eq 167){ $_ = 34.35;}
	if ($_[0] eq 173){ $_ = 34.35;}
	if ($_[0] eq 77){ $_ = 34.35;}
	if ($_[0] eq 78){ $_ = 34.35;}
	if ($_[0] eq 166){ $_ = 34.35;}
	if ($_[0] eq 83){ $_ = 34.35;}
	if ($_[0] eq 99){ $_ = 34.35;}
	if ($_[0] eq 53){ $_ = 34.35;}
	if ($_[0] eq 137){ $_ = 34.35;}
	if ($_[0] eq 54){ $_ = 34.35;}
	if ($_[0] eq 170){ $_ = 34.35;}
	if ($_[0] eq 146){ $_ = 34.35;}
	if ($_[0] eq 31){ $_ = 34.35;}
	if ($_[0] eq 85){ $_ = 34.35;}
	
	
	#-----------------------15--------------------
  	if ($_[0] eq 136){ $_ = 34;}
	if ($_[0] eq 126){ $_ = 34;}
	if ($_[0] eq 162){ $_ = 34;}
	if ($_[0] eq 212){ $_ = 34;}
	if ($_[0] eq 19){ $_ = 34;}
	if ($_[0] eq 23){ $_ = 34;}
	if ($_[0] eq 55){ $_ = 34;}
	if ($_[0] eq 114){ $_ = 34;}
	if ($_[0] eq 174){ $_ = 34;}
	if ($_[0] eq 163){ $_ = 34;}
	if ($_[0] eq 143){ $_ = 34;}
	if ($_[0] eq 7){ $_ = 34;}
	
	
	#-----------------------16--------------------
	if ($_[0] eq 122){ $_ = 33.69;}
	if ($_[0] eq 183){ $_ = 33.69;}
	if ($_[0] eq 107){ $_ = 33.69;}
	if ($_[0] eq 102){ $_ = 33.69;}
	if ($_[0] eq 121){ $_ = 33.69;}
	
	
		#****************************
		if ($_[0] eq 103){ $_ = 33.69;}
		#****************************	
	
  	#-----------------------17--------------------
  	if ($_[0] eq 4){ $_ = 33.36;}
	if ($_[0] eq 132){ $_ = 33.36;}
	
		
	#-----------------------18--------------------
  	if ($_[0] eq 36){ $_ = 33;}
	if ($_[0] eq 129){ $_ = 33;}
	if ($_[0] eq 145){ $_ = 33;}
	if ($_[0] eq 207){ $_ = 33;}
	if ($_[0] eq 208){ $_ = 33;}
	if ($_[0] eq 41){ $_ = 33;}
	if ($_[0] eq 42){ $_ = 33;}
	
	
	#-----------------------19--------------------
	if ($_[0] eq 108){ $_ = 32.5;}
	
	
  	#-----------------------20---------------------
	if ($_[0] eq 56){ $_ = 32;}
	
	
  	#-----------------------21---------------------
	if ($_[0] eq 87){ $_ = 28;}
  	if ($_[0] eq 185){ $_ = 28;}
	if ($_[0] eq 199){ $_ = 28;}
	if ($_[0] eq 193){ $_ = 28;}
	if ($_[0] eq 209){ $_ = 28;}
	
	
	
	#-----------------------22--------------------
	if ($_[0] eq 1){ $_ = 24;}
	
	
  	#-----------------------23--------------------
	if ($_[0] eq 105){ $_ = 20;}
  	if ($_[0] eq 88){ $_ = 20;}
	if ($_[0] eq 89){ $_ = 20;}
	if ($_[0] eq 90){ $_ = 20;}
	if ($_[0] eq 91){ $_ = 20;}
	if ($_[0] eq 92){ $_ = 20;}
	if ($_[0] eq 93){ $_ = 20;}
	if ($_[0] eq 94){ $_ = 20;}
	if ($_[0] eq 104){ $_ = 20;}
	if ($_[0] eq 111){ $_ = 20;}
	if ($_[0] eq 118){ $_ = 20;}
	if ($_[0] eq 125){ $_ = 20;}
	if ($_[0] eq 133){ $_ = 20;}
	if ($_[0] eq 134){ $_ = 20;}
	if ($_[0] eq 142){ $_ = 20;}
	if ($_[0] eq 147){ $_ = 20;}
	if ($_[0] eq 148){ $_ = 20;}
	if ($_[0] eq 150){ $_ = 20;}
	if ($_[0] eq 158){ $_ = 20;}
	if ($_[0] eq 160){ $_ = 20;}
	if ($_[0] eq 165){ $_ = 20;}
	if ($_[0] eq 172){ $_ = 20;}
	if ($_[0] eq 175){ $_ = 20;}
	if ($_[0] eq 184){ $_ = 20;}
	if ($_[0] eq 188){ $_ = 20;}
	if ($_[0] eq 201){ $_ = 20;}
	if ($_[0] eq 202){ $_ = 20;}
	if ($_[0] eq 203){ $_ = 20;}
	if ($_[0] eq 210){ $_ = 20;}
	if ($_[0] eq 17){ $_ = 20;}
	if ($_[0] eq 20){ $_ = 20;}
	if ($_[0] eq 25){ $_ = 20;}
	if ($_[0] eq 44){ $_ = 20;}
	if ($_[0] eq 95){ $_ = 20;}
	if ($_[0] eq 96){ $_ = 20;}
	if ($_[0] eq 97){ $_ = 20;}
	if ($_[0] eq 98){ $_ = 20;}
	
	
	#-----------------------24--------------------
  	if ($_[0] eq 22){ $_ = 16;}
	if ($_[0] eq 26){ $_ = 16;}
	if ($_[0] eq 34){ $_ = 16;}
	if ($_[0] eq 40){ $_ = 16;}
	if ($_[0] eq 45){ $_ = 16;}
	if ($_[0] eq 48){ $_ = 16;}
	if ($_[0] eq 5){ $_ = 16;}
	if ($_[0] eq 8){ $_ = 16;}
	if ($_[0] eq 24){ $_ = 16;}
	if ($_[0] eq 6){ $_ = 16;}
	if ($_[0] eq 18){ $_ = 16;}
	if ($_[0] eq 13){ $_ = 16;}
	if ($_[0] eq 30){ $_ = 16;}
	if ($_[0] eq 11){ $_ = 16;}
	
		#****************************
		if ($_[0] eq 112){ $_ = 16;}
		#****************************
	
	#-----------------------25--------------------
	if ($_[0] eq 106){ $_ = 10;}
	if ($_[0] eq 27){ $_ = 10;}
	if ($_[0] eq 109){ $_ = 10;}
	if ($_[0] eq 110){ $_ = 10;}
		
	
  	# The Alu families from RepBase
	#-----------------------26--------------------
 	if ($_[0] eq 213){ $_ = 4;}
	if ($_[0] eq 214){ $_ = 4;}
	if ($_[0] eq 215){ $_ = 4;}
	if ($_[0] eq 216){ $_ = 4;}
	if ($_[0] eq 217){ $_ = 4;}
	if ($_[0] eq 218){ $_ = 4;}
	if ($_[0] eq 219){ $_ = 4;}
	if ($_[0] eq 220){ $_ = 4;}
	if ($_[0] eq 221){ $_ = 4;}
	if ($_[0] eq 222){ $_ = 4;}
	if ($_[0] eq 223){ $_ = 4;}
	if ($_[0] eq 224){ $_ = 4;}
	
	
	return $_;
 
 };







