File: CreateLocalSubgraph.py

package info (click to toggle)
shasta 0.14.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 29,636 kB
  • sloc: cpp: 82,262; python: 2,348; makefile: 222; sh: 143
file content (29 lines) | stat: -rwxr-xr-x 901 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/python3

import os
import sys



if len(sys.argv) != 4:
    print('Creates a local subgraph around a start vertex.\n'
          'Invoke with three arguments:\n',
          '- Name of the input dot file.\n',
          '- Name of the start vertex.\n',
          '- Maximum distance.')
          
inputFileName = sys.argv[1]          
vertexName = sys.argv[2]          
maxDistance = sys.argv[3]  

# Create an intermediate file that contains distances from the start vertex
# (vertex attribute "dist").
intermediateFileName =  'WithDistances-' + inputFileName
os.system(' '.join(['dijkstra -a', '"' + vertexName + '"', inputFileName, '>', intermediateFileName]))

# Only keep vertices that are close enough.
outputFileName = 'LocalSubgraph-' + inputFileName
os.system('gvpr -i \'N[dist<%s.]\' %s -o %s' % (maxDistance, intermediateFileName, outputFileName))

os.remove(intermediateFileName)