for line in xmlfile:
        if lnum % 2500 == 0:
            pbar.updateProgress(lnum)
        lnum += 1
        cDrug = parseLine(line, cDrug, stack)
    
    pbar.finalize()
    print "Targets excluded:           ", __excluded_targets
    print "Drugs loaded:               ", len(__drugs)
    print "Targets loaded:             ", len(__targets)

if __name__ == "__main__":
#    import psyco
#    psyco.full()
    geneDB.init(os.sep.join(["data","hgnc","hgnc_symbols.txt"]))
    
    print "Loading drug bank database from XML..."
    loadXML(os.sep.join(["data","drugbank","drugbank.xml"]))
    mapTargetNames(os.sep.join(["data","drugbank","target_links.csv"]))
    
    print __targets[1]
    print __targets[3]
    
    print "Named targets:   ", len(__target_names)
    print "Unnamed targets: ", __targets_unnamed

    print "Loading DrugBank drug catalogue..."
    drugCat.initDruglist(os.sep.join(["data","drugbank","drug_links.csv"]))
    print "Loading DrugBank drug target catalogue..."
    drugCat.initTargets(os.sep.join(["data","drugbank","target_links.csv"]),
    for line in xmlfile:
        if lnum % 2500 == 0:
            pbar.updateProgress(lnum)
        lnum += 1
        cDrug = parseLine(line, cDrug, stack)

    pbar.finalize()
    print "Targets excluded:           ", __excluded_targets
    print "Drugs loaded:               ", len(__drugs)
    print "Targets loaded:             ", len(__targets)


if __name__ == "__main__":
    #    import psyco
    #    psyco.full()
    geneDB.init(os.sep.join(["data", "hgnc", "hgnc_symbols.txt"]))

    print "Loading drug bank database from XML..."
    loadXML(os.sep.join(["data", "drugbank", "drugbank.xml"]))
    mapTargetNames(os.sep.join(["data", "drugbank", "target_links.csv"]))

    print __targets[1]
    print __targets[3]

    print "Named targets:   ", len(__target_names)
    print "Unnamed targets: ", __targets_unnamed

    print "Loading DrugBank drug catalogue..."
    drugCat.initDruglist(os.sep.join(["data", "drugbank", "drug_links.csv"]))
    print "Loading DrugBank drug target catalogue..."
    drugCat.initTargets(
            __USE_DRUGBANK_XML = 1
        elif sys.argv[i] == "--rm-pseudo":
            __EXCLUDE_PSEUDOGENES = 1
        elif sys.argv[i] == "--rm-study":
            for item in sys.argv[i+1].split(","):
                item = item.strip()
                included_studies.remove(int(item))
        elif sys.argv[i] == "--output-dir":
            output_dir = os.sep.join(["results", sys.argv[i+1]])
        elif sys.argv[i].startswith("--"):
            print "Invalid arg:", sys.argv[i]
            sys.exit(1)

    
    print "\nInitializing HGNC Database..."
    geneDB.init(os.sep.join(["data","hgnc","hgnc_symbols.txt"]),__EXCLUDE_PSEUDOGENES)

    
    print "\nLoading rapidly evolving proteins..."
    studyGenes = loadEvolutionaryGenes(os.sep.join(["data","genelists","positive_selection_gene_lists.txt"]),__ENABLE_GENE_VERIFICATION,__ENABLE_GENE_UPDATES,gene_frequency_filter, included_studies)
    
    if __EXCLUDE_OLFACTORY_PROTEINS:
        print "\nExcluding olfactory proteins..."
        olfactoryProteins = pyCSV()
        olfactoryProteins.load(os.sep.join(["data","genelists","olfactory_genes.csv"]),"\t")
        
        olfactoryGenes = set([item.lower() for item in geneUtils.columnToList(olfactoryProteins, 1, 1)])
        
        for gene in olfactoryGenes:
            if gene in studyGenes:
                studyGenes.remove(gene)