Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/kussell-lab/mcorr
23 January 2022, 09:11:33 UTC
  • Code
  • Branches (5)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/2019natmethods
    • refs/heads/2021biorxiv
    • refs/heads/dev
    • refs/heads/master
    • refs/heads/x
    • b983a9686f14fa3f14cc34ffbae19b401f8ef10a
    No releases to show
  • d0be5c8
  • /
  • README.md
Raw File Download
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge Iframe embedding
swh:1:cnt:1f6be94cd865a285cfa352f931156e1ffbdaed51
origin badgedirectory badge Iframe embedding
swh:1:dir:d0be5c852cc8729170a468539de06d4bf440ad0d
origin badgerevision badge
swh:1:rev:b983a9686f14fa3f14cc34ffbae19b401f8ef10a
origin badgesnapshot badge
swh:1:snp:bc0e5aa6513599be660f007d7b46ba12cce5b7e5

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Tip revision: b983a9686f14fa3f14cc34ffbae19b401f8ef10a authored by Asher Preska Steinberg on 29 October 2021, 14:43:27 UTC
updated README.md
Tip revision: b983a96
README.md
# mcorr
Using _Correlation Profiles_ of mutations to infer the recombination rate from large-scale sequencing data in bacteria.

## Requirements
* Install `git` from [https://git-scm.com](https://git-scm.com/);
* Install `go` from [https://golang.org/doc/install](https://golang.org/doc/install);
* Install `python3` from [https://www.python.org/](https://www.python.org/) (we found running issues using the default Python in MacOS);
* Install `pip3` from [https://pip.pypa.io/en/stable/installing/](https://pip.pypa.io/en/stable/installing/).

## Installation
1. Install `mcorr-xmfa`, `mcorr-bam`, and `mcorr-fit` from your terminal:
```sh
go get -u github.com/kussell-lab/mcorr/cmd/mcorr-xmfa
go get -u github.com/kussell-lab/mcorr/cmd/mcorr-bam
cd $HOME/go/src/github.com/kussell-lab/mcorr/cmd/mcorr-fit
python3 setup.py install
```
or to install `mcorr-fit` in local directory (~/.local/bin in Linux or ~/Library/Python/3.6/bin in MacOS):
```sh
python3 setup.py install --user
```
2. Add `$HOME/go/bin` and `$HOME/.local/bin` to your `$PATH` environment. In Linux, you can do it in your terminal:
```sh
export PATH=$PATH:$HOME/go/bin:$HOME/.local/bin
```

In MacOS, you can do it as follows:
```sh
export PATH=$PATH:$HOME/go/bin:$HOME/Library/Python/3.6/bin
```

We have tested installation in Windows 10, Ubuntu 17.10, and MacOS Big Sur (on both Intel and M1 chips), using Python 3 and Go 1.15 and 1.16.

Typical installation time on an iMac is 10 minutes.

## Basic Usage
The inference of recombination parameters requires two steps:

1. Calculate _Correlation Profile_

    1. For whole-genome alignments (multiple gene alignments), use `mcorr-xmfa`:

       ```sh
       mcorr-xmfa <input XMFA file> <output prefix>
       ```
       The XMFA files should contain only *coding* sequences. The description of XMFA file can be found in [http://darlinglab.org/mauve/user-guide/files.html](http://darlinglab.org/mauve/user-guide/files.html). We provide two useful pipelines to generate whole-genome alignments:
       * from multiple assemblies: [https://github.com/kussell-lab/AssemblyAlignmentGenerator](https://github.com/kussell-lab/AssemblyAlignmentGenerator);
       * from raw reads: [https://github.com/kussell-lab/ReferenceAlignmentGenerator](https://github.com/kussell-lab/ReferenceAlignmentGenerator)
   
    2. For read alignments, use `mcorr-bam`:
       ```sh
       mcorr-bam <GFF3 file> <sorted BAM file> <output prefix>
       ```
       The GFF3 file is used for extracting the coding regions of the sorted BAM file.
   
   3. For calculating correlation profiles between two clades or sequence clusters from
      whole-genome alignments, you can use `mcorr-xmfa-2clades`:
      
      ```sh
      mcorr-xmfa-2clades <input XMFA file 1> <input XMFA file 2>  <output prefix>
       ```
      Where file 1 and file 2 are the multiple gene alignments for the two clades.
      
    All programs will produce two files:
    * a .csv file stores the calculated Correlation Profile, which will be used for fitting in the next step;
    * a .json file stores the (intermediate) Correlation Profile for each gene.
2. Fit the Correlation Profile using `mcorr-fit`:
   
      1. For fitting correlation profiles as described in the 
     [ 2019 Nature Methods paper](https://pubmed.ncbi.nlm.nih.gov/30664775/) use
      `mcorr-fit`:
   
          ```sh
          mcorr-fit <.csv file> <output_prefix>
          ```
      
          It will produce four files:
      
          * `<output_prefix>_best_fit.svg` shows the plots of the Correlation Profile, fitting, and residuals;
          * `<output_prefix>_fit_reports.txt` shows the summary of the fitted parameters;
          * `<output_prefix>_fit_results.csv` shows the table of fitted parameters;
          * `<output_prefix>_lmfit_report.csv` shows goodness of fit-statistics from LMFIT

      2. To fit correlation profiles using the method from the Nature Methods paper and do model selection
      with AIC by comparing to the zero recombination case, use `mcorrFitCompare`:
   
          ```sh
          mcorrFitCompare <.csv file> <output_prefix>
          ```
      
         It will produce five files:
      
          * `<output_prefix>_recombo_best_fit.svg` and `<output_prefix>_zero-recombo_best_fit.svg` show the plots of the Correlation Profile, fitting, and residuals for the model with recombination and for the zero recombination case;
          * `<output_prefix>_comparemodels.csv` shows the table of fitted parameters and AIC values;
          * `<output_prefix>_recombo_residuals.csv` and `<output_prefix>_zero-recombo_residuals.csv` includes residuals for the model with recombination and the zero-recombination case
         

## Examples
1. [Inferring recombination rates of _Helicobacter pylori_ from whole genome sequences of a set of global strains](https://github.com/kussell-lab/Helicobacter_pylori_global_population);
2. [Inferring recombination rates of _Helicobacter pylori_ from reads sequenced from a transformation experiment](https://github.com/kussell-lab/Helicobacter_pylori_transformation_experiments).

back to top

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API