实验记录 | 6/29

使用scSplitter拆分10X 的数据的时候,出现了问题。

EXITING because of FATAL ERROR in reads input: quality string length is not equal to sequence length
@ST-K00126:608:HWNLJBBXX:6:2115:23480:3459
@ST-K00126:608:HWNLJBBXX:6:1212:4005:42513 2:N:0:GATCTCAG
SOLUTION: fix your fastq file
@ST-K00126:608:HWNLJBBXX:7:2115:21592:44816
@ST-K00126:608:HWNLJBBXX:7:1215:3478:11460 2:N:0:GATCTCAG

这个并不是这个Python程序自己报的错,而是STAR的错误。猜想主要的原因可能是:fastq文件出了错。
我们先看一下其比对所使用的的fastq文件。

STAR --runThreadN 20 --outSAMmultNmax 1 --outSAMunmapped Within --outSAMorder PairedKeepInputOrder --genomeDir /home/xxzhang/workplace/QBRC/geneome/hg38/STAR --readFilesIn 1_R5_chunk0000,1_R5_chunk0001,1_R5_chunk0002,1_R5_chunk0003 1_R2_chunk0000,1_R2_chunk0001,1_R2_chunk0002,1_R2_chunk0003     --outFileNamePrefix
/home/xxzhang/workplace/QBRC/data/10X/pbmc2_v1_cells/sams/lane_1

所以,通过上述的代码,我们可以看到,我们要处理的文件是,1_R5_chunk0000这些。
我们现在的问题,并不是说这个问题是否存在,而是如何解决这个问题。相信一句话,欲速则不达。还是应该要将心绪平稳下来。

这个错误的意思就是说,尝试着修复我们的文件。但是,如何修复呢?这就让人觉得很奇怪。
我继续看一下,源代码是如何将fastq拆分的?


陷入了瓶颈。现在开始着手处理,关于job_somatic.pl的批处理的代码。
作者在文章中是这样解释的:

perl job_somatic.pl design.txt example_file thread build index java17 disambiguate_pipeline

关于,design.txt需要包括这几行参数:
(1) 正常样本(双端1 或 NA)正常样本2(双端2 或 NA) 肿瘤样本(双端1)肿瘤样本(双端2) 输出文件夹 human

~/seq/1799-01N.R1.fastq.gz ~/seq/1799-01N.R2.fastq.gz ~/seq/1799-01T.R1.fastq.gz ~/seq/1799-01T.R2.fastq.gz ~/out/1799-01/ human
~/seq/1799-02N.R1.fastq.gz ~/seq/1799-02N.R2.fastq.gz ~/seq/1799-02T.R1.fastq.gz ~/seq/1799-02T.R2.fastq.gz ~/out/1799-02/ human
~/seq/1799-03N.R1.fastq.gz ~/seq/1799-03N.R2.fastq.gz ~/seq/1799-03T.R1.fastq.gz ~/seq/1799-03T.R2.fastq.gz ~/out/1799-03/ human

这个文件根据我们自己的实际情况修改即可。

还有一个文件就是example_file。这个文件当初我也是向作者要到的。
具体的内容如下:

#!/bin/bash
#ATCH --job-name=c
#BATCH --partition=256GB
#SBATCH --nodes=1
#SBATCH --time=60-00:00:00
#SBATCH --output=./sbatch_output_%j
#SBATCH --error=./sbatch_error_%j
source ~/.bash_profile
##########JOBSTART###########################
perl job_somatic.pl /project/job_somatic.txt example.sh 32 hg38 /project/data/hg38/hs38d1.fa /cm/shared/apps/java/oracle/jdk1.7.0_51/bin/java 3

关于,这个example.sh的内容也是非常的有意思,虽然并不是特别的清楚文件之间的相互的嵌套关系。
其实我觉得关于这个example.sh我觉得可以只有一行指令,

##########JOBSTART###########################

剩下的内容,都是程序之后写入的。之所以会这样说,是因为在job_somatic.pl的代码文件中,是这样说的:

# write header
  open(HEADER,$example) or die "Cannot find the example shell script!\n";
  while ($line1=<HEADER>)
  {
    if ($line1=~/JOBSTART/) {last;}
    print SCRIPT $line1;
  }
  close(HEADER);
}

以上是我的推断。接下来,我们可以使用mtDNA的那个文件进行测试。
我可以具体再看一下,这个文件中,作者是如何提交参数的?或者说提交的参数,分别都进行了怎样的处理。
总体而言的示例代码:

perl /home2/twang6/software/cancer/somatic/job_somatic.pl \
design.txt \
/project/bioinformatics/Xiao_lab/shared/neoantigen/code/somatic/example/example.sh \
32 hg38 \
/project/shared/xiao_wang/data/hg38/hs38d1.fa \
cm/shared/apps/java/oracle/jdk1.7.0_51/bin/java \
0 2
/project/shared/xiao_wang/software/disambiguate_pipeline

修改为我的示例代码:

perl job_somatic.pl ./somatic_script/design.txt ./somatic_script/example.sh  32 hg19 /home/xxzhang/workplace/QBRC/geneome/hg19/hg19.fa /home/xxzhang/workplace/software/java/jdk1.7.0_80/bin/java 1 3 /home/xxzhang/workplace/QBRC/disambiguate_pipeline

design.txt的主要内容(注意用tab键分隔):

NA NA /home/xxzhang/workplace/QBRC/example/example_dataset/sequencing/SRR7246238_1.fastq.gz  /home/xxzhang/workplace/QBRC/example/example_dataset/sequencing/SRR7246238_2.fastq.gz  ./output_job/	human
NA NA /home/xxzhang/workplace/QBRC/example/example_dataset/sequencing/SRR7246238_1.fastq.gz  /home/xxzhang/workplace/QBRC/example/example_dataset/sequencing/SRR7246238_2.fastq.gz  ./output_job/	human
NA NA /home/xxzhang/workplace/QBRC/example/example_dataset/sequencing/SRR7246238_1.fastq.gz  /home/xxzhang/workplace/QBRC/example/example_dataset/sequencing/SRR7246238_2.fastq.gz  ./output_job/	human

我觉得example.sh这个文件的可能结果是:

#!/bin/bash
#ATCH --job-name=c
#BATCH --partition=256GB
#SBATCH --nodes=1
#SBATCH --time=60-00:00:00
#SBATCH --output=./sbatch_output_%j
#SBATCH --error=./sbatch_error_%j
source ~/.bash_profile
##########JOBSTART###########################

按照如上设定,编写文件运行job_somatic.pl这个文件。

第一次尝试:

 perl job_somatic.pl ./somatic_script/design.txt ./somatic_script/job_somatic.sh  32 hg19 /home/xxzhang/workplace/QBRC/geneome/hg19/hg19.fa /home/xxzhang/workplace/software/java/jdk1.7.0_80/bin/java 1 3 /home/xxzhang/workplace/QBRC/disambiguate_pipeline

Can’t exec “sbatch”: No such file or directory at job_somatic.pl line 54, line 3.

将第54行中的sbatch 修改为了bash之后,出现了新的报错:

batch accepts no parameters

尝试在example.sh中写一些内容。

perl job_somatic.pl example.txt job_somatic.sh 32 hg19 /home/xxzhang/workplace/QBRC/geneome/hg19/hg19.fa /home/xxzhang/workplace/software/java/jdk1.7.0_80/bin/java 3

傻傻的尝试,没有找对方法。后来经过多方的验证,我发现原来sbatch是slurm作业调度系统的作业提交的指令。而我们的服务器的作业调度系统是PBS,我应该根据我们的平台进行调整(所以跟着优秀的作者,还是能够学到很多有意思的东西的,学到新的东西真的很快乐)。

#!/bin/bash
# file: job_SNV.pbs
### set job name
#PBS -N example-job
### set output files
#PBS -o example.stdout
#PBS -e example.stderr
### set queue name
#PBS -q example-queue
### set number of nodes
#PBS -l nodes=2:ppn=4
# enter job's working directory
cd $PBS_O_WORKDIR
# get the number of processors
NP=`cat $PBS_NODEFILE | wc -l`
# run an example mpi4py job
mpirun -np $NP -machinefile $PBS_NODEFILE python example_mpi4py.py

保存文件名为job_SNV.pbs
而提交该文件的指令为,

qsub job_SNV.pbs

很粗糙的将job_somatic.pl中的sbatch修改为qsub之后,出错就改变了。说明我们的操作是有效的。

Use of uninitialized value $n in modulus (%) at job_somatic.pl line 30, line 1.
Illegal modulus zero at job_somatic.pl line 30, line 1.

剩下的就是,继续精细化的修改我们的job_somatic.sh指令。
另外一点,可能比较迷惑的是,为什么perl无法创建文件,somatic_calling_1.sh类如这样的文件。

下次写实验记录的时候,在开头的时候要清楚的总结下来,我们的这篇文章主要做了哪些方面的内容,这样的话,下次查找的时候比较容易查找。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android基础实验报告 姓 名 班 级 学 号 指导教师 2019 年 6 月 10 日 实验一 Activity基础 实验目的: 1. 掌握Activity基础内容。 2. 掌握Activity生命周期。 3. 掌握Activity之间的跳转及数据传递。 实验内容: 内容1:Activity的存活(见参考文档)。 内容2:新建联系人(根据参考文档)。 内容3:装备选择(根据参考文档)。 注:内容2和内容3任选一个完成。 程序代码及运行结果: 内容一:Activity的存活(见参考文档) Activity1代码: Activity2代码: Layout1代码: Layout2代码: 结果截图: 内容二:装备选择(根据参考文档)。 MainActivity代码: ShopActivity代码: ItemInfo代码: Mainxml代码: Shopxml代码: 结果截图: 实验二 五大布局与两大视图 实验目的: 1. 掌握线性布局、相对布局、帧布局、绝对布局、表格布局五大布局的布局管理。 2. 掌握列表视图、网格视图两大视图显示方式。 3. 了解适配器在列表视图和网格视图中的应用。 实验内容: 内容1:自己设计并创建一个计算器布局。 内容2:联系人(见参考文档listview实验)。 程序代码及运行结果: 内容1:程序代码: MainActivity代码: Mainxml代码: 结果截图: 内容二:实验代码: MainActivity代码: Person代码: PersonDao2代码: PersonDBPprivider代码: PersonSQLiteOpenHelper代码: list_itemXML代码: 结果截图: 实验三 常见的UI控件 实验目的: 1. 掌握Android常见UI控件的特征、属性; 2. 掌握Android常见UI控件的事件处理机制; 3. 掌握如何用Android常见的UI可视化数据; 4. 学会使用基本的UI控件编写程序。 实验内容: 内容1:参考教材P92的Spinner使用示例与P96的RatingBar使用示例完成这两个控件及 监听事件。 程序代码及运行结果: 实验代码: Activity代码: Layout代码: 结果截图: 实验四 数据存储与SQLite数据库 实验目的: 1. 掌握数据存储的基本方法。 2. 掌握xml序列化与解析。 3. 掌握SQLite数据库的基本操作。 4. 学会使用sqlite3工具操作数据库。 5. 学会使用ListView空间展示数据。 实验内容: 1 参考文档"QQ登陆"。 2 P173 例9-6。 程序代码及运行结果: 内容一:实验代码: MainActivitty代码: Utils代码: Layout代码: 结果截图: 内容二:实验代码: Activity代码: Layout代码: 结果截图: 实验五 四大组件-ContentProvider 实验目的: 1. 了解ContentProvider和ContentResolver。 2. 学会使用ContentProvider和ContentResolver来进行应用程序之间数据的访问。 实验内容: 参考文档"记事本升级版"。 程序代码及运行结果: 代码截图: MainActivity代码: Myprovider代码: MySQLiteOpenHelper代码: Note代码: Uris代码: Activity_mainxml代码: Note.xml代码: list_item代码: AndroidManifest.xml: 结果截图: 实验六 四大组件-Broadcast 实验目的: 1. 学会自定义广播。 2. 掌握常用广播接收者的使用。 实验内容: 1.参考文档"电池及网络状态"。 2.参考文档"通话记录" 程序代码及运行结果:(二选一写入实验报告) 电池及网络状态代码截图: MainActivity代码: Layout代码: AndroidManifest.xml: 结果截图: 实验七 四大组件-service 实验目的: 1. 掌握服务的生命周期及启动方式。 2. 掌握服务与Activity进行通信。 3. 学会调用其他应用的服务。 实验内容: 1.参考文档"地震监测"与参考文档"音乐播放器",两题选一题写入实验报告。 程序代码及运行结果: 地震监测实验代码: MainActivity代码: Earthquakeservice代码: Main.xml代码: AndroidManifest.xml: 结果截图: ----------------------- Android基础课内实验报告全文共29页,当前为第1页。 Android基础课内实验报告全文共29页,当前为第2页。 Android基
5 / 95 实验室程序文件 程 序 文 件 HHRBDC/CX01-01~38—2010 ( 第 1 版 ) 2010年7月1日发布      2010年7月20日实施 实验室程序文件全文共95页,当前为第1页。 实验室程序文件全文共95页,当前为第1页。 程 序 文 件 文件编号:0.1 第 1 页 共 1 页 标 题: 批准页 第 1 版 第0次修改 发布日期:2010年07月01日 程 序 文 件 HHRBDC/CX01-01~38—2010 版 号:第壹版 生效日期:2010年7月20日 编 制 人:KKK 审 核 人: 批 准 人: 批准日期: 2010年7月10日 受控状态: 发 放 号: 持 有 人: 实验室程序文件全文共95页,当前为第2页。 实验室程序文件全文共95页,当前为第2页。 程 序 文 件 文件编号:0.2 第 1 页 共 1 页 标 题: 修订页 第 1 版 第0次修改 发布日期:2010年07月01日 修 订 表 修订 序号 修订程序 文件编号 对应条号 修 订 内 容 批准人 批准日期 实验室程序文件全文共95页,当前为第3页。 实验室程序文件全文共95页,当前为第3页。 程 序 文 件 文件编号:0.3 第 1 页 共 2 页 标 题: 目录页 第 1 版 第0次修改 发布日期:2010年07月01日 实验室程序文件全文共95页,当前为第4页。程序文件目录 实验室程序文件全文共95页,当前为第4页。 序号 程序文件编号 文件名称 页 码 1 HHRBDC/CX01-01-2010 保护客户的机密信息和所有权程序 第 1 页 共 1 页 2 HHRBDC/CX01-02-2010 保证实验室诚信度程序 3 HHRBDC/CX01-03-2010 质量手册的管理 4 HHRBDC/CX01-04-2010 文件控制程序 5 HHRBDC/CX01-05-2010 网络系统、检测用计算机及计算机软件管理程序 6 HHRBDC/CX01-06-2010 要求、标书和合同评审程序 7 HHRBDC/CX01-07-2010 分包管理程序 8 HHRBDC/CX01-08-2010 服务和供应品管理程序 9 HHRBDC/CX01-09-2010 投诉处理程序 10 HHRBDC/CX01-10-2010 不符合的检测工作控制程序 11 HHRBDC/CX01-11-2010 纠正措施程序 12 HHRBDC/CX01-12-2010 预防措施程序 13 HHRBDC/CX01-13-2010 记录控制程序 14 HHRBDC/CX01-14-2010 内部审核程序 15 HHRBDC/CX01-15-2010 管理评审程序 16 HHRBDC/CX01-16-2010 质量监督工作程序 17 HHRBDC/CX01-17-2010 人员培训考核和技术档案管理程序 18 HHRBDC/CX01-18-2010 检测环境控制程序 19 HHRBDC/CX01-19-2010 实验室管理程序 20 HHRBDC/CX01-20-2010 检测方法及方法确认程序 程 序 文 件 文件编号:0.3 第 2 页 共 2 页 标 题: 目录页 第 1 版 第0次修改 发布日期:2010年07月01日 序号 程序文件编号 文件名称 页 码 21 HHRBDC/CX01-21-2010 新项目评审程序 22 HHRBDC/CX01-22-2010 测量不确定度评定程序 23 HHRBDC/CX01-23-2010 仪器设备管理程序 24 HHRBDC/CX01-24-2010 期间核查程序 25 HHRBDC/CX01-25-2010 量值溯源程序 26 HHRBDC/CX01-26-2010 标准物质管理程序 27 HHRBDC/CX01-27-2010 采样程序 28 HHRBDC/CX01-28-2010 样品管理程序 29 HHRBDC/CX01-29-2010 检测工作程序 30 HHRBDC/CX01-30-2010 现场检测管理程序 31 HHRBDC/CX01-31-2006 应急检测工作程序 32 HHRBDC/CX01-32-2010 检测过程中发生异常情况处理程序 33 HHRBDC/CX01-33-2010 事故处理程序 34 HHRBDC/CX01-34-2010 质量控制程序 35 HHRBDC/CX01-35-2010 例外允许偏离程序 36 HHRBDC/CX01-36-2010 实验室间比对、能力验证程序 37 HHRBDC/CX01-37-2010 检测报告管理程序 38 HHRBDC/CX01-38-2010 档案管理程序 实验室程序文件全文共95页,当前为第5页。 实验室程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值