ProDomBlast3i.pl


SYNOPSIS

./ProDomBlast3i.pl -d <DataBase> -s <SequenceFile>
[-P <path for your blast program (blastall)> (default in '$BLAST_PATH')]
[-p < blastp | blastx > (default in '$PROG_BLAST')]
[-f (do non overlap HSP filtering)]\n``;
[-o <OutputFile> (default is 'STDOUT')]
[-z <sizeFullProDomBank> (default is '$DEFAULT_Z_VALUE')]
[-h <'0' for no header|'1' for displaying header> (default is '1')]


DESCRIPTION

 Yoann BEAUSSE / Emmanuel COURCELLE  INRA Toulouse LIPM     May 16th 2003
 beausse@toulouse.inra.fr
 emmanuel.courcelle@toulouse.inra.fr
 This script displays the decomposition of a protein sequence 
 into domains according to a BLAST search against the ProDom database
 Format of the source database:
 >7LES_DROME#PD000001#2210#2484 | 275 | pd_PD000001;sp_P13368_7LES_DROME; | (2773)  KINASE PROTEIN TRANSFERASE ATP-BINDING
 Option for formatdb:
    formatdb -d <database> -p T -o T
 OUTPUT FORMAT:
    query_name  begin  end // Closest_domain;  begin  end // S=Score  E=Expect [F=Frame] // (FamilySize) Commentary


MAIN de ProDomBlast3i.pl

MAIN

Usage()

 Title        : Usage
 Usage        : Usage()
 Function     : Print how to use this script

ReadCommandLine()


 Title        : ReadCommandLine
 Usage        : ReadCommandLine($args)
 Function     : Read the parameters in the command line
 Args         : $args Reference sur un %hash


SUBROUTINES de BLAST_INTERPRO::Blast

Constructeur & Destructeur

new()

 Title        : new
 Usage        : new($arg)
 Function     : Construit une instance de la classe Blast
 Returns      : Une reference sur l instance
 Args         : $arg : reference sur un hash contenant les parametres de la ligne de commande

DESTROY()

 Title        : DESTROY
 Usage        : automatique
 Function     : Efface les fichier xml du blast

Acces aux variables

function get_blast_param()

 Title        : get_blast_param
 Usage        : get_blast_param($arg)
 Returns      : Les parametres de la ligne de commande du blast ( p ou x selon $args ), sinon undef
 Args         : $arg : blastp ou blastx

function get_param()

 Title        : get_param
 Usage        : get_param($arg)
 Function     : Accept aux valeurs des parametres du formulaire html
 Returns      : La valeur du parametre $arg ou undef si $arg n\'est pas un parametre
 Args         : $arg : nom de variable du formulaire html
              : 'blast_path' 'program' 'z_value' 'filter' 'seqfile' 'outfile' 'db' 'header'

function version()

 Title      : version
 Usage      : version()
 Returns    : La version du programme blast utilise

function blast_report()

 Title          : blast_report
 Usage          : blast_report   or   blast_report($arg)
 Function       : si "blast_report($arg)", initialise la variable avec $arg avant de la retourner
 Args & Returns : Le nom du fichier de sortie du blast

function db_num()

 Title    : db_num
 Usage    : db_num
 Returns  : Le nombre de sequence de la base

function db_letters()

 Title    : db_letters
 Usage    : db_letters()
 Returns  : Le nombre de lettres de la base

function query_def()

 Title     : query_def
 Usage     : query_def()
 Returns   : La definition de la query

function query_length()

 Title    : query_length
 Usage    : query_length()
 Returns  : La longueur de la query

function list_hsp()

 Title          : list_hsp
 Usage          : list_hsp   or   list_hsp($arg)
 Prerequisite   : $arg est une reference sur un tableau
 Function       : si "list_hsp($arg)", initialise la variable avec $arg avant de la retourner
 Args & Returns : Une reference sur le tableau des HSP

function list_hsp_size()

 Title          : list_hsp_size
 Usage          : list_hsp_size   or   list_hsp_size($arg)
 Prerequisite   : $arg est une reference sur un tableau
 Function       : si "list_hsp_size($arg)", initialise la variable avec $arg avant de la retourner
 Args & Returns : Le nombre de HSP dans la liste des HSP

Other public functions

execute_blast()

 Title        : execute_blast
 Usage        : execute_blast()
 Function     : Excute le Blast,analyse les resultats et selectionne les HSP

print_result()

 Title        : print_result
 Usage        : print_result()
 Function     : Affiche sur STDOUT ou ecrit dans outfile le resultats du blast

function nice()

 Title        : nice
 Usage        : nice($arg)
 Function     : Si $arg = 1, le blast sera execute avec "nice"
 Returns      : La valeur de la variable privee _NICE
 Args         : $arg : 1 si execution du blast avec "nice"
              :        0 si non

Prive

_blast()

 Title        : _blast
 Usage        : _blast()
 Function     : Constitue la ligne de commande blast et lance son excecution

_CheckSequenceFile()

 Title        : _CheckSequenceFile
 Usage        : _CheckSequenceFile()
 Function     : Check the sequence file existence and format

_parse_blast_report()

 Title        : _parse_blast_report
 Usage        : _parse_blast_report()
 Prerequisite : Un fichier result blast au format xml et son chemin d acces dans this->blast_report
 Function     : Parse le fichier xml de blast et initialise : this->list_hsp, this->list_hsp_size,
                this->db_num, this->db_letters, this->query_def et this->query_length

_select_hsp()

 Title        : _select_hsp
 Usage        : _select_hsp()
 Function     : A partir du %hash retourne par arrange_dom, retourne un tableau contenant les meilleurs hsp 
                est sans redondance ou chevauchement, pour chaque domaine

_search_overlap()

 Title        : _search_overlap
 Usage        : _search_overlap($args)
 Function     : Teste si un hsp est chevauchant avec des hsp deja retenus pour un domaine donne
 Returns      : Une reference sur un @array contenant le hsp a retenir pour un domaine donne
 Args         : reference sue un @array contenant tous les hsp d un domaine donne

_arrange_dom()

 Title        : _arrange_dom
 Usage        : _arrange_dom()
 Function     : Regroupe dans un meme tableau, tous les hits du meme domaine. Les references a ces tableaux sont
                placees dans un %hash avec l\'ID prodom de la famille comme cle.
 Returns      : Une reference a un %hash

_RemoveOverlaps()

 Title        : _RemoveOverlaps
 Usage        : _RemoveOverlaps()
 Function     : Supprime les chevauchements de domaines sur la query en gardant le meilleur des hits

_print_header()

 Title        : _print_header
 Usage        : _print_header()
 Function     : Concatene dans un scalaire le header du blast, devant etre affiche
 Returns      : Un scalaire contenant le header

LOG()

 Title        : LOG
 Usage        : LOG($args)
 Function     : Ouvre en ajout un fichier "LOG" dans le repertoire de session et inscrire 
              : le message en argument et la date
 Args         : Une chaine de caracteres (nom de la fonction en execution par exemple)...