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='')
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}
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 }
def tanimotoScoresForAllDrugPairs(drugsfile, targetsfile, outputfile): fingerprints = util.readDrugData(drugsfile) [targetSets, ligandSets] = util.readTargetData(targetsfile, fingerprints.keys()) util.computeAllTanimotoScores(fingerprints, targetSets, outputfile)