{"id":25597139,"url":"https://github.com/tleonardi/scripts","last_synced_at":"2025-09-12T06:33:05.861Z","repository":{"id":13056808,"uuid":"15737023","full_name":"tleonardi/scripts","owner":"tleonardi","description":"Various scripts that make my everyday life easier","archived":false,"fork":false,"pushed_at":"2017-12-04T15:21:31.000Z","size":38,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-21T12:47:49.645Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tleonardi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-08T14:05:37.000Z","updated_at":"2019-01-29T15:16:43.000Z","dependencies_parsed_at":"2022-08-28T09:40:53.858Z","dependency_job_id":null,"html_url":"https://github.com/tleonardi/scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tleonardi/scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleonardi%2Fscripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleonardi%2Fscripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleonardi%2Fscripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleonardi%2Fscripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tleonardi","download_url":"https://codeload.github.com/tleonardi/scripts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleonardi%2Fscripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274769616,"owners_count":25346209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-21T12:47:53.705Z","updated_at":"2025-09-12T06:33:05.355Z","avatar_url":"https://github.com/tleonardi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Script respository\nThis is my collection of various scripts (mostly bash and R) to automate simple repetive tasks.\n\n## Table of contents\n- [summary](#summary)\n- [p2fdr](#p2fdr)\n- [calcContext](#calccontextr)\n- [collapseCSV](#collapsecsv)\n- [ht](#ht)\n- [lsfTophat](#lsftophat)\n- [seqimp2html](#seqimp2html)\n- [seqimpSummarise](#seqimpsummarise)\n- [dropbox](#dropbox)\n- [csv2html](#csv2htm)\n- [dtCompare](#dtcompare)\n- [regExSelect](#regexselect)\n\n\n## summary\nEfficient script that reads a file and prints summary \nstatistics (n, min, quartiles, max, median, mean).\n\nUsage:\n     \n    summary [-h] [-c column] filename\n       -h     Print this help screen\n       -c \u003c1\u003e        Column\n       -m \u003c1024\u003e     Size of sort buffer (in MB)\n\n## p2fdr\nReads a tab separated file and uses the Benjamini and Hochberg method\nto calculate the FDR for the p-values in the specified column\n\nUsage:\n\n    p2fdr [-h] [-H] [-m SIZE] -c \u003ccolumn\u003e filename\n       -h displays this help message\n       -H ignores the first (header) row of the file\n       -m use SIZE as main memory buffer for sort (default 100M).\n       -c the number of the column with p-values\n       Notice: this script doesn't support pipes or named pipes\n\n# calcContext.R\ncalcContext.R is an R function that reads an RNA secondary structure in vienna format and returns the structural context of each nucleotide.\nThe output is a string of the same length of the input sequence where each character can take three values:\n- p: paired nucleotide\n- e: external nucleotide\n- l: nucleotide is in a loop\n- b: nucleotide is in a bulge\n\n# collapseCSV\nThis program reads a 2 fields tab separated files and using the first field as index it collapses the file putting the second field values all on the same line separated by commas.\nIf the -s option is provided it sums up all the second field values having the same index.\nThe input file must be sorted by the index.\t\n\n# ht\nht is a handy replacement for head that aligns columns in an orderly fashion.\nThis script was written by Dennis Gascoigne at some point in 2010\n\n# lsfTophat\nThis script allows to run Tophat on an LSF system with a shared filesystem. It runs Tophat on a node using a temporary local folder to store output. Upon completion, it copies the output back to a user-specified path.\n\nUsage:\n\n    usage: lsfTophat [-dnh] -p \u003cparams list\u003e -o \u003cout folder\u003e -i \u003cgenome index\u003e -f \u003cfastq\u003e -t \u003ctophat binary\u003e\n    \n    This script makes your life easier when you have to run Tophat over LSF.\n    Tophat's output is stored in a temporary directory on the node (under /tmp) \n    and upon colpletion the results are copied back to an output folder \n    specified with the -o option.\n    If the -n option is specified the results are directly stored in the output\n    directory rather than in /tmp. This is useful if the tophat tmp data exceeds\n    the size available on /tmp.\n    OPTIONS:\n       -h      Show this message\n       -p      List of parameters to be passed to Tophat\n       -o      Path where to save Tophat output (it's created if it doesn't exist)\n       -i      Path to genome index\n       -f      Path to Fastq file\n       -t      Path to Tophat binary\n       -d\t   Dry run\n       -n\t   Write directly to the folder specified by -o\n\n# seqimp2html\nSeqimp2html makes a folder with all QC plots from seqimp and an index.html file with links.\n\nUsage:\n\n    seqimp2html \u003canalysis_folder\u003e \u003cdescription.txt\u003e \u003coutput_dir\u003e\n        \u003canalysis folder\u003e: path to the analysis folder created by SequenceImp\n        \u003cdescription.txt\u003e: description file submitted to SequenceImp\n        \u003coutput_dir\u003e: path to the directory where to save output\n\n# seqimpSummarise\nSeqimpSummarise reads a SeqIMP description files and produces a properly formatted summary table of counts.\nUsage:\n \n    seqimpSummarise \u003canalysis_folder\u003e \u003cdescription.txt\u003e\n        \u003canalysis folder\u003e: path to the analysis folder created by SequenceImp\n        \u003cdescription.txt\u003e: description file submitted to SequenceImp\n\n# dropbox\n\nThis script copies a file to an http-accessible folder, provides the URL pointing to it (and optionally a shortened URL) and optionally sends the the link via email.\nIf the filename is not specified, the input is read from stdin and saved in the html folder\nUsage:\n\n    dropbox [-s] [-e \u003cemail\u003e] [-h] [-u \u003curl\u003e] [-f \u003cfolder\u003e] [-n] filename\n    Options:\n      -s            Shorten the URL using Google APIs\n      -e \u003cemail\u003e    Email address to send the link to.\n                    Default: tleonardi@gmail.com\n      -h            Print this help screen\n      -u \u003cURL\u003e      Base URL of the http folder\n                    Default: http://www.ebi.ac.uk/~tl344/dropbox\n      -f \u003cfolder\u003e   Save the file in the specified http-accessible folder.\n                    Default: /homes/tl344/public_html/dropbox\n      -n            Do not send an email\n      -o \u003cname\u003e     Target file name\n                    Default: source filename or date-time.html if reading from stdin\n\n# csv2htm\nThis script creates an HTML table from a tab delimited file. Optionally, the table will use the DataTables JS library. The delimited input file can be provided as a filename argument or through stdin.\nUsage:\n\n    csv2htm [OPTIONS] input.csv\n    Options:\n      -d       Specify delimiter to look for, instead of tab.\n      --head   Treat first line as header, required for proper function of datatables\n      --dt     Use Datables\n      --help   Print this help message\n\n# dtCompare\nThis script allows the visual comparison of multiple bigWig files.\nIt reads a set of matrices produced by deeptools and it generates multiple heatmaps in a single plot.\nIt uses ggplot2 for plotting and allows various forms of sorting in the plots (see comments for the configuration parameters)\nEach input matrix can be generated with a command like this:\n\n```\ncomputeMatrix reference-point --referencePoint TSS --regionsFileName annotation.bed  --sortRegions \"no\" --outFileNameMatrix matrix.txt --scoreFileName path.to.bigWig --beforeRegionStartLength 1000 --afterRegionStartLength 1000 --binSize 10 --missingDataAsZero --outFileName outfile\n```\n\n# regExSelect\nThis script for Adobe Illustrator selects text elements whose content matches a regular expression.\n\nThe search applies only to the selected objects. If no objects are selected it searches the whole document.\n\nTested in Illustrator CS6\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftleonardi%2Fscripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftleonardi%2Fscripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftleonardi%2Fscripts/lists"}