Approach

TransFIC stands for TRANsformed Functional Impact for Cancer. It is a method to transform Functional Impact Scores taking into account the differences in basal tolerance to germline SNVs of genes that belong to different functional classes. This transformation allows to use the scores provided by well-known tools (e.g. SIFT, Polyphen2, MutationAssessor) to rank the functional impact of cancer somatic mutations. Mutations with greater transFIC are more likely to be cancer drivers.

How does it work

TransFIC takes as input the Functional Impact Score of a somatic mutation provided by one of the aforementioned tools. It then compares that score to the distribution of scores of germline SNVs observed in genes with similar functional annotations (for instance genes with the same molecular function as provided by the Gene Ontologies). The score is thus transformed using the Zscore formula. The result is that mutations in genes that are less tolerant to germline SNVs are amplified, while the scores of mutations on relatively tolerant genes are decreased.

Performance

We have implemented the TransFIC of three well-known tools (e.g. SIFT, Polyphen2, MutationAssessor). We compared the performance of these three TransFIC to the original scores provided by the tools on eight different datasets containing a set of positive mutations enriched in cancer drivers and a set of negative SNVs either enriched in cancer passengers or composed of polymorphisms. We found that the TransFIC based on Gene Ontologies Molecular Functions annotation of the three tools classifies better these eight datasets than the original scores. For instance, the TransFIC of SIFT scores showed between ~1.3 and ~5 fold increase in the Matthews Correlation Coefficient with respect to original SIFT scores in the classification of the eight datasets. For PPH2 scores, the TransFIC scores improved the MCCs between ~1.1 and ~7 times. Finally, TransFIC MA scores showed MCC between ~1.1 and ~2.5 times greater than original MA scores.

Download standalone transFIC

How to submit a task

There are two ways to submit a task:

  • Using this web site which may be is more suitable for occasional users interested in viewing the results of a particular task.
  • Or programmatically using our web services at this url http://bg.upf.edu/transfic/taskService

    To submit a task use :
    curl -X PUT -T [path to file] http://bg.upf.edu/transfic/taskService
    (You will retrieve an Id of the task, i.e. TaskId)

    To retrieve the results :
    curl -X GET http://bg.upf.edu/transfic/taskService/[TaskId]

Submitting a task

Some recommendations before to submit your task :

  • If you are using this website verify that your browser has enabled the option to accept cookies.
    The server creates and stores a cookie in the user's computer to show their list of submited tasks each time they access the web. By refusing or having disabled the acceptance of cookies in the browser, the user won't be able to see their tasks after closing the browser or once the session has expired.
  • Split your dataset by chromosomes to dramatically reduce the time to complete the task[ref]
  • As much as possible don't submit tasks (specially with more than 300 rows) at the same time to avoid overcome the transFIC server resources. Better submit your new task once the previous is completed

Input format

There are two main formats allowed:

  • SNVs may be submitted for analysis both in chromosome and protein coordinates.
    The chromosome coordinates (hg19) input must follow this format:
    [CHROMOSOME] [START] [END] [MUTANT_NUCLEOTIDE]

    The END column is the same as the START for SNVs. Those four columns must be separated by tabs. Also a fifth column can optionally be added with the Variant name
    Ex:
    9 32473058 32473058 A
    7 43918688 43918688 C

  • Additionally, the input could be composed by two columns the strand of the SNV and an identifier:
    [PROTEIN_ID][variant]
    Also tab separated. Currently only Uniprot, RefSeq_Peptide and Ensembl identifiers are recognized by the webserver.
    The variant column must contain the following information (in this order ): change_position, reference_aminoacid and changed_aminoacid
    Ex:
    EGFR_HUMAN R521K
    EGFR_HUMAN R98Q

[*] Note

Please, note that the Variant Effect Predictor assumes that the allele submitted is coded in the forward strand. If you are assessing the effect of variants coded in the reverse strand, please introduce the complementary nucleotide instead.

Managing your tasks

Once submitted a list of SNVs, the server will create a task and will assign an identifier to it.
The information on the task lauched by the submission, including its identifier will automatically appear in the Task Summary Section of the Analysis Tab.
If you are using this website, the user may follow the execution of their task by automatically updating the task list (every 10 seconds) but the user may decide to refresh this page manually by clicking on the update link.
Once the task has been completed, the results may be retrieved by simply clicking on the id column of the selected task or by copying the url task identifier and pasting it in the browser address bar

In each row of the task list we can observe at the right end links to download, details, cancel or delete :

  • Download: Downlaod the resulting dataset
  • Details:View the log of the execution of the pipeline
  • Cancel:While the task is being executed a user can manually cancel it
  • Delete:The user can delete a task that has been already done

Task output results

  • The results may be either browsed in table format following the view link, or downloaded as a flat file through the download link.
    In the table browser the user may obtain an extended/summary view of the results (by selecting the proper option in the combo box) or may filter the results by :
    1. transFIC. Only rows with at least one transFIC score.
    2. transFIC all. Only rows with the three transFIC scores.
    3. Uniprot. Only rows with Uniprot ID.
    4. Existing variation. Only rows with existing variation.
    Additionally the user can download the whole set by the TSV all option, or the filtered one by the TSV filtered option
  • WebtransFIC output contains all columns produced by the Ensembl Variant Effect Predictor plus the scores of MutationAssessor and transFIC.
  • Please, note that only non-synonymous SNVs appear in this output!

transFIC Web server limitations

  • Tasks will be available in summary table up to 72h. Tasks longer than this duration are cancelled (if they were executing or pending) and removed from the task registry. If your task last longer than this, split your input data and send them into different tasks or please contact us in that case
  • Up to 2 tasks running simultanously
  • Up to 20 tasks per session. If more tasks are needed, the user must delete previous old tasks.

Implementation

transFIC server is a web-application designed modularly using well-known OO design patterns. Four different-decoupled modules compose transFIC server: task-management, transFIC-task, transFIC-web and transFIC-ws.
The orchestration of all the transFIC server modules starts when the application is deployed in the server. Initially the task-management module intervenes creating one factory agent for the transFIC-web and one for the web-service module. These agents as mentioned before hold a shared instance in memory of the task registry file. Every time a new user opens their web browser or a web-service call is performed, the factory agent creates a new task-manager (if needed) to carry out the user requests coming from transFIC-web or from transFIC-ws API. Once a new transFIC task is submitted, the task-manager interacts with the transFIC-task module to create a new task for the user. The manager registers a new entry in the registry, creates a new folder in the server and executes in parallel the task. The transFIC-task by it-self decides to change the status when it has already started, finished or if any problem has occurred during its execution.
More information at supplementary material.

How to cite transFIC

Please, cite this URL if you use transFIC

Don't forget to mention also the original tools:

transFIC v. 1.0