Phasing and scaffolding polyploid genomes based on Pore-C, HiFi-C, Ultra-long, or Hi-C data
.One of the major problems with Hi-C scaffolding of polyploid genomes is a large proportion of ambiguous short-read mapping, leading to a high-level of switched or chimeric assemblies. Now, the long-read-based chromosome conformation capture technology, e.g., Pore-C, HiFi-C, provides an effective way to overcome this problem. Here, we developed a new pipeline, namely C-Phasing
, which is specifically tailored for polyploid phasing by leveraging the advantage of Pore-C or HiFi-C data. It also works on Hi-C data and diploid genome assembly.
The advantages of C-Phasing
:
- High speed.
- High anchor rate of genome.
- High accuracy of polyploid phasing.
## Download C-Phasing and install all dependencies
git clone https://github.com/wangyibin/CPhasing.git
## activate environment (For the first configuration, run it when the network is accessible.)
source ./CPhasing/bin/activate_cphasing
## deactivate environment
exit
## Download C-Phasing and install all dependencies
git clone https://github.com/wangyibin/CPhasing.git
cd CPhasing
conda env create -f environment.yml
conda activate cphasing
## Add these command into .bash_profile or .bashrc
export PATH=/path/to/CPhasing/bin:$PATH
export PYTHONPATH=/path/to/CPhasing:$PYTHONPATH
## The hic pipeline require GLIBCXX_3.4.29, or you can add this command to your environment (.bash_profile)
export LD_LIBRARY_PATH=/path/to/anaconda3/envs/cphasing/lib:$LD_LIBRARY_PATH
The -n 8:4
parameter of the following commands means assembling a tetraploid (4) with 8 chromosome basic numbers. If you set -n 0:0
means partition in both rounds automatically, also support it set to -n 8:0
or -n 0:4
.
- Start from a pore-c data
cphasing pipeline -f draft.asm.fasta -pcd sample.fastq.gz -t 10 -n 8:4
- Start from multiple pore-c data: specify multiple
-pcd
parameters.
cphasing pipeline -f draft.asm.fasta -pcd sample1.fastq.gz -pcd sample2.fastq.gz -t 10 -n 8:4
Note
If you want to run on cluster system and submit them to multiple nodes, you can use cphasing mapper
and cphasing-rs porec-merge
to generate the merged porec.gz
file and input it by -pct
parameter.
- Start from a pore-c table (porec.gz), which is generated by
cphasing mapper
.
cphasing pipeline -f draft.asm.fasta -pct sample.porec.gz -t 10 -n 8:4
Run pipeline
or mapper
with --mm2-params "-x map-hifi -k 19 -w 19"
parameter. And the output similar to the results of pore-c data.
cphasing pipeline -f draft.asm.fasta -pcd hific.fastq.gz --mm2-params "-x map-hifi -k 19 -w 19" -t 10 -n 8:4
Note
The mapping results of HiFi-C is similar to Pore-C, such as output suffix with porec.gz
, and process it use porec-merge
, porec-intersect
, et al.
- Start from a paired-end Hi-C data
cphasing pipeline -f draft.asm.fasta -hic1 Lib_R1.fastq.gz -hic2 Lib_R2.fastq.gz -t 10 -n 8:4
Note
If you want to run multiple samples, you can use cphasing hic mapper
and cphasing-rs pairs-merge
to generate the merged pairs.gz
file, and input it by -prs
parameter.
[!NOTE]
If the total length of your input genome is larger than 8 Gb, the -hic-mapper-k 27 -hic-mapper-w 14
should be specified, to avoid the error of chromap.
- Start from a 4DN pairs file,
cphasing pipeline -f draft.asm.fasta -prs sample.pairs.gz -t 10 -n 8:4
- Skip some steps
## skip steps 1.alleles and 2.prepare steps
cphasing pipeline -f draft.asm.fasta -pct sample.porec.gz -t 10 -ss 1,2
- Perform only specified steps
## run 3.hyperpartition
cphasing pipeline -f draft.asm.fasta -pct sample.porec.gz -t 10 -s 3
- Add the
-hcr
parameter to remove the greedy contacts (several regions contact with the whole genome) to improve the phasing quality, recommend specified--pattern
to improve the performance of high confidence region identification.
cphasing pipeline -f draft.asm.fasta -pct sample.porec.gz -t 10 -hcr -p AAGCTT
- generate
.assembly
and.hic
, depend on 3d-dna
cphasing pairs2mnd sample.pairs.gz -o sample.mnd.txt
cphasing utils agp2assembly groups.agp > groups.assembly
bash ~/software/3d-dna/visualize/run-assembly-visualizer.sh sample.assembly sample.mnd.txt
Note
if chimeric corrected, please use groups.corrected.agp
and generate a new corrected.pairs.gz
by cphasing-rs pairs-break
- After curation
## convert assembly to agp
cphasing utils assembly2agp groups.review.assembly -n 8:4
## or haploid or a homologous group
cphasing utils assembly2agp groups.review.assembly -n 8
## extract contigs from agp
cphasing agp2fasta groups.review.agp draft.asm.fasta --contigs > contigs.fasta
## extract chromosome-level fasta from agp
cphasing agp2fasta groups.review.agp draft.asm.fasta > groups.review.asm.fasta
Rename and orient chromosome according a monoploid reference (or genome of closely related species).
cphasing rename -r mono.fasta -f draft.asm.fasta -a groups.review.agp -t 20
Note
To reduce the time consumed, we only align the first haplotype (g1) to the monoploid, which the orientation among different haplotypes has already been set to the same in the scaffolding
step. If not, you can set —unphased
to align all haplotypes to the monoploid to adjust the orientation.
C-Phasing enable to use ultra-long to correct chimeric and identify the high confidence regions (HCRs) to help assembly.
More details please check the documentation:
Documentation | 中文文档