\n Catsnap uses the submitted pair of sequences corresponding to the alternative splicing (AS) event of interest to find similar protein pairs in other species.\n
Demonstration video for Catsnap
\n \n
Video tutorial for Catsnap
\n \n
The NCBI accession mode input
\n A pair of alternative proteins are submitted as RefSeq/GenBank (plants) or RefSeq (animals) protein accession numbers separated by a comma. Here is one of the ways how to obtain these protein accession numbers from RefSeq:\n \n
Select the respective page referring to your gene. Scroll to the section “Genomic regions, transcripts and products”, where the gene is displayed by the NCBI Sequence Viewer. A left click on the green gene diagram unfolds available alternative isoforms for mRNA (purple) and PROTEIN (red) (follow red arrows).\n \n
\n
The protein accession number can be copied to the clipboard from the tooltip, which pops up after hovering the mouse over the corresponding protein diagram.\n \n
\n
Paste the copied accession numbers separated by a comma in the Catsnap query field. Select whether you prefer Reduced (faster computing) or Full Database Submit (slower computing).
\n \n
Troubleshooting:
\n \n
Make sure the entered numbers are PROTEIN accession numbers (for RefSeq, starting with NP_, XP_), not mRNA or genes.
\n
If the entered accession number is correct, but such accession cannot be found in the internal Catsnap library, it is possible that the RefSeq/GenBank databases have been updated in the meanwhile. In such a case, please use the search in the sequence mode.
\n
The recommended web browser is Google Chrome.
\n \n\n \n
Multiple queries input in the NCBI accession mode
\n Each query pair must be entered on a new line. Queries can be copied and pasted from an Excel file or a text editor. \n \n\n \n
The sequence mode input
\n A sequence-based search can also be done. Three sequences must be provided:\n \n
the NUCLEOTIDE sequence of the isoform one,
\n
the NUCLEOTIDE sequence of the isoform two,
\n
the NUCLEOTIDE sequence of their gene of origin.
\n \n The isoform sequences must contain only protein-coding regions lacking 5’- and 3’-untranslated regions (UTRs) and introns. \n Gene sequence must contain exons and introns, the presence of 5’- and 3’-UTR does not matter. \n Catsnap accepts plain sequences, as well as those containing spaces or digits, filtering everything except A, T, G and C:\n \n \n
Troubleshooting:
\n \n
Make sure that the NUCLEOTIDE sequences are entered.
\n
The error notification \"One of the entered sequences is too long\" may arise when very long animal genes are entered. For its work, Catsnap needs to know the positions of exon boundaries in the isoforms. In the sequence mode, exon boundaries are found when isoforms are aligned within the gene sequence by the MUSCLE alignment tool. In the resulting alignment, the exonic sequences of the isoforms and the gene are grouped together, interrupted by the gene introns. The alignment of very long sequences may fail. In such a case, since we are only intrested in the positions of the introns and their nucleotide sequence doesn't matter, the user can shorten the gene length by partial removal of the intronic sequences of the gene.
\n
The recommended web browser is Google Chrome.
\n \n \n \n
Output
\n Catsnap returns similar protein pairs from other species as amino acid sequences listed in descending order following their similarity scores. \n The similarity score values fall in the range between 0 and 1, where 1 means complete identity. \n The results can be downloaded in the FASTA format by clicking the button \"Download Sequences\" , \n which is going to download an archive file containing the two text files per query:\n \n
All hits in a species – contains all identified similar protein pairs in a species.
\n
Best hits in a species – contains only a single pair with the highest similarity score per species. \n This file is available for an immediate alignment on the output page by clicking the buttons “Muscle Alignment of All Sequences” and “Muscle Alignment of N Sequences” .\n The alignment is made by the MUSCLE algorithm. Also, the exon-intron structures of the coding regions can be built for the sequences from the “Best hits in a species” file. \n First, align the desired number of sequences and click “Structure” .\n
\n \n Otherwise, the downloaded FASTA files can be aligned in any alignment tool.\n\n \n \n
Online alignment tool
\n Protein pairs scored as most similar to the query pair are displayed on the output page and can be aligned directly on the web page. There are two buttons for sequence alignment:\n \n
“Muscle Alignment of All Sequences” performs alignment of all displayed sequences.
\n
If convenient, the user can reduce the number of aligned sequences by selecting the button . \n To adjust the number of sequences (for example, 60 instead of 30), reset the alignment by clicking “Restore All Sequences” and re-enter the modified number of sequences again.
\n \n The simple alignment tool allows for basic sequence handling such as: \n \n
Removing selected sequences – left click on the sequence name (the name becomes highlighted) and press “delete” on the keyboard;
\n
Moving sequences up and down within the list – left-click on the sequence name and hold to drag to a new position;
\n
Realignment of the sequences – click “Muscle Alignment of All Sequences” or “Muscle Alignment of N Sequences” , when another alignment is needed;
\n
Editing of the column with names – double left-click on the sequence name;
\n
Saving the alignment by clicking the button \"Save Alignment\" .
\n \n\n \n
Multiple queries output
\n Switching between results is carried out through the drop-down menu in the upper left corner, where the names of the current gene and pairs are displayed:\n \n Clicking the button \"Download Sequences\" downloads the results for all queries at once.\n Clicking the button \"Save Alignment\" downloads the displayed alignment.\n\n \n \n
Visualization of exon-intron structures of the isoforms
\n You can visualize exon-intron structures of the coding regions. To build structures, first align the preferred number of sequences clicking “Muscle Alignment of All Sequences” ” or “Muscle Alignment of N Sequences” and then select “Structure” . You can modify the number of sequences by resetting the alignment by clicking “Restore All Sequences” and enter the requested number again. \n \n The structures are built on the basis of amino acid alignments, which allows for outlining the homologous exons. Insertions, which are not conserved in other species, are shown as white gaps. Exons, which have been merged in certain species, are shown in frames.\n \n Note that Catsnap shows structures only for predicted coding sequences. It is not aware of events in untranslated regions and different mRNAs coding for the same putative protein. Catsnap will not differentiate between the instances (1) and (2), as below:\n \n Some genes, usually in animals, show very long exons, which complicates the displaying of AS events. Clicking the button “Compressed introns” will shorten the lengths of displayed introns relative to exons. \n \"Long introns\" view:\n \n \"Compressed introns\" view:\n \n\n \n
Help
\n Should you have any difficulties or comments while using Catsnap, please contact us at catsnap.help@gmail.com. \n This site has been created to make Catsnap available for a broad biological community. \n We are happy to assist you with using it and further improving it. \n \n \n \n
Using and citing Catsnap
\n Timofeyenko K, Konovalov D, Alexiou P, Kalyna M, Růžička K. Catsnap: a user-friendly algorithm for determining the conservation of protein variants reveals extensive parallelisms in the evolution of alternative splicing, https://doi.org/10.1111/nph.18799 \n The code is available at https://github.com/kdcd/catsnap. \n \n\n\n\n\n\n\n
\n
\n\n","\n\n\n\n
\n
\n
Contacts
\n
\n navigate(\"/\")}>\n navigate(\"/help/\")}>\n
\n \n
\n
\n\n Should you have any difficulties using Catsnap please send us an email to catsnap.help@gmail.com. This site has been created to make Catsnap available to a broader audience of experimental biologists and we will be happy to assist you in using it.\n\n\n
\n
\n\n","\n\n\n
\n \n \n \n \n \n
\n\n\n","import App from './App.svelte';\nconst app = new App({\n target: document.body,\n props: {\n name: 'world'\n }\n});\nexport default app;\n"],"names":["noop","assign","tar","src","k","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","subscribe","store","callbacks","unsub","unsubscribe","component_subscribe","component","callback","$$","on_destroy","push","create_slot","definition","ctx","$$scope","slot_ctx","get_slot_context","slice","update_slot","slot","slot_definition","dirty","get_slot_changes_fn","get_slot_context_fn","slot_changes","lets","undefined","merged","len","Math","max","length","i","get_slot_changes","slot_context","p","exclude_internal_props","props","result","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","element","name","document","createElement","text","data","createTextNode","space","empty","listen","event","handler","options","addEventListener","removeEventListener","attr","attribute","value","removeAttribute","getAttribute","setAttribute","to_number","set_data","wholeText","set_input_value","input","set_style","key","important","style","setProperty","crossorigin","current_component","is_crossorigin","window","parent","error","toggle_class","toggle","classList","set_current_component","get_current_component","Error","onMount","on_mount","setContext","context","set","getContext","get","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","flushing","seen_callbacks","Set","flush","update","pop","has","add","clear","fragment","before_update","after_update","outroing","outros","group_outros","r","c","check_outros","transition_in","block","local","delete","transition_out","o","d","globals","globalThis","global","destroy_block","lookup","update_keyed_each","old_blocks","get_key","dynamic","list","destroy","create_each_block","next","get_context","n","old_indexes","new_blocks","new_lookup","Map","deltas","child_ctx","abs","will_move","did_move","m","first","new_block","old_block","new_key","old_key","get_spread_object","spread_props","create_component","mount_component","new_on_destroy","map","filter","destroy_component","detaching","make_dirty","then","fill","init","instance","create_fragment","not_equal","parent_component","bound","skip_bound","ready","ret","rest","hydrate","nodes","Array","from","childNodes","children","l","intro","SvelteComponent","[object Object]","this","$destroy","type","index","indexOf","splice","$$props","obj","$$set","keys","subscriber_queue","writable","start","stop","subscribers","new_value","run_queue","s","invalidate","subscriber","derived","stores","initial_value","single","isArray","stores_array","auto","inited","values","pending","cleanup","sync","unsubscribers","LOCATION","ROUTER","getLocation","source","location","state","history","globalHistory","listeners","listener","popstateListener","action","to","replace","Date","now","replaceState","pushState","e","createHistory","Boolean","initialPathname","stack","pathname","search","states","entries","_","uri","split","createMemorySource","navigate","paramRe","isSplat","segment","segmentize","stripSlashes","str","rankRoute","route","score","default","path","reduce","isRootSegment","test","isDynamic","SEGMENT_POINTS","pick","routes","match","default_","uriPathname","uriSegments","isRootUri","ranked","sort","rankRoutes","missed","params","routeSegments","routeSegment","uriSegment","decodeURIComponent","join","dynamicMatch","exec","combinePaths","basepath","url","locationContext","routerContext","activeRoute","hasActiveRoute","base","routerBase","registerRoute","$base","_path","matchingRoute","$location","rs","unregisterRoute","bestMatch","$routes","levels","updates","to_null_out","accounted_for","routeParams","routeProps","$activeRoute","thisArg","args","arguments","apply","toString","prototype","val","call","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","hasOwnProperty","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","merge","assignValue","extend","bind","trim","stripBOM","content","charCodeAt","encode","encodeURIComponent","paramsSerializer","serializedParams","utils","parts","v","toISOString","JSON","stringify","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","eject","id","h","headers","__CANCEL__","normalizedName","toUpperCase","message","config","code","request","response","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","enhanceError","write","expires","domain","secure","cookie","toGMTString","read","RegExp","remove","ignoreDuplicateOf","originURL","msie","userAgent","urlParsingNode","resolveURL","href","protocol","host","hash","hostname","port","charAt","requestURL","parsed","reject","requestData","requestHeaders","XMLHttpRequest","auth","username","password","unescape","Authorization","btoa","baseURL","requestedURL","fullPath","relativeURL","combineURLs","open","method","buildURL","timeout","onreadystatechange","readyState","status","responseURL","responseHeaders","getAllResponseHeaders","line","substr","toLowerCase","concat","responseType","responseText","statusText","validateStatus","createError","settle","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","xsrfCookieName","cookies","xsrfHeaderName","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","adapter","defaults","process","require$$0","transformRequest","normalizeHeaderName","transformResponse","parse","maxContentLength","maxBodyLength","common","Accept","throwIfCancellationRequested","throwIfRequested","transformData","reason","isCancel","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","prop","axiosKeys","otherKeys","Axios","instanceConfig","interceptors","mergeConfig","chain","dispatchRequest","interceptor","unshift","shift","getUri","Cancel","CancelToken","executor","TypeError","resolvePromise","token","createInstance","defaultConfig","axios","require$$1","require$$2","all","promises","spread","arr","payload","Api","__awaiter","_arguments","P","generator","queryInputElement","startSearch","iso1InputElement","iso2InputElement","geneInputElement","ROOT_URL","searchStart","async","Access-Control-Allow-Origin","credentials","getProgress","queryId","getResults","align","queryResults","alignSocket","onProgress","onResult","socket","WebSocket","progress","close","resultsArchiveUrl","query","getComputedStyle","position","iframe","tabIndex","contentWindow","onload","includes","preventDefault","namesDragOver","min","changeQueryIdx","handleAlign","items","topKItems","setStructureView","sequenceElement","structureElement","setIntronsView","longedElement","shortedElement","namesDragStart","namesDragDrop","namesHovering","namesOnClick","currentTarget","contentEditable","namesEdited","focus","rowsNamesElement","canvas","clientHeight","clientWidth","body"],"mappings":"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"}