使用 lftp 将数据传输到 NCBI GEO 数据库的步骤如下:
一、准备工作
-
获取 GEO 上传凭据
在提交数据到 GEO 前,你需要通过邮件或 GEO 提交页面获得:- FTP 服务器地址(例如:
ftp-private.ncbi.nlm.nih.gov) - 用户名(通常是
geoftp或自定义的账户) - 密码(临时生成的密钥或指定密码)
- 上传目录(如
uploads/your_submission)
- FTP 服务器地址(例如:
-
安装
lftp
如果未安装,通过包管理器安装:# Debian/Ubuntu sudo apt install lftp # CentOS/RHEL sudo yum install lftp
二、通过 lftp 连接 GEO FTP
-
启动
lftp并登录
使用以下命令连接(替换<username>和<password>为你的凭据):lftp -u <username>,<password> ftp-private.ncbi.nlm.nih.gov # 示例: # lftp -u geo_upload,MyPassword123 ftp-private.ncbi.nlm.nih.gov安全提示:
- 避免在命令行中直接暴露密码,可以改用交互式输入:
lftp -u <username> ftp-private.ncbi.nlm.nih.gov # 随后会提示输入密码 - 或通过环境变量传递密码(更安全):
LFTP_PASSWORD="MyPassword123" lftp -u <username> ftp-private.ncbi.nlm.nih.gov
- 避免在命令行中直接暴露密码,可以改用交互式输入:
-
导航到上传目录
GEO 通常会指定一个子目录(如uploads/your_submission_id),需切换到此目录:cd uploads/your_submission_id
三、上传数据文件
-
上传单个文件
使用put命令:put /path/to/local/file.txt -
批量上传整个目录
使用mirror命令(推荐):mirror -R /path/to/local/dir/ # -R 表示上传(反向镜像)- 若需排除某些文件(如临时文件):
mirror -R --exclude "*.tmp" /path/to/local/dir/
- 若需排除某些文件(如临时文件):
-
启用并行传输加速
使用多线程提升大文件传输速度(需服务器支持):set ftp:sync-mode off # 关闭同步模式 set ftp:use-allo off # 禁用空间预分配(某些服务器可能不支持) mirror -R --parallel=5 /path/to/local/dir/ # 使用 5 个线程 -
断点续传
如果传输中断,重新连接后使用mirror -c继续:mirror -c -R /path/to/local/dir/
四、验证上传结果
-
检查远程文件列表
使用ls或cls查看远程目录内容:ls -l -
校验文件大小
本地和远程文件大小需一致:!du -h /path/to/local/file.txt # 本地文件大小 cls -l file.txt # 远程文件大小 -
退出
lftpexit
五、后续操作
-
通知 GEO 团队
上传完成后,通过邮件或 GEO 提交页面通知 NCBI,告知数据已就绪。 -
设置文件权限(如有必要)
GEO 可能需要开放文件读取权限:chmod a+r * # 在 lftp 中执行
六、常见问题处理
-
连接超时或失败
- 检查防火墙是否允许 FTP 流量(默认端口 21)。
- 确认是否需使用被动模式(
set ftp:passive-mode yes)。
-
认证失败
- 确认用户名/密码正确,注意区分大小写。
- 若使用临时密码,检查是否过期。
-
文件上传后不可见
- GEO 服务器可能需要时间同步,等待几分钟后刷新。
- 确保文件未正在被其他进程占用(如未关闭的上传连接)。
七、安全建议
- 使用加密连接:如果 GEO 支持 SFTP 或 FTPS,优先使用:
lftp -u <username> sftp://ftp-private.ncbi.nlm.nih.gov - 避免明文密码:通过
.netrc文件保存凭据(权限需设为600):# ~/.netrc 内容: machine ftp-private.ncbi.nlm.nih.gov login geo_upload password MyPassword123
示例完整流程
# 连接并上传数据
lftp -u geo_upload,MyPassword123 ftp-private.ncbi.nlm.nih.gov
cd uploads/geo_submission_123
mirror -R --parallel=5 /home/user/geo_data/
exit
# 验证本地和远程文件
diff -r /home/user/geo_data/ uploads/geo_submission_123/
通过以上步骤,你可以高效、安全地将数据传输到 NCBI GEO 数据库。

7096

被折叠的 条评论
为什么被折叠?



