comparison matchms_networking_wrapper.py @ 0:e4ec3592507f draft

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f7bab98744e338dcdbdc9cf6f9de287632c76ea2
author recetox
date Tue, 18 Oct 2022 13:23:28 +0000
parents
children 8147d93d372d
comparison
equal deleted inserted replaced
-1:000000000000 0:e4ec3592507f
1 import argparse
2 import sys
3
4 from matchms.importing import scores_from_json
5 from matchms.networking import SimilarityNetwork
6
7
8 def main(argv):
9 parser = argparse.ArgumentParser(description="Create network-graph from similarity scores.")
10 parser.add_argument("--graph_format", type=str, help="Format of the output similarity network.")
11 parser.add_argument("--identifier", type=str, help="Unique metadata identifier of each spectrum from which scores are computed.")
12 parser.add_argument("--top_n", type=int, help="Number of highest-score edges to keep.")
13 parser.add_argument("--max_links", type=int, help="Maximum number of links to add per node.")
14 parser.add_argument("--score_cutoff", type=float, help="Minimum similarity score value to link two spectra.")
15 parser.add_argument("--link_method", type=str, help="Method for selecting top N edges for each node.")
16 parser.add_argument("--keep_unconnected_nodes", help="Keep unconnected nodes in the network.", action="store_true")
17 parser.add_argument("scores", type=str, help="Path to matchMS similarity-scores .json file.")
18 parser.add_argument("output_filename", type=str, help="Path where to store the output similarity network.")
19 args = parser.parse_args()
20
21 scores = scores_from_json(args.scores)
22
23 network = SimilarityNetwork(identifier_key=args.identifier,
24 top_n=args.top_n,
25 max_links=args.max_links,
26 score_cutoff=args.score_cutoff,
27 link_method=args.link_method,
28 keep_unconnected_nodes=args.keep_unconnected_nodes)
29
30 network.create_network(scores)
31 network.export_to_file(filename=args.output_filename, graph_format=args.graph_format)
32
33 return 0
34
35
36 if __name__ == "__main__":
37 main(argv=sys.argv[1:])
38 pass