GillesFischerSorbonne / telofinder

12 stars 2 forks source link

Telofinder:TypeError: run_on_fasta_dir() missing 1 required positional argument: 'threads' #13

Open mpodio81 opened 6 months ago

mpodio81 commented 6 months ago

Hello, Thank you for this tool! I hope to be able to use it.

I installed it but when I tried to run it, I received this error:

Traceback (most recent call last): File "/home/mp/app/mp310_venv/bin/telofinder", line 8, in sys.exit(main()) File "/home/mp/app/mp310_venv/lib/python3.10/site-packages/telofinder/main.py", line 128, in main run_telofinder( File "/home/mp/app/mp310_venv/lib/python3.10/site-packages/telofinder/main.py", line 108, in run_telofinder raw_df, telom_df, merged_telom_df = run_on_fasta_dir( TypeError: run_on_fasta_dir() missing 1 required positional argument: 'threads'

Could you help me to resolve it? Thank you

ThDef commented 6 months ago

Hi ! I'm not part of the team but as I tried to use telofinder on my side, I got the same problem. My solution to fix this problem is the following :

Before installing the tool with the command pip install . You need to edit and rename some files. First, go in the telofinder directory where the files "main.py" and "telofinder.py" are located. Then, rename the "main.py" into "not_main.py" and "telofinder.py" into "main.py". Edit the newly named "main.py" with a basic text editor and at the end of the file, you should have these lines :

# Main program
if __name__ == "__main__":
    args = parse_arguments()
    output_dir_exists(args.force)
    run_telofinder(
        args.fasta_path,
        args.polynuc_threshold,
        args.entropy_threshold,
        args.nb_scanned_nt,
        args.direction,
        args.threads,
        args.raw,
        args.outdir,
    )

You need to edit these lines so they can look like this :

def main():
    args = parse_arguments()
    output_dir_exists(args.force)
    run_telofinder(
        args.fasta_path,
        args.polynuc_threshold,
        args.entropy_threshold,
        args.nb_scanned_nt,
        args.direction,
        args.threads,
        args.raw,
        args.outdir,
    )

# Main program
if __name__ == "__main__":
    main()

Then you just need to edit the "init.py" in the same directory and delete the lines under version="1.0.0"

After these steps, you can resume the installation and the tool should work !

mpodio81 commented 6 months ago

Thank you! I will try!

kathbarros commented 1 week ago

I had the same issue, and even after renaming and editing the files, I ended up with empty files.