-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
The RNAfold -o flag will write to a file named RNAfold_output.fold if no value for -o is provided.
In the code, below, no filename is provided. If multiple instances of Crackling have been launched from the same directory and some just happen to be at the folding step then RNAfold may overwrite its own output. I ran into this issue when running many instances of Crackling on a HPC.
To fix this issue, an output file should be specified so that the default is not used.
Crackling/src/crackling/Crackling.py
Lines 426 to 440 in b00de36
| runner('{} --noPS -j{} -i {} -o'.format( | |
| configMngr['rnafold']['binary'], | |
| configMngr['rnafold']['threads'], | |
| configMngr['rnafold']['input'] | |
| ), | |
| shell=True, | |
| check=True | |
| ) | |
| os.replace('RNAfold_output.fold' ,configMngr['rnafold']['output']) | |
| printer('\t\tStarting to process the RNAfold results.') | |
| RNAstructures = {} | |
| with open(configMngr['rnafold']['output'], 'r') as fRnaOutput: |
I used this code as my temporary fix:
runner('{} --noPS -j{} -i {} -o {}'.format(
configMngr['rnafold']['binary'],
configMngr['rnafold']['threads'],
configMngr['rnafold']['input'],
configMngr['rnafold']['output']
),
shell=True,
check=True
)
#os.replace('RNAfold_output.fold' ,configMngr['rnafold']['output'])
printer('\t\tStarting to process the RNAfold results.')
RNAstructures = {}
with open(configMngr['rnafold']['output'], 'r') as fRnaOutput:Metadata
Metadata
Assignees
Labels
No labels