Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in rule setup_transfer_mods #240

Open
trom2 opened this issue Apr 3, 2024 · 7 comments
Open

Error in rule setup_transfer_mods #240

trom2 opened this issue Apr 3, 2024 · 7 comments

Comments

@trom2
Copy link

trom2 commented Apr 3, 2024

I was trying to run Spritz for isoforms and variants using the most recent Spritz version (0.3.10) on 12 paired end fastq files but the program gives an error in rule setup_transfer_mods. I'm running this using the command line version on WSL on Windows 10. Error logs are attached, including the setup_transfer_mods.log. I pasted the error message below. Any help is appreciated.

[Wed Apr  3 09:36:30 2024]
rule setup_transfer_mods:
    input: ../SpritzModifications/bin/x64/Release/net6.0/SpritzModifications.dll
    output: ../resources/ptmlist.txt, ../resources/PSI-MOD.obo.xml
    log: ../resources/setup_transfer_mods.log
    jobid: 4
    benchmark: ../resources/setup_transfer_mods.benchmark

Activating conda environment: /home/msf/Programs/Spritz/Spritz/workflow/.snakemake/conda/e91e4b1e
[Wed Apr  3 09:36:35 2024]
Error in rule setup_transfer_mods:
    jobid: 4
    output: ../resources/ptmlist.txt, ../resources/PSI-MOD.obo.xml
    log: ../resources/setup_transfer_mods.log (check log file(s) for error message)
    conda-env: /home/msf/Programs/Spritz/Spritz/workflow/.snakemake/conda/e91e4b1e
    shell:
        cd ../resources/ && dotnet ../SpritzModifications/bin/x64/Release/net6.0/SpritzModifications.dll --setup &> ../resources/setup_transfer_mods.log
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

[Wed Apr  3 09:36:53 2024]
Finished job 9.
16 of 64 steps (25%) done
[Wed Apr  3 09:41:05 2024]
Finished job 16.
17 of 64 steps (27%) done
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: /home/msf/Programs/Spritz/Spritz/workflow/.snakemake/log/2024-04-03T081557.520730.snakemake.log

20240403_logs.zip

@acesnik
Copy link
Collaborator

acesnik commented Apr 3, 2024

Thanks for reporting the issue. It looks like this failed trying to download PSI-MOD. Maybe there's an issue with their database today. @trishorts, have you seen any issues like this today?

Welcome to SpritzModifications!
Downloading files for SpritzModifications.
Unhandled exception. System.AggregateException: One or more errors occurred. (The SSL connection could not be established, see inner exception.)
 ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
   at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at UsefulProteomicsDatabases.Loaders.AwaitAsync_GetSomeData(String url)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at UsefulProteomicsDatabases.Loaders.DownloadContent(String url, String outputFile)
   at UsefulProteomicsDatabases.Loaders.DownloadPsiMod(String psimodLocation)
   at UsefulProteomicsDatabases.Loaders.UpdatePsiMod(String psimodLocation)
   at UsefulProteomicsDatabases.Loaders.LoadPsiMod(String psimodLocation)
   at SpritzModifications.ProteinAnnotation.GetUniProtMods(String spritzDirectory) in /home/msf/Programs/Spritz/Spritz/SpritzModifications/ProteinAnnotation.cs:line 21
   at SpritzModifications.SpritzModifications.Main(String[] args) in /home/msf/Programs/Spritz/Spritz/SpritzModifications/SpritzModifications.cs:line 65

@acesnik
Copy link
Collaborator

acesnik commented Apr 3, 2024

I just tested this, and it completes with Github Actions (https://github.com/smith-chem-wisc/Spritz/actions/runs/8321106038/job/23415590102#step:7:113). Was there a momentary issue with your internet or a firewall that blocked the connection to PSI-MOD somehow?

@trom2
Copy link
Author

trom2 commented Apr 3, 2024

I don't think so, but I can check again tomorrow and let you know.

@trom2
Copy link
Author

trom2 commented Apr 4, 2024

I'm able to ping https://bioportal.bioontology.org/ontologies/PSIMOD though the time is ~500-600 ms which seems high to me. I'm wondering if Spritz is timing out? I tried changing the firewall settings to allow WSL, bash and ubuntu through the firewall but that didn't change anything. I get the same error and the ping is still 500-600 ms. Any suggestions?

I suppose I could manually download PSI-MOD and try to see if that could bypass it.

@acesnik
Copy link
Collaborator

acesnik commented Apr 4, 2024

I was just looking at the error again, and it looks like a certificate error rather than a timeout error; I haven't seen that one before.

To skip the step, you will need to download both the OBO-XML file and the ptmlist from uniprot into ../resources/. Here's the link to the ptmlist.txt file: https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/ptmlist.txt. The filenames would need to be exactly ptmlist.txt and PSI-MOD.obo.xml

@trom2
Copy link
Author

trom2 commented Apr 5, 2024

Looks like Spritz went through when I added the PSI-MOD and ptmlist. All good other than why the certificate error popped up in the first place. It might be my university's IT restrictions, but that would be odd if they were blocking PSI-MOD.

@acesnik
Copy link
Collaborator

acesnik commented Apr 8, 2024

Sounds great, thanks for the update! I'll keep an eye on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants