Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include pairtools protocol #162

Open
4 of 5 tasks
nservant opened this issue May 5, 2023 · 3 comments
Open
4 of 5 tasks

Include pairtools protocol #162

nservant opened this issue May 5, 2023 · 3 comments
Labels
enhancement New feature or request
Milestone

Comments

@nservant
Copy link
Collaborator

nservant commented May 5, 2023

Description of feature

Add a new paramater --processing hicpro or --processing pairtools

propose an alternative to HiC-Pro with the analysis protocol proposed by 'dovotail' and based on bwa-mem2 and pairtools with the following steps :

  • Mapping with bwa-mem (version 2 instead of 1)
  • pairtools parse - get valid ligation product / parameters --min_mapq
  • pairtools sort - sorting pairs
  • paritools merge - merge pairs
  • pairtools dedup - remove PCR dups / parameters --keep_dups
  • pairtools split - generate pairs files (and final bam if useful ?)
  • pairtools select - filter pairs
  • pairtools stats - generate final stats

To validate ;

  • Remove multi-hits - parameter --keep_multi ?
  • Compatibility of pairtools with --digestion, --restriction_site, --ligation_site, --chromosome_size, --restriction_fragments parameters ?
  • Filtering on fragment size with pairtools ? options --max_insert_size --min_insert_size --max_restriction_fragment_size --min_fragment_size
  • Mode --dnase with pairtools ?
  • Filtering based on the distance (--min_cis_dist) for --dnase mode with --pairtools

Other ideas:

  • Replace --dnase option by --no_digestion for DNAseq, microC, etc.
@nservant nservant added the enhancement New feature or request label May 5, 2023
@nservant nservant changed the title Include Dovotail protocol Include pairtools protocol May 5, 2023
nservant added a commit to nservant/nf-core-hic that referenced this issue Jun 15, 2023
@nservant
Copy link
Collaborator Author

First test version available with --processing pairtools

@nservant
Copy link
Collaborator Author

The options --keep_multi / --min_mapq / --min_cis_dist / --save_interaction_bam have been managed

@nservant nservant pinned this issue Jun 15, 2023
nservant added a commit to nservant/nf-core-hic that referenced this issue Jun 15, 2023
@nservant
Copy link
Collaborator Author

nservant commented Jun 21, 2023

First version tested.

To further validate before release ... still need to find a way to use the options :

  • --min_insert_size / --max_insertisize
  • --min_restriction_fragment_size / --max_restriction_fragment_size
       ext.args = { [
            "(mapq1>${params.min_mapq} and mapq2>${params.min_mapq})",
            params.min_cis_dist > 0 ? " and (abs(pos1-pos2) < ${params.min_cis_dist})" : '',
            params.keep_multi ? " and ((pair_type=='UU') or (pair_type=='UR') or (pair_type=='RU') or (pair_type=='MM') or (pair_type=='MU'))" : 
                                " and ((pair_type=='UU') or (pair_type=='UR') or (pair_type=='RU'))",
            params.dnase ? '' : " and (abs(int(rfrag1) - int(rfrag2)) > 1)",
            //params.min_insert_size > 0 ?  " and ( (rfrag_end1 - r1pos) + (rfrag_end2 - r2pos)) > ${params.min_insert_size}" : '',
            //params.max_insert_size > 0 ? " and ( (rfrag_end1 - r1pos) + (rfrag_end2 - r2pos)) < ${params.max_insert_size}" : '',
            //params.min_restriction_fragment_size > 0 ? " -t ${params.min_restriction_fragment_size}" : '',
            //params.max_restriction_fragment_size > 0 ? " -m ${params.max_restriction_fragment_size}" : '',
        ].join(' ').trim() }

@nservant nservant added this to the version-2.2.0 milestone Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant