成功在 Conda Python 2.7 环境中安装 Clipper(eCLIP peak caller)


🔬 成功在 Conda Python 2.7 环境中安装 Clipper(eCLIP peak caller)

本文记录了如何在无 root 权限下使用 Conda 环境,解决依赖、构建扩展模块并成功安装运行 clipper 的详细流程。适用于再现 eCLIP 分析流程时遇到 clipper 安装失败的情况。


🧱 环境准备

✅ 创建 Python 2.7 环境

conda create -n clipper_py27 python=2.7
conda activate clipper_py27

📦 安装依赖

✅ 安装 GCC 编译器(适用于无 root 的 Conda 环境)

conda install -c conda-forge gcc_linux-64=7 gxx_linux-64=7

✅ 安装编译依赖

conda install cython numpy pysam pybedtools

有些模块的最新版本不支持 Python 2.7,请手动指定版本:

conda install "numpy<=1.16" "pysam<=0.15.3" "pybedtools<=0.8.1" -c bioconda -c conda-forge

⏬ 下载 clipper 源码并切换到历史兼容版本

git clone https://github.com/YeoLab/clipper.git
cd clipper
git checkout 5d865bb17b2bc6787b4c382bc857119ae917ad59

这个版本兼容 Python 2.7,且没有使用过高版本的 scikit-learn, matplotlib, scipy 等依赖。


⚒️ 编译 Cython 和 C++ 模块

Clipper 依赖两个扩展模块:readsToWigglepeaks,需要先构建:

python setup.py build_ext --inplace

如果遇到 crypt.h: No such file or directory 错误,需安装 libxcrypt-dev(若无 sudo 权限,可联系管理员,或在支持的 HPC 环境中使用系统模块加载)。


🛠 安装 clipper 到 Conda 环境中(避免 egg)

为避免 .egg 导入失败,使用标准方式安装:
其中setup中一些依赖包的版本应该如下:

##setup.py
install_requires = ['setuptools', 'pysam >= 0.15.3','numpy <= 1.16.6 ','scipy<=1.2.1','matplotlib<=2.2.5','pybedtools <= 0.7.10','scikit-learn <=0.20.4','HTSeq<=0.6.1'],
python setup.py install --single-version-externally-managed --record record.txt

🧩 修复扩展模块无法找到的问题

有时安装完成后运行 clipper 仍报错:

ImportError: No module named peaks

虽然 clipper/src/peaks.so 已编译成功,但 Python 可能无法找到它。解决方法如下:

✅ 手动创建模块路径并复制 .so 文件:

mkdir -p $CONDA_PREFIX/lib/python2.7/site-packages/clipper/src/
cp ./clipper/src/peaks.so $CONDA_PREFIX/lib/python2.7/site-packages/clipper/src/

确认成功导入:

python -c "import clipper.src.peaks; print(clipper.src.peaks)"

✅ 最终测试 clipper 是否可用

clipper --help

成功输出帮助信息:

usage: clipper [-h] [-b BAM_FILE] [-s STRANDEDNESS] ...

🎉 至此,Clipper 已成功在 Python 2.7 Conda 环境中安装并可正常运行!


💡 小贴士

  • 避免使用 setup.py install 安装为 .egg 格式,否则 Python 2.7 下容易出现 ImportError
  • 若你在服务器中没有 root 权限,建议提前准备 GCC 环境(如 gcc_linux-64),并避免使用 pip 安装依赖。
  • 建议将 clipper 安装在 ~/eCLIP/bin/clipper 目录中并作为模块管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过 VS Code 连接 GitLab 并上传项目

通过 VS Code 连接 GitLab 并上传项目&#xff0c;请按照以下步骤操作&#xff1a; 1. 安装必要工具 确保已安装 Git 并配置用户名和邮箱&#xff1a; git config --global user.name "你的用户名" git config --global user.email "你的邮箱" 在 VS Cod…

开源夜莺支持MySQL数据源,更方便做业务指标监控了

夜莺监控项目最核心的定位&#xff0c;是做一个告警引擎&#xff0c;支持多种数据源的告警。这个版本的更新主要是增加了对 MySQL 数据源的支持&#xff0c;进一步增强了夜莺在业务指标监控方面的能力。 之前版本的夜莺主要聚焦在 Prometheus、VictoriaMetrics、ElasticSearch…

SpringCloud + MybatisPlus:多租户模式与实现

一、多租户的基本概念 多租户(Multi-Tenancy) 是指在一套软件系统中,多个租户(客户)共享相同的基础设施和应用程序,但数据和配置相互隔离的架构模式。其核心目标是 降低成本 和 保证数据安全。 核心特点: 资源共享:租户共享服务器、数据库、代码等资源。数据隔离:通…

Kafka入门:解锁核心组件,开启消息队列之旅

一、引言 Kafka以超高速吞吐、精准的路由策略和永不掉线的可靠性&#xff0c;让海量数据在分布式系统中畅行无阻。无论你是刚接触消息队列的技术小白&#xff0c;还是寻求性能突破的开发老手&#xff0c;掌握 Kafka 核心组件的运作原理&#xff0c;都是解锁高效数据处理的关键…

前端项目Excel数据导出同时出现中英文表头错乱情况解决方案。

文章目录 前言一、Excel导出出现中英文情况。二、解决方案数据处理 三、效果展示总结 前言 在前端项目中实现Excel导出功能时&#xff0c;数据导出excel是常见的业务需求。但excel导出完表头同时包含了中文和英文的bug&#xff0c;下面是我的经验分享&#xff0c;应该可以帮助…

《开窍》读书笔记8

51.学会赞美他人&#xff0c;能净化心灵&#xff0c;建立良好人际关系&#xff0c;让生活充满阳光。 52.欣赏他人的学习过程&#xff0c;能激发潜能&#xff0c;促进相互成长&#xff0c;让有点共存。 53.别因“自我”一叶障目&#xff0c;要关注他人&#xff0c;欣赏与别欣赏式…

基于 Spring Cloud Gateway + Sentinel 实现高并发限流保护机制

基于 Spring Cloud Gateway Sentinel 实现视频播放接口限流保护机制 作者&#xff1a;NovaTube 开发者 &#xff5c; 时间&#xff1a;2025-06 标签&#xff1a;Spring Cloud Gateway、Sentinel、微服务、限流、接口保护 一、背景介绍 在我们开发的在线视频分享平台 NovaTube…

CountDownLatch入门代码解析

文章目录 核心思想&#xff1a;火箭发射倒计时 &#x1f680;最简单易懂的代码示例代码解析运行流程分析 核心思想&#xff1a;火箭发射倒计时 &#x1f680; 想象一下发射火箭的场景&#xff0c;在按下最终的发射按钮之前&#xff0c;必须有好几个系统同时完成自检&#xff0…

用Python写一个可视化大屏

用Python打造可视化大屏&#xff1a;数据洞察新视界 在当今数据爆炸的时代&#xff0c;数据可视化成为了理解和传达复杂信息的关键工具。Python作为一门强大且灵活的编程语言&#xff0c;提供了丰富的库和工具&#xff0c;让我们能够创建出令人惊叹的可视化大屏。本文将带你逐步…

20250611让NanoPi NEO core开发板在Ubuntu core16.04系统下开机自启动的时候拉高GPIOG8

rootNanoPi-NEO-Core:/# touch open_4g_ec20.sh rootNanoPi-NEO-Core:/# vi open_4g_ec20.sh 【打开使能引脚200 IOG8】 echo 200 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio200/direction echo 1 > /sys/class/gpio/gpio200/value 【切记&#xff1a…

解惑1、为何大容量电容滤低频,小容量电容滤高频

一、电容的种类&#xff1a; 链接&#xff1a; 二、疑惑 理论推算&#xff1a; 1&#xff09;Zc1/wc&#xff0c;那么大容量和小容量的电容&#xff0c;不应该都是 越高频越阻抗低&#xff0c;越容易通过&#xff1f; 2&#xff09;大容量&#xff0c;积蓄电荷速度慢&#…

如何有效监控JVM环境,保障应用性能

缓慢的Java应用程序、意外崩溃和晦涩的内存问题——这些都是JVM可能在默默承受压力的信号。JVM监控对于保障Java应用的正常运行时间和最佳性能至关重要&#xff0c;它提供了对Java虚拟机内存、线程和CPU资源使用情况的可见性&#xff0c;使管理员能够在影响终端用户之前识别性能…

python:PyQt5 开发一个邮件客户端,能编写邮件,发送邮件及附件

PyQt5 邮件客户端 下面是一个简洁高效的邮件客户端实现&#xff0c;支持编写邮件、添加附件和发送邮件功能&#xff1a; 编写 eMailClient_qt.py 如下 # -*- coding: utf-8 -*- """ 用 PyQt5 开发一个邮件客户端&#xff0c;能编写邮件&#xff0c;发送邮件及…

React【回顾】 深层次面试详解:函数式组件核心原理与高级优化

以下是对 React 深层次内容的全面解析,涵盖函数式组件的核心原理、性能优化、设计模式和最新特性: 🔧 一、React 核心机制剖析 1. Fiber 架构深解 Fiber 节点结构:function FiberNode(tag, pendingProps, key) {this.tag = tag; // 组件类型(函数组件=0, 类…

视觉语言模型的“视而不见“

这项研究发现&#xff0c;号称能“看图说话”的视觉语言模型&#xff08;VLMs&#xff09;&#xff0c;在处理需要真正“看”懂图片的纯视觉任务&#xff08;如判断深度、找对应点、认物体材质等&#xff09;时&#xff0c;表现远不如它们自己内部的“眼睛”&#xff08;视觉编…

Wyn 商业智能与 3D 大屏的深度融合应用

引言 在当今数字化快速发展的时代&#xff0c;数据可视化对于企业的决策和管理变得至关重要。商业智能软件作为数据可视化的重要工具&#xff0c;能够帮助企业将海量的数据转化为直观、易懂的信息。而 3D 大屏以其沉浸式、立体的展示效果&#xff0c;为数据可视化带来了全新的…

使用docker compose部署netmaker打通内网

准备 我看官网推荐都是使用ssl然后要ssl证书&#xff0c;不想走弯路了 一、docker-compose.yml version: "3.4"services:netmaker:container_name: netmakerimage: gravitl/netmaker:v0.90.0restart: unless-stoppedports:- "18081:18082"- "50051…

Linux集市采购指南[特殊字符]:yum和apt的“抢货”大战!

Linux集市采购指南&#x1f345;&#xff1a;yum和apt的“抢货”大战&#xff01; ✨ 欢迎来到 Linux软件生态集市&#xff01;这里分两大阵营&#xff1a; &#x1f96c; CentOS/RHEL传统菜市场&#xff1a;派稳重的 yum 大叔当采购员&#xff0c;做事一板一眼&#xff1b;✨…

DataX 框架学习笔记

官方仓库&#xff1a; https://github.com/alibaba/DataX?tabreadme-ov-file 1. 介绍 1.1. 基本介绍&#xff1a; DadaX 是阿里云 DataWorks 数据集成 的开源版本&#xff08;异构数据同步、离线数据同步工具 / 平台&#xff09;。主要抽象为 Reader 和 Writer 插件&#…

MaxCompute的Logview分析详解

文章目录 一、Logview简介1、概述2、标题与功能3、基础信息 二、作业详情1、Job Details2、Fuxi Sensor3、Result①当前作业运行成功&#xff0c;显示的为运行结果。②当前作业运行失败&#xff0c;显示的为失败原因。 4、SourceXML5、SQL Script6、History7、SubStatusHistory…