Esempio n. 1
0
def generateNetworkVisualizationFiles(drugsfile, targetsfile, proteinnodesfile):
    fingerprints = util.readDrugData(drugsfile)
    [targetSets, ligandSets] = util.readTargetData(targetsfile, fingerprints.keys())
    # Unsorted protein nodes data
    proteinNodes = np.loadtxt(proteinnodesfile, dtype='string', delimiter=',', skiprows=1)
    # Protein nodes data, sorted alphabetically by protein name
    sortedProteinNodes = proteinNodes[proteinNodes[:,0].argsort()]
    # Initialize data structures
    networkData=[]; nameData=[]; indicationData=[]; networkNodes=set()
    
    # Iterate over each node pair to determine if their bootstrap p-value merits an edge connection
    for i in range(len(sortedProteinNodes)):
        for j in range(i+1, len(sortedProteinNodes)):
            proteinA = sortedProteinNodes[i,0]
            proteinB = sortedProteinNodes[j,0]
            bootstrapPVal = util.calculateBootstrapPValue(100, 214, fingerprints, ligandSets, proteinA, proteinB)
            
            if bootstrapPVal <= 0.05:
                networkData.append([proteinA, proteinB])    # Create edge between connected nodes
                networkNodes.update([proteinA, proteinB])   # Update set of nodes in network
    
    # Annotate each node with its name and indication
    for protein in proteinNodes:
        if protein[0] in networkNodes:
            nameData.append([protein[0],protein[1]])
            indicationData.append([protein[0],protein[2]])
    
    # Output files        
    np.savetxt('network.sif', np.array(networkData), fmt='%s edge %s')
    np.savetxt('name.nodeAttr', np.array(nameData), fmt='%s = %s', header="name", comments='')
    np.savetxt('indication.nodeAttr', np.array(indicationData), fmt='%s = %s', header="indication", comments='')
Esempio n. 2
0
def initParams():
    parser = argparse.ArgumentParser()
    parser.add_argument('-n', metavar='n', type=int, default='100')
    parser.add_argument('-r', metavar='r', type=int, default='214')
    parser.add_argument('drugs', type=str)
    parser.add_argument('targets', type=str)
    parser.add_argument('proteinA', type=str)
    parser.add_argument('proteinB', type=str)
    
    args = parser.parse_args()
    fingerprints = util.readDrugData(args.drugs)
    [targetSets, ligandSets] = util.readTargetData(args.targets, fingerprints.keys())
    # Return a dictionary with all parameters
    return {'n':args.n,'r':args.r, 
            'fingerprints':fingerprints, 'ligandSets':ligandSets, 
            'proteinA':args.proteinA, 'proteinB':args.proteinB}
Esempio n. 3
0
def initParams():
    parser = argparse.ArgumentParser()
    parser.add_argument('-n', metavar='n', type=int, default='100')
    parser.add_argument('-r', metavar='r', type=int, default='214')
    parser.add_argument('drugs', type=str)
    parser.add_argument('targets', type=str)
    parser.add_argument('proteinA', type=str)
    parser.add_argument('proteinB', type=str)

    args = parser.parse_args()
    fingerprints = util.readDrugData(args.drugs)
    [targetSets, ligandSets] = util.readTargetData(args.targets,
                                                   fingerprints.keys())
    # Return a dictionary with all parameters
    return {
        'n': args.n,
        'r': args.r,
        'fingerprints': fingerprints,
        'ligandSets': ligandSets,
        'proteinA': args.proteinA,
        'proteinB': args.proteinB
    }
Esempio n. 4
0
def tanimotoScoresForAllDrugPairs(drugsfile, targetsfile, outputfile):
    fingerprints = util.readDrugData(drugsfile)
    [targetSets, ligandSets] = util.readTargetData(targetsfile, fingerprints.keys())
    util.computeAllTanimotoScores(fingerprints, targetSets, outputfile)
Esempio n. 5
0
def tanimotoScoresForAllDrugPairs(drugsfile, targetsfile, outputfile):
    fingerprints = util.readDrugData(drugsfile)
    [targetSets, ligandSets] = util.readTargetData(targetsfile,
                                                   fingerprints.keys())
    util.computeAllTanimotoScores(fingerprints, targetSets, outputfile)