{"id":13703960,"url":"https://github.com/cole-trapnell-lab/cufflinks","last_synced_at":"2025-12-25T22:38:43.466Z","repository":{"id":19047187,"uuid":"22273126","full_name":"cole-trapnell-lab/cufflinks","owner":"cole-trapnell-lab","description":null,"archived":false,"fork":false,"pushed_at":"2020-03-31T06:34:50.000Z","size":490594,"stargazers_count":315,"open_issues_count":88,"forks_count":116,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-05-05T09:36:03.943Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cole-trapnell-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-25T22:42:41.000Z","updated_at":"2025-04-07T17:37:01.000Z","dependencies_parsed_at":"2022-08-19T10:13:38.842Z","dependency_job_id":null,"html_url":"https://github.com/cole-trapnell-lab/cufflinks","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cole-trapnell-lab/cufflinks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cole-trapnell-lab%2Fcufflinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cole-trapnell-lab%2Fcufflinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cole-trapnell-lab%2Fcufflinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cole-trapnell-lab%2Fcufflinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cole-trapnell-lab","download_url":"https://codeload.github.com/cole-trapnell-lab/cufflinks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cole-trapnell-lab%2Fcufflinks/sbom","scorecard":{"id":299285,"data":{"date":"2025-08-11","repo":{"name":"github.com/cole-trapnell-lab/cufflinks","commit":"dc3b0cb72a4ac2b6bbc887099e71fc0c21e107b7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Code-Review","score":7,"reason":"Found 10/14 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Boost Software License 1.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T20:15:55.978Z","repository_id":19047187,"created_at":"2025-08-17T20:15:55.978Z","updated_at":"2025-08-17T20:15:55.978Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28039254,"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-12-25T02:00:05.988Z","response_time":58,"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":"2024-08-02T21:01:02.277Z","updated_at":"2025-12-25T22:38:43.428Z","avatar_url":"https://github.com/cole-trapnell-lab.png","language":"C++","funding_links":[],"categories":["Next Generation Sequencing","RNA-seq"],"sub_categories":["Quantification","_de novo_ Assembly and Quantification"],"readme":"\n# Cufflinks\n\nThe main *website* for cufflinks is [here](http://cole-trapnell-lab.github.io/cufflinks/)\n\n*NOTE*: If you're looking for old releases of Cufflinks, including source, you can find them [here](http://cole-trapnell-lab.github.io/cufflinks/install/).\n\nCufflinks assembles transcripts, estimates their abundances, and tests for differential expression and regulation in RNA-Seq samples. It accepts aligned RNA-Seq reads and assembles the alignments into a parsimonious set of transcripts. Cufflinks then estimates the relative abundances of these transcripts based on how many reads support each one, taking into account biases in library preparation protocols. \n\nCufflinks was originally developed as part of a collaborative effort between the [Laboratory for Mathematical and Computational Biology](http://bio.math.berkeley.edu/), led by Lior Pachter at UC Berkeley, Steven Salzberg's [computational genomics group](http://ccb.jhu.edu/people/salzberg/) at the Institute of Genetic Medicine at Johns Hopkins University, and [Barbara Wold's lab](http://woldlab.caltech.edu/) at Caltech. The project is now maintained by [Cole Trapnell's](http://cole-trapnell-lab.github.io/) lab at the University of Washington.\n\nCufflinks is provided under the OSI-approved [Boost License](http://en.wikipedia.org/wiki/Boost_Software_License)\n\n# News\n\n*To get the latest updates on the Cufflinks project and the rest of the \"Tuxedo tools\", please subscribe to our [**mailing list**](https://lists.sourceforge.net/lists/listinfo/bowtie-bio-announce)* \n\n# Install quick-start\n\n## Installing a pre-compiled binary release\n\nIn order to make it easy to install Cufflinks, we provide a few binary packages [here](http://cole-trapnell-lab.github.io/cufflinks/install/) to save users from the occasionally frustrating process of building Cufflinks, which requires that you install the Boost libraries. To use the binary packages, simply download the appropriate one for your machine, untar it, and make sure the cufflinks,cuffdiff and cuffcompare binaries are in a directory in your PATH environment variable.\n\n# Building Cufflinks from source\n\nIn order to build Cufflinks, you must have the [Boost C++ libraries](http://www.boost.org/) (version 1.47 or higher) installed on your system. See below for instructions on installing Boost.\n\n## Installing Boost\n\n1. Download Boost and the bjam build engine. **WARNING:** Due to a serious issue with Boost Serlialization library introduced in version 1.56, Cufflinks currently can only be built with Boost version 1.55 or lower.  The issue is expected to be fixed in the upcoming Boost v1.59.\n2. Unpack bjam and add it to your PATH.\n3. Unpack the Boost tarball and cd to the Boost source directory. This directory is called the BOOST_ROOT in some Boost installation instructions.\n4. Build Boost. Note that you can specify where to put Boost with the --prefix option. The default Boost installation directory is /usr/local. Take note of the boost installation directory, because you will need to tell the Cufflinks installer where to find Boost later on.\n\n- If you are on Mac OS X, type (all on one line): \n```bash\nbjam --prefix=\u003cYOUR_BOOST_INSTALL_DIRECTORY\u003e --toolset=darwin architecture=x86 address_model=32_64 link=static runtime-link=static --layout=versioned stage install\n```\n\n- If you are on a 32-bit Linux system, type (all on one line): \n```bash\nbjam --prefix=\u003cYOUR_BOOST_INSTALL_DIRECTORY\u003e --toolset=gcc architecture=x86 address_model=32 link=static runtime-link=static stage install\n```\n\n- If you are on a 64-bit Linux system, type (all on one line): \n```bash\nbjam --prefix=\u003cYOUR_BOOST_INSTALL_DIRECTORY\u003e --toolset=gcc architecture=x86 address_model=64 link=static runtime-link=static stage install\n```\n\n## Installing the SAM tools\n\n1. [Download the SAM tools](http://samtools.sourceforge.net/)\n2. Unpack the SAM tools tarball and cd to the SAM tools source directory.\n3. Build the SAM tools by typing make at the command line.\n4. Choose a directory into which you wish to copy the SAM tools binary, the included library \u003ctt\u003elibbam.a\u003c/tt\u003e, and the library headers. A common choice is \u003ctt\u003e/usr/local/\u003c/tt\u003e.\n5. Copy libbam.a to the lib/ directory in the folder you've chosen above (e.g. \u003ctt\u003e/usr/local/lib/\u003c/tt\u003e)\n6. Create a directory called \"bam\" in the \u003ctt\u003einclude/\u003c/tt\u003e directory (e.g. \u003ctt\u003e/usr/local/include/bam\u003c/tt\u003e)\n7. Copy the headers (files ending in \u003ctt\u003e.h\u003c/tt\u003e) to the include/bam directory you've created above (e.g. \u003ctt\u003e/usr/local/include/\u003c/tt\u003ebam)\n8. Copy the samtools binary to some directory in your \u003ctt\u003ePATH\u003c/tt\u003e.\n\n## Installing the Eigen libraries\n\n1. [Download Eigen](http://eigen.tuxfamily.org/)\n2. Unpack the Eigen tarball and cd to the Eigen source directory.\n3. Copy the Eigen/ subdirectory someplace on your system where you keep header files (e.g. /usr/local/include)\n\n## Building Cufflinks\n\n### If you are starting from a source tarball downloaded from [here](http://cole-trapnell-lab.github.io/cufflinks/install/):\n\nUnpack the Cufflinks source tarball (in this example for version 2.2.1):\n```bash\ntar zxvf cufflinks-2.2.1.tar.gz\n```\nChange to the Cufflinks directory:\n```bash\ncd cufflinks-2.2.1\n```\n\n### If you want to clone the Cufflinks github repo:\n```bash\ngit clone https://github.com/cole-trapnell-lab/cufflinks.git\ncd cufflinks\nautoreconf --install\n```\nThe above will generate the configure script.\n\n### To configure Cufflinks prior to the build\n\nIf Boost is installed somewhere other than /usr/local, you will need to tell the installer where to find it using the --with-boost option. Specify where to install Cufflinks using the --prefix option.\n```bash\n./configure --prefix=/path/to/cufflinks/install --with-boost=/path/to/boost --with-eigen=/path/to/eigen\n```\n\nIf you see any errors during configuration, verify that you are using Boost version 1.47 or higher, and that the directory you specified via --with-boost contains the boost header files and libraries. See the Boost Getting started page for more details. If you copied the SAM tools binaries to someplace other than /usr/local/, you may need to supply the --with-bam configuration option.\nFinally, make and install Cufflinks.\n```bash\nmake\nmake install\n```\n\n## Testing the installation\n\n1. [Download](http://cufflinks.cbcb.umd.edu/downloads/test_data.sam) the test data\n2. In the directory where you placed the test file, type:\n\n```bash\ncufflinks ./test_data.sam\n```\n\nYou should see the following output:\n\n\u003cpre\u003e\n[bam_header_read] EOF marker is absent. The input is probably truncated.\n[bam_header_read] invalid BAM binary header (this is not a BAM file).\nFile ./test_data.sam doesn't appear to be a valid BAM file, trying SAM...\n[13:23:15] Inspecting reads and determining fragment length distribution.\n\u003e Processed 1 loci.                            [*************************] 100%\nWarning: Using default Gaussian distribution due to insufficient paired-end reads in open ranges.  \nIt is recommended that correct paramaters (--frag-len-mean and --frag-len-std-dev) be provided.\n\u003e Map Properties:\n\u003e       Total Map Mass: 102.50\n\u003e       Read Type: 75bp x 75bp\n\u003e       Fragment Length Distribution: Truncated Gaussian (default)\n\u003e                     Estimated Mean: 200\n\u003e                  Estimated Std Dev: 80\n[13:23:15] Assembling transcripts and estimating abundances.\n\u003e Processed 1 loci.                            [*************************] 100%\n\u003c/pre\u003e\n\nVerify that the file transcripts.gtf is in the current directory and looks like this (your file will have GTF attributes, omitted here for clarity)\n\n\u003cpre\u003e\ntest_chromosome Cufflinks       exon    53      250     1000    +       . \ntest_chromosome Cufflinks       exon    351     400     1000    +       . \ntest_chromosome Cufflinks       exon    501     550     1000    +       .\n\u003c/pre\u003e\t\n\n# Common uses of the Cufflinks package\n\nCufflinks includes a number of tools for analyzing RNA-Seq experiments. Some of these tools can be run on their own, while others are pieces of a larger workflow. The complexity of your workflow depends on what you want to achieve with your analysis. For a complete discussion of how Cufflinks can help you with your analysis, please [see our protocol paper](http://www.nature.com/nprot/journal/v7/n3/full/nprot.2012.016.html). The paper includes a diagram (Figure 2) describing how the various parts of the Cufflinks package (and its companion tool TopHat) fit together. As of version 2.2.0, you can also run Cuffquant and Cuffnorm to make large scale analyses easier to handle. The figure below is an updated version of Figure 2 showing how the two utilities released after the protocol paper appeared fit into the workflow: \n\n\u003cdiv style=\"text-align:center\"\u003e\n![Workflow]({{ site.url }}/images/tuxedo_workflow.png)\n\u003c/div\u003e\n\nYou can use Cuffquant to pre-compute gene expression levels for each of your samples, which can save time if you have to re-run part of your analysis. Using Cuffquant also makes it easier to spread the load of computation for lots of samples across multiple computers. If you don't want to perform differential expression analysis, you can run Cuffnorm instead of Cuffdiff. Cuffnorm produces simple tables of expression values that you can look at in R (for example) to cluster samples and perform other follow up analysis.\t\n\n# Using pre-built annotation packages\n\nA number of steps in the Tuxedo package work better if you have pre-existing gene annotations. How you can use these annotations is detailed in our [protocol paper](http://www.nature.com/nprot/journal/v7/n3/full/nprot.2012.016.html). Illumina has kindly provided a large number of annotation packages for commonly used model organisms and humans. You can find these packages [here]({{ site.url }}/igenome_table/index.html).\t\n\n# References\n\nCufflinks is an ongoing research project as well as a suite of tools. Here are the papers that describe the science behind the programs. If you use Cufflinks, please cite these papers in your work!\n\n**Transcript assembly and quantification by RNA-Seq reveals unannotated transcripts and isoform switching during cell differentiation**\nCole Trapnell, Brian Williams, Geo Pertea, Ali Mortazavi, Gordon Kwan, Jeltje van Baren, Steven Salzberg, Barbara Wold, Lior Pachter.\n*Nature Biotechnology*, 2010, doi:10.1038/nbt.1621\n*Note: This is the original Cufflinks paper. Please cite this paper if you use Cufflinks in your work.*\n\n**Improving RNA-Seq expression estimates by correcting for fragment bias**\nAdam Roberts, Cole Trapnell, Julie Donaghey, John L. Rinn, Lior Pachter.\n*Genome Biology*, 2011, doi:10.1186/gb-2011-12-3-r22\n*Note: This paper describes improvements made to Cufflinks to handle bias in RNA-Seq read coverage. Please cite this paper if you use Cufflinks with the \u003ctt\u003e-b\u003c/tt\u003e option in your work.*\n\n**Identification of novel transcripts in annotated genomes using RNA-Seq**\nAdam Roberts, Harold Pimentel, Cole Trapnell, Lior Pachter.\n*Bioinformatics*, 2011, doi:10.1093/bioinformatics/btr355\n*Note: This paper describes the RABT assembly algorithm. Please cite this paper if you use Cufflinks in RABT mode in your work.*\n\n**Differential analysis of gene regulation at transcript resolution with RNA-seq**\nCole Trapnell, David Hendrickson, Martin Sauvageau, Loyal Goff, John L. Rinn, Lior Pachter\n*Nature Biotechnology*, 2012, doi:10.1038/nbt.2450\n*Note: This paper describes Cuffdiff 2. Please cite this paper if you use Cuffdiff in your work.*\n\nCufflinks builds on many ideas, including some\nproposed in the following papers:\n\n1. Ali Mortazavi, Brian A Williams, Kenneth McCue, Lorian Schaeffer and Barbara \nWold, \"Mapping and quantifying mammalian transcriptomes by RNA-Seq\",Nature \nMethods, volume 5, 621 - 628 (2008)\n2. Hui Jiang and Wing Hung Wong, \"Statistical Inferences for isoform expression\", \nBioinformatics, 2009 25(8):1026-1032=\n3.Nicholas Eriksson, Lior Pachter, Yumi Mitsuya, Soo-Yon Rhee, Chunlin Wang, \nBaback Gharizadeh, Mostafa Ronaghi, Robert W. Shafer, Niko Beerenwinkel, \"Viral \npopulation estimation using pyrosequencing\", PLoS Computational Biology, \n4(5):e1000074\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcole-trapnell-lab%2Fcufflinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcole-trapnell-lab%2Fcufflinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcole-trapnell-lab%2Fcufflinks/lists"}