📄 seqport_util.cpp
字号:
TSeqPos uLength) const; TSeqPos ReverseComplementNcbi2na(CSeq_data* in_seq, TSeqPos uBeginIdx, TSeqPos uLength) const; TSeqPos ReverseComplementNcbi4na(CSeq_data* in_seq, TSeqPos uBeginIdx, TSeqPos uLength) const; // Reverse in copy methods TSeqPos ReverseComplementIupacna(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength) const; TSeqPos ReverseComplementNcbi2na(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength) const; TSeqPos ReverseComplementNcbi4na(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength) const; // Append methods TSeqPos AppendIupacna(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2) const; TSeqPos AppendNcbi2na(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2) const; TSeqPos AppendNcbi4na(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2) const; TSeqPos AppendNcbieaa(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2) const; TSeqPos AppendNcbistdaa(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2) const; TSeqPos AppendIupacaa(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2) const; void x_GetSeqFromSeqData(const CSeq_data& data, const string** str, const vector<char>** vec) const; void x_GetSeqFromSeqData(CSeq_data& data, string** str, vector<char>** vec) const;};auto_ptr<CSeqportUtil_implementation> CSeqportUtil::sm_Implementation;DEFINE_STATIC_FAST_MUTEX(init_implementation_mutex); /* put back inside x_InitImplementation after Mac CodeWarrior 9.0 comes out */void CSeqportUtil::x_InitImplementation(void){ CFastMutexGuard LOCK(init_implementation_mutex); if ( !sm_Implementation.get() ) { sm_Implementation.reset(new CSeqportUtil_implementation()); }}/////////////////////////////////////////////////////////////////////////////// PUBLIC (static wrappers to CSeqportUtil_implementation public methods):://TSeqPos CSeqportUtil::Convert(const CSeq_data& in_seq, CSeq_data* out_seq, CSeq_data::E_Choice to_code, TSeqPos uBeginIdx, TSeqPos uLength, bool bAmbig, CRandom::TValue seed){ return x_GetImplementation().Convert (in_seq, out_seq, to_code, uBeginIdx, uLength, bAmbig, seed);}TSeqPos CSeqportUtil::Pack(CSeq_data* in_seq, TSeqPos uLength){ return x_GetImplementation().Pack (in_seq, uLength);}bool CSeqportUtil::FastValidate(const CSeq_data& in_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().FastValidate (in_seq, uBeginIdx, uLength);}void CSeqportUtil::Validate(const CSeq_data& in_seq, vector<TSeqPos>* badIdx, TSeqPos uBeginIdx, TSeqPos uLength){ x_GetImplementation().Validate (in_seq, badIdx, uBeginIdx, uLength);}TSeqPos CSeqportUtil::GetAmbigs(const CSeq_data& in_seq, CSeq_data* out_seq, vector<TSeqPos>* out_indices, CSeq_data::E_Choice to_code, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().GetAmbigs (in_seq, out_seq, out_indices, to_code, uBeginIdx, uLength);}TSeqPos CSeqportUtil::GetCopy(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().GetCopy (in_seq, out_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::Keep(CSeq_data* in_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().Keep (in_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::Append(CSeq_data* out_seq, const CSeq_data& in_seq1, TSeqPos uBeginIdx1, TSeqPos uLength1, const CSeq_data& in_seq2, TSeqPos uBeginIdx2, TSeqPos uLength2){ return x_GetImplementation().Append (out_seq, in_seq1, uBeginIdx1, uLength1, in_seq2, uBeginIdx2, uLength2);}TSeqPos CSeqportUtil::Complement(CSeq_data* in_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().Complement (in_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::Complement(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().Complement (in_seq, out_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::Reverse(CSeq_data* in_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().Reverse (in_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::Reverse(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().Reverse (in_seq, out_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::ReverseComplement(CSeq_data* in_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().ReverseComplement (in_seq, uBeginIdx, uLength);}TSeqPos CSeqportUtil::ReverseComplement(const CSeq_data& in_seq, CSeq_data* out_seq, TSeqPos uBeginIdx, TSeqPos uLength){ return x_GetImplementation().ReverseComplement (in_seq, out_seq, uBeginIdx, uLength);}const string& CSeqportUtil::GetIupacaa3(TIndex ncbistdaa){ return x_GetImplementation().GetIupacaa3(ncbistdaa);}bool CSeqportUtil::IsCodeAvailable(CSeq_data::E_Choice code_type){ return x_GetImplementation().IsCodeAvailable(code_type);}bool CSeqportUtil::IsCodeAvailable(ESeq_code_type code_type){ return x_GetImplementation().IsCodeAvailable(code_type);}CSeqportUtil::TPair CSeqportUtil::GetCodeIndexFromTo(CSeq_data::E_Choice code_type){ return x_GetImplementation().GetCodeIndexFromTo(code_type);}CSeqportUtil::TPair CSeqportUtil::GetCodeIndexFromTo(ESeq_code_type code_type){ return x_GetImplementation().GetCodeIndexFromTo(code_type);}const string& CSeqportUtil::GetCode(CSeq_data::E_Choice code_type, TIndex idx) { return x_GetImplementation().GetCodeOrName(code_type, idx, true);}const string& CSeqportUtil::GetCode(ESeq_code_type code_type, TIndex idx) { return x_GetImplementation().GetCodeOrName(code_type, idx, true);}const string& CSeqportUtil::GetName(CSeq_data::E_Choice code_type, TIndex idx) { return x_GetImplementation().GetCodeOrName(code_type, idx, false);}const string& CSeqportUtil::GetName(ESeq_code_type code_type, TIndex idx) { return x_GetImplementation().GetCodeOrName(code_type, idx, false);}CSeqportUtil::TIndex CSeqportUtil::GetIndex(CSeq_data::E_Choice code_type, const string& code){ return x_GetImplementation().GetIndex(code_type, code);}CSeqportUtil::TIndex CSeqportUtil::GetIndex(ESeq_code_type code_type, const string& code){ return x_GetImplementation().GetIndex(code_type, code);}CSeqportUtil::TIndex CSeqportUtil::GetIndexComplement(CSeq_data::E_Choice code_type, TIndex idx){ return x_GetImplementation().GetIndexComplement(code_type, idx);}CSeqportUtil::TIndex CSeqportUtil::GetIndexComplement(ESeq_code_type code_type, TIndex idx){ return x_GetImplementation().GetIndexComplement(code_type, idx);}CSeqportUtil::TIndex CSeqportUtil::GetMapToIndex(CSeq_data::E_Choice from_type, CSeq_data::E_Choice to_type, TIndex from_idx){ return x_GetImplementation().GetMapToIndex(from_type, to_type, from_idx);}CSeqportUtil::TIndex CSeqportUtil::GetMapToIndex(ESeq_code_type from_type, ESeq_code_type to_type, TIndex from_idx){ return x_GetImplementation().GetMapToIndex(from_type, to_type, from_idx);}CSeqportUtil_implementation::CSeqportUtil_implementation(){ // Initialize m_SeqCodeSet m_SeqCodeSet = Init(); // Initialize code tables m_Iupacna = InitCodes(eSeq_code_type_iupacna); m_Ncbieaa = InitCodes(eSeq_code_type_ncbieaa); m_Ncbistdaa = InitCodes(eSeq_code_type_ncbistdaa); m_Iupacaa = InitCodes(eSeq_code_type_iupacaa); // Initialize na complement tables m_Iupacna_complement = InitIupacnaComplement(); m_Ncbi2naComplement = InitNcbi2naComplement(); m_Ncbi4naComplement = InitNcbi4naComplement(); // Initialize na reverse tables m_Ncbi2naRev = InitNcbi2naRev();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -