public void loadNodesScore(String path_loading_name) throws Exception {
		BufferedReader bin = null;
		String readline = null;
		
		try {
			//clear the node values
			for (MyNode node: nodes.values())
				node.reset();

			// Get the sum of the scores for all nodes using
			// this MeSH descriptor and qualifier as a major topic.
			bin = new BufferedReader(new InputStreamReader(
					new FileInputStream(path_loading_name)));
			Double sum = 0.0;
			while ((readline = bin.readLine()) != null) {
				// articleId, type, sources[]
				String linestring[] = readline.split(",",2);
				double score = Double.valueOf(linestring[1]);
				sum+=score;
			}
			log.debug("MeshPaperPageRank-loadingNodesScore: load node score = " + 
					sum + " for keyword = " + path_loading_name);
			bin.close();
			// We are reading the file twice, but the files
			// are fairly short since there is only a record
			// for a paper if it used the MeSH descriptor and qualifier
			// as a major topic.
			bin = new BufferedReader(new InputStreamReader(
					new FileInputStream(path_loading_name)));
			while ((readline = bin.readLine()) != null) {
				String linestring[] = readline.split(",",2);
				double score = Double.valueOf(linestring[1]);
				MyNode n=getNode(linestring[0]);
				if(n!=null)
				{
					n.setPrior(score/sum);
				} else {
					log.error("MeshPaperPageRank-loadNodesScore: in the file " +
							path_loading_name + " there was a record  for the node " +
							linestring[0] + " but that node was not in the tree.");
				}

			}
			bin.close();
			return;
		} catch (Exception e) {
			throw new Exception("An exception occurred in loadNodesScore for " +
					path_loading_name + ". Exception: " + e.getMessage(), e);
		} finally {
			try {bin.close();} catch(Exception ex){}
		}
	} //end of loadNodesScore